-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Graphical applications crash with Xorg error after being visible for a split second #529
Comments
Please be aware that running Proton or SteamLinuxRuntime from outside Steam is not really a supported configuration. The container runtime and Proton both expect to be run from inside Steam in order to behave correctly: if you run them externally, they will not have the expected environment variables set and a lot of things won't work as intended.
I think someone with Proton knowledge will need to look at this. The container runtime infrastructure doesn't talk to X11, and if X11 can show a window at all (even intermittently), then the container runtime has done its job by providing the X11 socket and the You might find that you get different results by using the |
If you think this could be a recent regression, it might also be useful to try the |
Your log mentions some options that you didn't mention in the original issue report, like If you don't use |
I tested both
and
Both still cause the crash. This crash didn't occur before, however, so I'll have to look if I can find the runtime version that introduced the issue. The older versions might be available through Steam depots. I also tried compiling the runtime myself so I could try bisecting the issue more precisely, but that turned out to be more time consuming than I expected.
I uploaded new logs here: https://gist.github.com/Matoking/e0459d62b429584fd09731c4dd6da69b I initially used both parameters, but noticed they didn't affect the result, so I tried again but forgot to update my logs. The end result is the same, though. Also, I managed to reproduce the crash on Proton 6.3 as well. It takes a little more effort, however, since I had to close the I don't have experience with X11, but a quick lookup of the error in question suggests that there may be a stale handle of some sort that causes the crash, which might explain why it takes at least two attempts for the crash to occur? |
@kisak-valve, please could you point Proton people towards this?
Before when? Possible triggers, other than the container runtime, include:
You've tested all the container runtime releases for the last few weeks, so my suggestion would be to look at what else has changed. Does Arch's package manager have an equivalent of
The container runtime's involvement in X11 should be mostly limited to "X11 works" or "X11 doesn't work"; anything involving state, windows, etc. is between the X11 client (a Proton/Wine process) and the server (Xorg or Xwayland). It's weird that this is only happening with the container runtime; maybe it's related to differing versions of some library like libxcb or libX11 that is involved in the stateful parts of the X11 protocol? |
The issue was reported on the Protontricks repository here and here on September 2. Both of the users use SteamOS 3.3.1 on Steam Deck, and I was able to reproduce the issue on my Arch Linux installation as well. The issue could have appeared earlier though. I only first noticed it after checking one of the linked bug reports. |
I was hitting this exact same problem and banging my head on it for hours, and it's specific to running inside a flatpak. Turns out it's simply because the application running the runtime needs background permissions. See: For reference -- we built ULWGL around the steam runtime, we are launching non-steam games using the steam runtime + custom scripts to pass the required envvars it needs and a custom proton version. When running inside flatpak the application -would- run for a second or so before completely closing. After finding the above mentioned flatpak issue we added this to our flatpak:
And it resolved the issue. If that does not work you can also try enabling the 'Background' toggle in flatseal It should also be noted that this appears to happen with flatpak-builder builds installed from the build folder. When built then installed from a local repo the issue did not occur. |
Are you sure it was the exact same problem? Including the characteristic The symptom "visible for a split second, and then crashes with
This should never be necessary. Flatpak is hard-coded to do the equivalent of
If your app was being killed by the Background portal, then I think you'll find that this is actually how you resolved the problem. Since xdg-desktop-portal 1.18, it should log a message to the systemd Journal whenever it does this, which will look like:
xdg-desktop-portal >= v1.17 also allows apps to run in the background by default, but pre-existing apps might have an old entry in the permissions database: see flatpak/flatpak#5427 (comment). If you have an older version of xdg-desktop-portal, I would recommend upgrading if possible. |
Your system information
SteamLinuxRuntime_soldier/VERSIONS.txt
?Please describe your issue in as much detail as possible:
When running graphical applications such as
winecfg
andregedit
using Steam Runtime and Proton 7.0, the window will appear for a split second and then crash with the following X11 error:To reproduce the issue, the
wineserver
process must be alive for multiplewine
calls, and the command to launch the graphical application must be run twice for the crash to occur.Steps for reproducing this issue:
/tmp/proton_USERNAME
) and editrun
to removesteam.exe
from the call, and replacewine64
withwine
; this latter change ensures the X11 error is printed, for whatever reason../run --share-pid --launcher --filesystem /mnt -- --bus-name "com.foo.TestProton.Test"
in the Steam Runtime directory to launch a Steam Runtime session (adjust--filesystem
as needed to ensure the runtime directory is mounted inside the container). Keep this command running.<Steam Runtime directory>/pressure-vessel/bin
and run the following command./steam-runtime-launch-client --bus-name "com.foo.TestProton.Test" --share-pids --directory /tmp/proton_USERNAME -- ./run cmd.exe
. Keep this command running as well, since it ensures awineserver
process is left running for the duration of the next Wine calls../steam-runtime-launch-client --bus-name "com.foo.TestProton.Test" --share-pids --directory /tmp/proton_USERNAME -- ./run winecfg
twice. On first run, the configuration window should appear as normal. On second run, it should show up for a moment and then close itself, with the X11 error appearing on the command line. Any subsequent attempts will crash as well.The issue can be reproduced on Proton 7.0-4 and 5.13-6, but not on Proton 6.3-8.The issue also can't be reproduced if Steam Runtime is not used.Logs for each command with
WINEDEBUG="+timestamp,+pid,+tid,+seh,+debugstr,+loaddll,+mscoree"
and--verbose
can be found here:https://gist.github.com/Matoking/9db8e55c8bbf3325a4613db2ffc59cdb
The text was updated successfully, but these errors were encountered: