Qt apps does not work after fresh install

Sorry for the late reply, I could only test today and nothing works.

Not even from the garuda-assistant.

 ╭─[email protected] in ~ as 🧙 took 2m24s
 ╰─λ sudo -E btrfs-assistant
Failed to create wl_display (No such file or directory)
qt.qpa.plugin: Could not load the Qt platform plugin "wayland" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

/usr/bin/btrfs-assistant: Zeile 22:  9687 Abgebrochen             (Speicherabzug geschrieben) btrfs-assistant-bin ${params}

 ╭─[email protected] in ~ as 🧙 took 72ms
[⚡] × sudo btrfs-assistant
Authorization required, but no authorization protocol specified
qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

/usr/bin/btrfs-assistant: Zeile 22:  9794 Abgebrochen             (Speicherabzug geschrieben) btrfs-assistant-bin ${params}

Version

btrfs-assistant-git-1.3.r2.gd3ed9ba-1
 ╭─[email protected] in ~ as 🧙 took 64ms
[⚡] × sudo btrfs-assistant --xdg-desktop=$XDG_CURRENT_DESKTOP
Authorization required, but no authorization protocol specified
qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

/usr/bin/btrfs-assistant: Zeile 22: 10266 Abgebrochen             (Speicherabzug geschrieben) btrfs-assistant-bin ${params}
 ╭─[email protected] in ~ as 🧙 took 58ms
[⚡] × su
Passwort: 
[[email protected] sgs]# btrfs-assistant --xdg-desktop=$XDG_CURRENT_DESKTOP
Failed to create wl_display (No such file or directory)
qt.qpa.plugin: Could not load the Qt platform plugin "wayland" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

/usr/bin/btrfs-assistant: Zeile 22:  3880 Abgebrochen

Maybe someone know which platform plugins are needed or help.

A couple weeks ago I was testing the git version of Btrfs Assistant (here) on Sway and I had narrowed it down to these environment variables:

export XDG_RUNTIME_DIR=/run/user/1000
export QT_QPA_PLATFORMTHEME=qt5ct
export QT_QPA_PLATFORM=wayland
export WAYLAND_DISPLAY=wayland-1

By adding these lines to /usr/bin/btrfs-assistant before the call to btrfs-assistant-bin it would launch from the command line with sudo.

I noticed it will run without export QT_QPA_PLATFORMTHEME=qt5ct , but it will not express the theming (it runs as a plain grey windowed app).

I haven't tested it since then, so I'm not sure if this method holds up with the changes that have been added to Btrfs Assistant in the past couple weeks.

2 Likes
 ╭─[email protected] in ~ as 🧙 
 ╰─λ sudo btrfs-assistant
QStandardPaths: runtime directory '/run/user/1000' is not owned by UID 0, but a directory permissions 0700 owned by UID 1000 GID 1000
("btrfs", "", "", "", "", "", "", "/")
("btrfs", "", "", "", "", "", "", "/home")
("btrfs", "", "", "", "", "", "", "/root")
("btrfs", "", "", "", "", "", "", "/srv")
("btrfs", "", "", "", "", "", "", "/var/cache")
("btrfs", "", "", "", "", "", "", "/var/log")
("btrfs", "", "", "", "", "", "", "/var/tmp")
("btrfs", "", "", "", "", "", "", "/tmp/Btrfs", "Assistant-ANGAiW")
kf.windowsystem: Could not find any platform plugin

export XDG_CURRENT_DESKTOP
export XDG_RUNTIME_DIR=$(mktemp -d)
export XDG_RUNTIME_DIR=/run/user/1000
export QT_QPA_PLATFORMTHEME=qt5ct
export QT_QPA_PLATFORM=wayland
export WAYLAND_DISPLAY=wayland-1
btrfs-assistant-bin ${params}

Maybe I must change somewhere the transparency value?
I do not like it with my old eyes.

:joy:

Comment out this line: export QT_QPA_PLATFORMTHEME=qt5ct and it will load up without any theming applied.

I'm not sure how to adjust the transparency--is it the same transparency settings as Alacritty perhaps?

2 Likes

This brings out the glistening white that burns my eyes.
No transparency, opacity settings in GTK3, qt5settingsmanager or in .config/sway/config.d/ files.

But I only play with Sway and KDE on my notebook, they are not my main desktop.
It always takes me a little longer to find the right one of the millions of possible settings in KDE and all the QT stuff :smiley:

I'm going back to painting now :wink:

5 Likes

