Preface
Hello, first post here. I will try to be as thorough about this issue as I can, but I have tried and failed in troubleshooting it for a while now, so I am probably missing critical details. I’m going to explain some specific information about my system below that may or may not be relevant.
Summary
I am running a system with dual GPUs, and as such I have quirky configurations that are probably not commonly seen. My /etc/environment
contains:
# Set default GPU. card0=RX580 card1=RX560. Default is 0. X:Y enables render on X with passthrough to Y.
WLR_DRM_DEVICES=/dev/dri/card1:/dev/dri/card0
This tells the system to render everything on “card0” (an RX560) and pass it through to “card1” (an RX580) unless otherwise specified. In order to specify, I have a line in ~/.bash_profile
:
export PATH="$HOME/.path:$PATH"
The .path folder contains files with the name of the library they are intercepting, such as blender
:
#!/bin/sh
DRI_PRIME=pci-0000_02_00_1 /usr/bin/blender $@
NB: I could use DRI_PRIME=/dev/dri/card1
here, but for some reason the PCI address seems to work in places where that won’t, so I default to it.
The reason I bothered to explain all that is because sometimes when I run programs on card0 and fullscreen them (my monitors are connected to card1), they don’t render properly (the screen just looks like colorful scanlines, it’s completely broken). I don’t know if this has to do with Wayland, Wayland-X11, QT, etc. Some applications run fullscreen no issue (such as Firefox, which I can see on the about:support page is being rendered on card0, and of course the SwayWM environment itself, which I assume is under some kind of fullscreen directive). Also of note, some programs like Blender don’t operate properly when run on card0; it’s hard to explain exactly what goes on, but essentially the cursor does not track properly, and it feels as if what is being rendered is a frame behind what is supposed to be there. The point is, I have no idea whatsoever if this setup factors into the issue I’m having, but I may as well explain it just in case.
The Issue
With that out of the way, here’s my issue. Two programs - steam
(not steam-native-runtime), and vktablet
both malfunction when launched from wofi
. In both cases, however, these programs function properly when launched from xfce4-terminal
. Although the symptoms are similar, the root cause may or may not be the same, but since they fall under the same general description of this topic, I figure I should explain both of them.
steam
For steam
, it will in fact launch, but none of its windows will display. It shows up in the system tray, but since it fails to open any of its graphical elements, it just fails to do anything except exit properly.
On launch, journalctl displays the error:
Summary
Aug 23 19:42:19 ezDesktop kernel: Composite Threa[82184]: segfault at 0 ip 0000000000000000 sp 00007f2ed9aeb7c8 error 14 in steamwebhelper[400000+10000] likely on CPU 3 (core 3, socket 0)
Aug 23 19:42:19 ezDesktop kernel: Code: Unable to access opcode bytes at 0xffffffffffffffd6.
Aug 23 19:42:19 ezDesktop systemd[1]: Started Process Core Dump (PID 82239/UID 0).
Aug 23 19:42:20 ezDesktop pressure-vessel-adverb[82308]: E: Failed to execute child process "/games/SteamLibrary/steamapps/common/SteamLinuxRuntime_sniper/pressure-vessel/bin/steam-runtime-launcher-interface-0" (No such file or directory)
Aug 23 19:42:20 ezDesktop systemd-coredump[82240]: [🡕] Process 81938 (steamwebhelper) of user 1000 dumped core.
Stack trace of thread 82184:
#0 0x0000000000000000 n/a (n/a + 0x0)
ELF object binary architecture: AMD x86-64
Aug 23 19:42:20 ezDesktop systemd[1]: systemd-coredump@53-82239-0.service: Deactivated successfully.
NB: The file it is reporting a failure to find, does in fact exist:
Summary
ezeepeezee ~$: find /games/SteamLibrary/steamapps/common/SteamLinuxRuntime_sniper/pressure-vessel/bin/ -iname "*interface*"
/games/SteamLibrary/steamapps/common/SteamLinuxRuntime_sniper/pressure-vessel/bin/steam-runtime-launcher-interface-0
After which it intermittently, but endlessly, displays the error:
Summary
Aug 23 19:43:20 ezDesktop kernel: Composite Threa[84791]: segfault at 0 ip 0000000000000000 sp 00007f28693f67c8 error 14 in steamwebhelper[400000+10000] likely on CPU 3 (core 3, socket 0)
Aug 23 19:43:20 ezDesktop kernel: Code: Unable to access opcode bytes at 0xffffffffffffffd6.
Aug 23 19:43:20 ezDesktop systemd[1]: Started Process Core Dump (PID 84854/UID 0).
Aug 23 19:43:21 ezDesktop systemd-coredump[84855]: [🡕] Process 84323 (steamwebhelper) of user 1000 dumped core.
Stack trace of thread 84791:
#0 0x0000000000000000 n/a (n/a + 0x0)
ELF object binary architecture: AMD x86-64
Aug 23 19:43:21 ezDesktop systemd[1]: systemd-coredump@59-84854-0.service: Deactivated successfully.
This started happening after Steam’s latest UI revamp, prior to this I had no issues. I have tried using steam-native-runtime
, I have removed the desktop entry from /usr/share/applications/steam.desktop
, and generally speaking did my best to remove all configuration files from my system before installation, to no avail.
When launching steam
from xfce4-terminal
, journalctl displays the error:
Summary
Aug 23 20:06:06 ezDesktop pressure-vessel-adverb[89477]: E: Failed to execute child process "/games/SteamLibrary/steamapps/common/SteamLinuxRuntime_sniper/pressure-vessel/bin/steam-runtime-launcher-interface-0" (No such file or directory)
Aug 23 20:06:08 ezDesktop pressure-vessel-adverb[89698]: E: Failed to execute child process "/games/SteamLibrary/steamapps/common/SteamLinuxRuntime_sniper/pressure-vessel/bin/steam-runtime-launcher-interface-0" (No such file or directory)
But continues to function normally. There are some malfunctions when doing something like fullscreening a page opened with a middle-mouse click, but that can just be avoided and is probably related to the dual-GPU setup explained above. Here is the full terminal output following launch:
Summary
steam.sh[88931]: Running Steam on endeavouros rolling 64-bit
steam.sh[88931]: STEAM_RUNTIME is enabled automatically
setup.sh[89005]: Steam runtime environment up-to-date!
steam.sh[88931]: Steam client's requirements are satisfied
[2023-08-23 20:06:02] Startup - updater built Jul 28 2023 18:44:09
[2023-08-23 20:06:02] Startup - Steam Client launched with: '/home/ezeepeezee/.local/share/Steam/ubuntu12_32/steam'
08/23 20:06:02 Init: Installing breakpad exception handler for appid(steam)/version(1690583737)/tid(89089)
[2023-08-23 20:06:02] Loading cached metrics from disk (/home/ezeepeezee/.local/share/Steam/package/steam_client_metrics.bin)
[2023-08-23 20:06:02] Using the following download hosts for Public, Realm steamglobal
[2023-08-23 20:06:02] 1. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 1000, source = 'update_hosts_cached.vdf'
[2023-08-23 20:06:02] 2. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'update_hosts_cached.vdf'
[2023-08-23 20:06:02] 3. https://cdn.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2023-08-23 20:06:02] Verifying installation...
[2023-08-23 20:06:02] Verification complete
XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xe94e0db0
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xe94df500
GetWin32Stats: display was not open yet, good
GetWin32Stats: display was not open yet, good
steamwebhelper.sh[89131]: Runtime for steamwebhelper: defaulting to /home/ezeepeezee/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[89131]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
CAppInfoCacheReadFromDiskThread took 28 milliseconds to initialize
/usr/share/themes/Arc-Dark/gtk-2.0/main.rc:1090: error: unexpected identifier 'direction', expected character '}'
/usr/share/themes/Arc-Dark/gtk-2.0/apps.rc:91: error: unexpected identifier 'direction', expected character '}'
BRefreshApplicationsInLibrary 1: 0ms
BuildCompleteAppOverviewChange: 217 apps
RegisterForAppOverview 1: 10ms
RegisterForAppOverview 2: 10ms
vktablet
VKTablet is a driver suite for a Veikk tablet. It has a QT5-based GUI. Contrary to above, vktablet
flat out fails to initialize when launched from wofi
.
On launch, journalctl displays the error:
Summary
Aug 23 20:02:28 ezDesktop systemd[1]: Started Process Core Dump (PID 88831/UID 0).
Aug 23 20:02:28 ezDesktop systemd-coredump[88835]: [🡕] Process 88829 (vktablet) of user 1000 dumped core.
Stack trace of thread 88829:
#0 0x00007f312a7c683c n/a (libc.so.6 + 0x8e83c)
#1 0x00007f312a776668 raise (libc.so.6 + 0x3e668)
#2 0x00007f312a75e4b8 abort (libc.so.6 + 0x264b8)
#3 0x00007f312ac93bbe _ZNK14QMessageLogger5fatalEPKcz (libQt5Core.so.5 + 0x93bbe)
#4 0x00007f312c128dbd _ZN22QGuiApplicationPrivate25createPlatformIntegrationEv (libQt5Gui.so.5 + 0x128dbd)
#5 0x00007f312c128f4d _ZN22QGuiApplicationPrivate21createEventDispatcherEv (libQt5Gui.so.5 + 0x128f4d)
#6 0x00007f312ae80c3b _ZN23QCoreApplicationPrivate4initEv (libQt5Core.so.5 + 0x280c3b)
#7 0x00007f312c12a99b _ZN22QGuiApplicationPrivate4initEv (libQt5Gui.so.5 + 0x12a99b)
#8 0x00007f312c958609 _ZN19QApplicationPrivate4initEv (libQt5Widgets.so.5 + 0x158609)
#9 0x000000000041ff37 n/a (vktablet + 0x1ff37)
#10 0x000000000041ea89 n/a (vktablet + 0x1ea89)
#11 0x00007f312a75fcd0 n/a (libc.so.6 + 0x27cd0)
#12 0x00007f312a75fd8a __libc_start_main (libc.so.6 + 0x27d8a)
#13 0x000000000041fb57 n/a (vktablet + 0x1fb57)
ELF object binary architecture: AMD x86-64
Aug 23 20:02:28 ezDesktop systemd[1]: systemd-coredump@67-88831-0.service: Deactivated successfully.
When launched from xfce4-terminal
, nothing out of the ordinary seems to be reported, either through the terminal or through journalctl. Potentially noteworthy, however, is that if I launch vktablet
from xfce4-terminal
and do not specify QT_QPA_PLATFORM=xcb
as an environment var, the terminal displays the error:
Summary
This application failed to start because it could not find or load the Qt platform plugin "wayland;xcb"
in "".
Available platform plugins are: xcb.
Reinstalling the application may fix this problem.
Aborted (core dumped)
The directive "wayland;xcb"
is set in /etc/environment
as QT_QPA_PLATFORM=wayland;xcb
. I use a drop-in $PATH
override to permanently set the environment to QT_QPA_PLATFORM=xcb
(explained in the first summary of this post), after which vktablet
can be launched from xfce4-terminal
.
Summary
As I mentioned at the beginning, I have no idea if these issues are related, but since they both seem to involve a failure of their GUI to initialize I figure they might be. I would very much appreciate any insight into what might be happening here, and I’m happy of course to drop more system details if they are needed. Thanks for reading!