So, I might have a bit more insight here. Granted, most of what I'm about to say was figured out in the course of troubleshooting Qt apps on GNOME Wayland, but it might apply.

As far as I can tell, Qt apps seem to read from the XDG_SESSION_TYPE variable to determine backend, which should be sourced automatically, I think by either pam or your display manager, and is ideally never set manually. If the right platform plugins are installed for Qt (which they should be out of the box), the necessary one can theoretically be determined automatically without setting QT_QPA_PLATFORM. However, you seem to have more platform plugins than I do, so trying out the other Wayland ones it lists - wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx could be a thing to do?

As for QT_QPA_PLATFORMTHEME, if you have gtk3 on your system and the Qt plugin is there, you could try setting it to gtk3 to see if it looks right/works.

Those WAYLAND and XDG vars should also get sourced automatically, so maybe something is getting set erroneously/globally that's making it play weird. Looking into files where these are defined, things like /etc/environment and your shell configs could be worth checking, and maybe those for the display manager you're using too.

Some of the Garuda apps expect to be passed // find your user runtime dir and user $HOME even though they need elevated privileges, and this seems to be getting dealt with sometimes by configs present in the apps individual .desktop files. There should be some on your system, not sure where all they're stashed but I think the Garuda ones are in /usr/share/applications. Even if you don't have icons in the traditional sense, these entries should be there and provide additional parameters for the apps to run sometimes. Not sure if your menu is using these entries to run them or just trying to run the app bins directly, but if throwing a bunch of these vars just to the app itself is working that could be part of it.

No idea if this helps at all, but maybe it opens up other avenues to look into? :person_shrugging: Painting is definitely going to be better for your mental health than bashing against this issue, though :rofl:

5 Likes

Not reproducible for me? :thinking:

Works with -E over here. And garuda-downloader launches in the live-iso. That's sent by sudo -E garuda-downloader so it works on the iso. :thinking: :thinking:

1 Like

btrfs-assistant-git-1.3.r33.g3072fcf-1

IDK know :slight_smile:

2 Likes

On Sway, you should btrfs-assistant-bin if you use sudo -E.

btrfs-assistant is a script which sets env variables and then calls btrfs-assistant-bin. When using sudo -E, you don't want anything else overwriting the env.

sudo -E btrfs-assistant-bin
3 Likes

BTW...my response wasn't intended to have you change your post. I was just pointing out what sudo -E does and what the general risks associated with it are. It is unclear to me if there is any downside to using it with Btrfs Assistant specifically. Btrfs Assistant doesn't write any files/config into a user's home directory so it may be OK.

3 Likes

Well technically my post was wrong or at least subpar because of the fact it could interpreted wrongly. Now at least I'm not accidentally implying the wrong thing!

1 Like
  • 100% reproducible for me on Sway.
3 Likes

When you installed did the installer pop-up 'pop-up' by itself?

Interesting I get the same thing, where I can't go from Garuada Assistant and click the BTRFS Assistant. I have been on Garuda for almost six months now and I haven't tried configuring any of the dot files.

I get this error in the terminal when I run the garuda assistant and click the BTRFS Assistant button:

 ╰─λ garuda-assistant
QMetaObject::connectSlotsByName: No matching signal for on_checkBox_clicked(QWidget*)
kf.windowsystem: Could not find any platform plugin
Failed to create wl_display (No such file or directory)
qt.qpa.plugin: Could not load the Qt platform plugin "wayland" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

/usr/bin/btrfs-assistant: line 22: 83312 Aborted                 (core dumped) btrfs-assistant-bin ${params}

Are you also using Sway?

Yes I've only been using the garuda sway version.

If I follow this suggestion of the right way to run btrfs-assistant-bin, it works fine. So it has to be the way garuda assistant tries to call btrfs-assistant that is failing.

The problem is that sway requires special handling to run Qt applications as root and Btrfs Assistant doesn't doing anything special for sway.

There is an open issue for it but nobody has proposed a viable solution yet.

2 Likes

Similarly in KDE, it works fine but different themes
How to fix that ?

Editz : I think login as root is better than command line [starting a new session as root]

I wonder why I can't create users from plasma system setting this idea doesn't flash to me :sweat_smile:

Every time I have used

$ systemsettings kcm_user

Insted of using

$ sudo systemsettings kcm_users

Thanks @dalto for assisting

This is a totally different issue.

That is simply because it is running as root and so it is using the root theme. You just need to set the root theme to match your user theme.

One easy way to do that is using konsave.

Personally, I think logging into your DE as root is a terrible idea.

7 Likes