ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.39k stars 1.07k forks source link

Windows games no longer starting from within steam client #5340

Closed eNTi closed 2 years ago

eNTi commented 2 years ago

Your system information

Please describe your issue in as much detail as possible:

No windows games starting any longer. For example Slay the Spire just hang at "Preparing to launch Slay the Spire...", or Natural Selection 2 say's "Running" but there's no game window open.

I can still run the game from the command line (for example with wine-tkg).

Steps for reproducing this issue:

  1. Start game
  2. Game "claims" to start...
  3. wait...
  4. ...nothing happens.
ruineka commented 2 years ago

I had the same issue yesterday trying to use Arch Linux to get an apitrace of a few games. Some games complained of a no directx10 or higher compatible device found, others did nothing.

lucatelli commented 2 years ago

I just started to use Artix two weeks ago, and the same is happening. Everything should be configured well on my system. Also, I share the Steam libraries with an Ubuntu 21.04 system, and in there the games do launch and work just fine.

Leopard1907 commented 2 years ago

For example Slay the Spire just hang at "Preparing to launch Slay the Spire..."

Slay The Spire is native. Are you sure only Windows games are problematic?

Edit: Tried Slay The Spire, ETS 2 ( native ) , Titan Quest Anniversary Edition (Proton) here on EndavourOS; all of them works fine on my Optimus setup.

michael-hardeman commented 2 years ago

Your system information

Please describe your issue in as much detail as possible:

I have an issue I think is similar? Proton works intermittently. It seems to sometimes work after I install or update the nvidia and nvidia-dkms packages or if I disable/re-enable shader caching. Doing those will sometimes let me play many games without issue. After I reboot the machine Proton will not launch any games at all. I can post my dmesg output, but everything seems to be loading fine, the Nvidia modules all seem to exist and my native game seem to run fine. Following this advice: https://www.protondb.com/help/troubleshooting-faq#how-do-i-create-logs-of-a-game-i-run-with-proton and putting PROTON_LOG=1 %command% does not produce a log file in my home directory or the game directory.

Steps for reproducing this issue:

  1. Start game
  2. Game "claims" to start...
  3. wait...
  4. ..nothing happens.
Galcian79 commented 2 years ago

It happens even to me. Native games and some Windows ones are not affected. Tested games affected: Borderlands 3, GTA V, Monster Hunter World. Tested with both Steam for Linux Official and Beta. I suspect it has something to do with the Vulkan Shaders Elaboration chainload. Disabling the shaders pre-cache seems to fix the issue for me.

eNTi commented 2 years ago

For example Slay the Spire just hang at "Preparing to launch Slay the Spire..."

Slay The Spire is native. Are you sure only Windows games are problematic?

Edit: Tried Slay The Spire, ETS 2 ( native ) , Titan Quest Anniversary Edition (Proton) here on EndavourOS; all of them works fine on my Optimus setup.

You are right. It SlayTheSpire doesn't work regardless. Not from within steam anyway. Both versions work from the command line.

Galcian79 commented 2 years ago

Ok. So you need to run Steam from terminal to see the error message related to the hang, because it happens at the graphic driver initialization.

fsync: up and running. WARNING: radv is not a conformant Vulkan implementation, testing use only. munmap_chunk(): invalid pointer

michael-hardeman commented 2 years ago

I ran steam > steam.log 2>&1

This is the output

Some interesting things I noticed:

There are some errors talking about the shader cache not being readable on line 72:

src/common/shadercache/shadercacheimplsteamdepot.cpp (182) : Assertion Failed: Failed to open bucket file /medi/hdd2/Games/steam/steamapps/shadercache/274190/swarm//steam_shader_cache/bucket_1851068.swarc!
src/common/shadercache/shadercacheimplsteamdepot.cpp (182) : Assertion Failed: Failed to open bucket file /media/hdd2/Games/steam/steamapps/shadercache/274190/swarm//steam_shader_cache/bucket_1851068.swarc!

The path seems incorrect with a double slash after swarm: 274190/swarm//steam_shader_cache

Here is the log of the game opening (line 172) until it closed? (line 180)

/bin/sh\0-c\0PROTON_LOG=1 /home/michael/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1091500 -- '/media/hdd2/Games/steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/michael/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/media/hdd2/Games/steam/steamapps/common/Cyberpunk 2077/REDprelauncher.exe'\0
Game process added : AppID 1091500 "PROTON_LOG=1 /home/michael/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1091500 -- '/media/hdd2/Games/steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/michael/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/media/hdd2/Games/steam/steamapps/common/Cyberpunk 2077/REDprelauncher.exe'", ProcID 15458, IP 0.0.0.0:0
ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 1091500, ActionID 1] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 1091500, ActionID 1] : LaunchApp changed task to Completed with ""

It doesn't really seem to have an error. It just closes... I tried to open the same game again, then open a different game and they all acted the same.

@Galcian79 I don't see the error you mentioned so we might have different issues?

RobertMueller2 commented 2 years ago

Games no longer launching for me as well - that's using Proton 6.3-8 and a kernel with recent futex2 patches.

Games do launch for me when I'm running a kernel without any futex2 related patches, in that case I see "esync: Up and running" in the log, or when I add PROTON_NO_FSYNC=1.

Galcian79 commented 2 years ago

I just found that my partition is corrupted, maybe a different issue then.

Leopard1907 commented 2 years ago

I've also started to hitting this. Disabling shader caching indeed fixes it.

Leopard1907 commented 2 years ago

Problem is fixed on my end after updating the system.

Pacman log only has one relevant entry that might have lead to that:

upgraded vulkan-icd-loader (1.2.199-1-> 1.2.199-2)

Games works now with shader caching enabled now.

kisak-valve commented 2 years ago

Hello, can the other Arch users here check if they have the same vulkan-icd-loader version? Please retest with an unaffected vulkan-icd-loader version.

Upstream fix: https://github.com/KhronosGroup/Vulkan-Loader/pull/748

eNTi commented 2 years ago

"Sadly" it seems to work for me again with the setting enabled (haven't restarted steam though) and the vulkcan-icd-loader version 1.2.199-1. So I don't really know what fixed it.

Update: Ok it only works with steam-runtime but not steam-native.

Also closing steam-native gives me:

Installing breakpad exception handler for appid(steam)/version(1637624439)
assert_20211128171112_29.dmp[27314]: Uploading dump (out-of-process)
/tmp/dumps/assert_20211128171112_29.dmp
src/clientdll/steamclient.cpp (854) : bufRet.TellPut() == sizeof(uint8)
src/clientdll/steamclient.cpp (854) : bufRet.TellPut() == sizeof(uint8)
assert_20211128171112_29.dmp[27314]: Finished uploading minidump (out-of-process): success = yes
assert_20211128171112_29.dmp[27314]: response: CrashID=bp-a68d289f-8350-4e56-ada2-4e0af2211128
assert_20211128171112_29.dmp[27314]: file ''/tmp/dumps/assert_20211128171112_29.dmp'', upload yes: ''CrashID=bp-a68d289f-8350-4e56-ada2-4e0af2211128''
Thread "CJobMgr::m_WorkThreadPool:2" (ID 27053) failed to shut down

It's not shutting down. Separate issue? assert_20211128114608_39.dmp.zip

Update 2: Still not working for me with 1.2.199-2. Trying to start Rift Wizard. It just hangs there...

GameAction [AppID 1271280, ActionID 3] : LaunchApp waiting for user response to ShowLaunchOption ""
GameAction [AppID 1271280, ActionID 3] : LaunchApp continues with user response "0"
GameAction [AppID 1271280, ActionID 3] : LaunchApp changed task to ProcessingInstallScript with ""
fsync: up and running.
00b8:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
00b8:err:winediag:nodrv_CreateWindow The explorer process failed to start.
00b8:err:systray:initialize_systray Could not create tray window

Slay the spire shows another WEIRD error for me (not seen in steam-runtime):

GameAction [AppID 646570, ActionID 2] : LaunchApp waiting for user response to ShowLaunchOption ""
GameAction [AppID 646570, ActionID 2] : LaunchApp continues with user response "0"
GameAction [AppID 646570, ActionID 2] : LaunchApp changed task to ProcessingInstallScript with ""
GameAction [AppID 646570, ActionID 2] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 646570, ActionID 2] : LaunchApp changed task to SynchronizingControllerConfig with ""
GameAction [AppID 646570, ActionID 2] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 646570, ActionID 2] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 646570, ActionID 2] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 646570, ActionID 2] : LaunchApp continues with user response "CreatingProcess"
/bin/sh\0-c\0/opt/games/steam/ubuntu12_32/reaper SteamLaunch AppId=646570 -- '/opt/games/steam/steamapps/common/SlayTheSpire/SlayTheSpire'\0
Game process added : AppID 646570 "/opt/games/steam/ubuntu12_32/reaper SteamLaunch AppId=646570 -- '/opt/games/steam/steamapps/common/SlayTheSpire/SlayTheSpire'", ProcID 28340, IP 0.0.0.0:0
chdir /opt/games/steam/steamapps/common/SlayTheSpire
ERROR: ld.so: object '/opt/games/steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 646570, ActionID 2] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/opt/games/steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/opt/games/steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 646570, ActionID 2] : LaunchApp changed task to Completed with ""
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dsun.java2d.opengl=true -Djdk.gtk.version=2 -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
Error occurred during initialization of VM
Corrupted ZIP library: /opt/games/steam/steamapps/common/SlayTheSpire/jre/lib/amd64/libzip.so
Leopard1907 commented 2 years ago

I'm using Steam Runtime also, didn't test with Steam native.

michael-hardeman commented 2 years ago

@kisak-valve

It's not working on 1.2.199-2, 1.2.199-1, or 1.2.194-1 for me which are the last 3 versions available here: https://archive.archlinux.org/packages/v/vulkan-icd-loader/. I did not reboot between downgrades. I also tried downgrading lib32-vulkan-icd-loader from 1.2.199-1 to 1.2.194-1 with no success.

vulkan-icd-loader 1.2.199-2 was uploaded to the arch archive on 11/27 lib32-vulkan-icd-loader 1.2.199-1 was uploaded to the arch archive on 11/25 The upstream you mentioned was merged 11 days ago. Idk if this made it into these versions yet, I didn't track it all down.

It's also possible my issue isn't the same as the others?

Blisto91 commented 2 years ago

The fix kisak mentions above is included in the vulkan-icd-loader 1.2.199-2 arch package. The lib32 version does not include it yet if it is important that the 32bit version has it.

michael-hardeman commented 2 years ago

How do I help more accurately identify what error I'm having? Do I just post dmesg log, steam std_out+std_err ? Is there a way for me to produce a better log or dump?

Blisto91 commented 2 years ago

@MichaelAllenHardeman If proton doesn't generate a log file then steam it self have alot of logs in ~/.steam/root/logs/. tho i am not sure which ones could be relevant here.

You can also speficy a specific folder for proton to generate a log to so you are sure of the folder. e.g.

PROTON_LOG=1 PROTON_LOG_DIR=/tmp %command%
ipr commented 2 years ago

I don't know about Windows-version but apparently there is Linux-version of Natural Selection 2. But it gives error for "missing executable". It looks like Linux-version is trying to start Windows-executable "ns2.exe" which does not exist.

michael-hardeman commented 2 years ago

@Blisto91 Thanks for the suggestion, I had already looked through those multiple times, and didn't see anything noteworthy or interesting. The only one that might be interesting seems to be steam_api_log.txt?

Running the game with those launch options doesn't produce a log either. The game just goes immediately to finished state without proton doing anything?

[michael@artix-battlestation] /tmp $ tree -a
  .
├── dumps
├── .font-unix
├── .ICE-unix
├── steam_chrome_shmem_uid1000_spid13906
├── SteamPVSockets.c1c6fB
├── Temp-83cfb77b-bd33-4640-a199-aef6f27ce49d
├── .Test-unix
├── .X11-unix
└── .XIM-unix
Blisto91 commented 2 years ago

@MichaelAllenHardeman Can you try launching steam through the terminal (while steam is shut down just type steam into the terminal). Try to share the terminal output up till after you've tried launching a game.

michael-hardeman commented 2 years ago

@MichaelAllenHardeman Can you try launching steam through the terminal (while steam is shut down just type steam into the terminal). Try to share the terminal output up till after you've tried launching a game.

https://github.com/ValveSoftware/Proton/issues/5340#issuecomment-978725440

Blisto91 commented 2 years ago

Ah sorry i missed that hehe.

Blisto91 commented 2 years ago

@ipr Unknown Worlds dropped the linux version a couple of years ago. I am not sure why steam even lets you download it as you should use proton. I think it might be better to open a issue at the steam-for-linux repo or at unknown worlds own support.

Blisto91 commented 2 years ago

@MichaelAllenHardeman Are you using the regular Steam (Runtime) from the arch repos and not flatpak or anything?

I am a bit sus of this line. But not sure of it's significance

bwrap: Can't find source path /tmp/.X11-unix/X0: No such file or directory

Edit: Could you try switching your proton version to use 5.0-10. Which is before the Steam Linux Runtime - Soldier was the one used along with proton.

ipr commented 2 years ago

@ipr Unknown Worlds dropped the linux version a couple of years ago. I am not sure why steam even lets you download it as you should use proton. I think it might be better to open a issue at the steam-for-linux repo or at unknown worlds own support.

I didn't know that they stopped supporting it, I brought it up since original poster mentioned it. Frankly, I don't know why exactly I have it (part of some bundle in the past?) but publishers should have some responsibility of keeping old versions intact even if they are no longer supporting it. It should not be hard, just don't mess with the version(s) that have been released.

There's the aspect of video game preservation that should be taken more seriously. If not for nothing else, allow people who have bought it to play it as they have. If there's issue with compatbility version checks exist for that reason. Breaking existing version(s) is poor form from the publisher. I don't know how Steam db management works but there should be a way to tag (freeze) something like you would do in a version control like git.

eNTi commented 2 years ago

@ipr Unknown Worlds dropped the linux version a couple of years ago. I am not sure why steam even lets you download it as you should use proton. I think it might be better to open a issue at the steam-for-linux repo or at unknown worlds own support.

I didn't know that they stopped supporting it, I brought it up since original poster mentioned it. Frankly, I don't know why exactly I have it (part of some bundle in the past?) but publishers should have some responsibility of keeping old versions intact even if they are no longer supporting it. It should not be hard, just don't mess with the version(s) that have been released.

There's the aspect of video game preservation that should be taken more seriously. If not for nothing else, allow people who have bought it to play it as they have. If there's issue with compatbility version checks exist for that reason. Breaking existing version(s) is poor form from the publisher. I don't know how Steam db management works but there should be a way to tag (freeze) something like you would do in a version control like git.

Please keep this thread on topic. I would ask a mod to remove off topic post.

Matias-Louzao-Ataria commented 2 years ago

@Blisto91 I just tried switching the proton version to 5.0-10 for Monster hunter: world and the only difference I saw was proton producing a log instead of a an empty log with only the header. Here's the log I am using an up to date arch linux system and the steam version from the arch repositories, I also tried other proton versions and beta steam client but the game still doesn't start, just a black screen. steam-582010.log Edit: Steam client is also up to date.

Blisto91 commented 2 years ago

@Matias-Louzao-Ataria i don't know if it would work with such a old version. But the fact that it now produces a log could mean there might be something with Steam Linux Runtime - Solider which is used in proton 5.13 and up. Tho not sure and it could be unrelated.

kisak-valve commented 2 years ago

Hello @eNTi, please add PROTON_LOG=1 %command% to the game's launch options and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.) Also, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

Matias-Louzao-Ataria commented 2 years ago

@kisak-valve Here is system information from my system and a log from the game I tested just in case it helps.

Hardware info: https://gist.github.com/Matias-Louzao-Ataria/ddd1fd4c248646aced460ee057958c9e slr-app582010-t20211208T234050.log steam-582010.log

kisak-valve commented 2 years ago

Hello @Matias-Louzao-Ataria, looking at your system information, https://gist.github.com/Matias-Louzao-Ataria/ddd1fd4c248646aced460ee057958c9e#file-steam-ardware-information-L157-L169 and https://gist.github.com/Matias-Louzao-Ataria/ddd1fd4c248646aced460ee057958c9e#file-steam-ardware-information-L301-L313 is where you should be looking. It tells us that Vulkan is broken in general on your system. Does any Vulkan application like vulkaninfo work? (The actual output doesn't really matter as long as it looks healthy.)

Matias-Louzao-Ataria commented 2 years ago

@kisak-valve vulkaninfo does work and I believe the output looks ok even thou I really don't know how a bad one would look. Edit: I see my gpu's name and info in vulkaninfo and vkcube is running fine and using my gpu.

RobertMueller2 commented 2 years ago

I don't know if it's the same issue as the OP, but as mentioned in https://github.com/ValveSoftware/Proton/issues/5340#issuecomment-979460363 games are no longer launching for me when using a kernel with the futex_waitv patches. (I didn't apply the other futex2 or FUTEX_WAIT_MULTIPLE patches. Doubt that would even work, just making sure. ) Just wanted to add some additional info.

Steam system info is here: https://gist.github.com/RobertMueller2/d9200bc38cf327fc17a09c96222636f3

This is an attempt with Star Wars: The Old Republic and a fresh prefix, game launcher never shows: steam-swtor.log

This is when I add PROTON_NO_FSYNC=1 to the game command, this way it works, but of course is less ideal: steam-swtor-nofsync.log

Using other games (e.g. Fifa 22), or proton experimental, or trying to use proton's wine manually via command line, I get the same results. I have disabled shader caching without a change. EDIT (2021-12-28): Other games launch for me now, I'm not sure what I had done wrong before. WRT my report, this looks like an isolated SWTOR (1286830) problem to me now.

I saw the seh exceptions, but since they are in both attempts, I don't think they're relevant to the problem.

michael-hardeman commented 2 years ago

I got a bit further. It's a bit strange to me. So I noticed this line in the terminal output bwrap: Can't find source path /tmp/.X11-unix/X0: No such file or directory

So I created the folder mkdir /tmp/.X11-unix/X0 and now the game actually tries to launch. It creates some of the surfaces and I get some proton output.

This is the general command line options I pass in. WINEDEBUG=warn+all PROTON_LOG=1 PROTON_LOG_DIR=/tmp %command% I also tried PROTON_NO_ESYNC=1 and PROTON_NO_FSYNC=1 both together and apart, those didn't seem to have any effect.

Steam teminal output after launching

Proton log

ipr commented 2 years ago

I got a bit further. It's a bit strange to me. So I noticed this line in the terminal output bwrap: Can't find source path /tmp/.X11-unix/X0: No such file or directory

So I created the folder mkdir /tmp/.X11-unix/X0 and now the game actually tries to launch. It creates some of the surfaces and I get some proton output.

Just to confirm.. You are using Nvidia and X.org session? (not xwayland?) If so, the distribution likely has some bug or some weird modification (in comparison to "standard" Arch)? And instead of systemd it uses Open-RC? (systemd systems should have something like /run/user/1000/ instead of global /tmp)

michael-hardeman commented 2 years ago

Replying to https://github.com/ValveSoftware/Proton/issues/5340#issuecomment-1005478305

Correct. I am using Nvidia and X.org session I am on Artix Linux using OpenRC and suckless,org DWM. Artix is Arch based but It has versions with different init systems. I went with the base system with OpenRC and installed everything manually.

eNTi commented 2 years ago

Same for me. I'm on Artix (openrc) + X.org + awesomewm. No systemd.

smcv commented 2 years ago

The title of this issue describes a symptom, not a root cause, so it is possible that not everyone here is experiencing that symptom for the same reason.

If you are using the container runtime (Steam Linux Runtime or Proton 5.13+), and you see this diagnostic message on the terminal or in logs:

bwrap: Can't find source path /tmp/.X11-unix/X0: No such file or directory

then you are probably experiencing the same thing reported in ValveSoftware/steam-runtime#486. This seems to be the case for at least @MichaelAllenHardeman and @Blisto91, and maybe others.

A short summary of that issue:

There seems to be some sort of bug affecting Artix users in particular, in which the socket /tmp/.X11-unix/X0 gets deleted. We don't know why this socket is getting deleted, and the reporter of ValveSoftware/steam-runtime#486 says logging out and back in works around this. Ordinary X11 applications that are not in a container are not affected by this, because they can get to the X11 display by a different route, but it breaks some of the container framework's assumptions.

I think this is either misconfiguration or an OS bug, because /tmp/.X11-unix/X0 is not meant to be deleted until the X11 server is terminated. However, the beta version of Steam Linux Runtime - soldier has a workaround which you could try.

So I created the folder mkdir /tmp/.X11-unix/X0

That is not actually a correct workaround, but it worked by coincidence!

systemd systems should have something like /run/user/1000/ instead of global /tmp

That's not actually the case here. systemd systems use $XDG_RUNTIME_DIR for many other sockets (like Pipewire, PulseAudio, D-Bus and Wayland), but /tmp/.X11-unix is used for X11 on all interoperable systems, regardless of whether they use systemd or not. In particular, systemd-based Arch installations still use that directory.

smcv commented 2 years ago

@eNTi, I can't tell whether you are experiencing the issue described in my previous comment or not. If it's a general problem with Artix then maybe you are.

Update: Ok it only works with steam-runtime but not steam-native.

The steam-native Arch package (and presumably the corresponding Artix package) bypasses the compatibility mechanisms that make Steam work. Valve specifically does not support steam-native. Please use steam-runtime.

smcv commented 2 years ago

@RobertMueller2:

when I add PROTON_NO_FSYNC=1 to the game command, this way it works

If that's a successful workaround, then I don't think you are experiencing the same root cause as in https://github.com/ValveSoftware/Proton/issues/5340#issuecomment-1027058045.

when using a kernel with the futex_waitv patches

If you are using kernel features that have not yet been merged, together with Proton features that use those kernel features, then it is necessary to make sure that the version of the unmerged patches you are using is compatible with what Proton expects. The safe/conservative option is to use a mainline kernel that does not have third-party patches.

If you want to experiment with kernel patches, I would recommend keeping a kernel build available that is built from the same base but without those patches, so that you can compare what happens with and without them.

michael-hardeman commented 2 years ago

@smcv Thanks for your reply, I can confirm switching to the soldier beta runtime seems to resolve most of the issues I am seeing.

Do you know if the socket /tmp/.X11-unix/X0 deletion issue has been reported to the Artix/Arch devs? It seems like we should try resolving this at the root instead of creating workarounds.

smcv commented 2 years ago

Do you know if the socket /tmp/.X11-unix/X0 deletion issue has been reported to the Artix/Arch devs?

I do not know that. I agree that someone should.

I am not an Artix developer, contributor or user, and I will not be able to answer questions about your systems, so it would be more appropriate for an Artix user to report this.

michael-hardeman commented 2 years ago

@smcv I have started a thread on the Artix forums: https://forum.artixlinux.org/index.php/topic,3628.0.html

smcv commented 2 years ago

I have started a thread on the Artix forums: https://forum.artixlinux.org/index.php/topic,3628.0.html

Thank you! I hope someone there can figure out what is happening to your /tmp/.X11-unix/X0...

smcv commented 2 years ago

Please reply to ValveSoftware/steam-runtime#486 (or ask Artix developers to reply there) with any further discussion of the issue involving /tmp/.X11-unix, since that issue report involves a more specific topic than this one, and we haven't had confirmation from @eNTi whether they are seeing the characteristic error message for ValveSoftware/steam-runtime#486 like you are.

Soggy-Pancake commented 2 years ago

having similar problems where sometimes I either get nothing in the log file proton was supposed to create or only the header... I've noticed running steam through the terminal that there are python errors too... My python version is 3.10.5


Proton: Upgrading prefix from None to 7.0-100 (/run/media/soggy-pancake/Games/SteamLibrary/steamapps/compatdata/620980/)
Traceback (most recent call last):
  File "/home/soggy-pancake/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 1504, in <module>
    g_session.init_session(sys.argv[1] != "runinprefix")
  File "/home/soggy-pancake/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 1306, in init_session
    g_compatdata.setup_prefix()
  File "/home/soggy-pancake/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 790, in setup_prefix
    os.symlink("../drive_c", self.prefix_dir + "/dosdevices/c:")
OSError: [Errno 22] Invalid argument: '../drive_c' -> '/run/media/soggy-pancake/Games/SteamLibrary/steamapps/compatdata/620980/pfx//dosdevices/c:'
GameAction [AppID 620980, ActionID 2] : LaunchApp changed task to SynchronizingControllerConfig with ""
GameAction [AppID 620980, ActionID 2] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 620980, ActionID 2] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 620980, ActionID 2] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 620980, ActionID 2] : LaunchApp continues with user response "CreatingProcess"
/bin/sh\0-c\0PROTON_LOG=1 /home/soggy-pancake/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=620980 -- '/home/soggy-pancake/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/soggy-pancake/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/run/media/soggy-pancake/Games/SteamLibrary/steamapps/common/Beat Saber/Beat Saber.exe'\0
Game process added : AppID 620980 "PROTON_LOG=1 /home/soggy-pancake/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=620980 -- '/home/soggy-pancake/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/soggy-pancake/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/run/media/soggy-pancake/Games/SteamLibrary/steamapps/common/Beat Saber/Beat Saber.exe'", ProcID 6425, IP 0.0.0.0:0
chdir /run/media/soggy-pancake/Games/SteamLibrary/steamapps/common/Beat Saber
ERROR: ld.so: object '/home/soggy-pancake/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 620980, ActionID 2] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/home/soggy-pancake/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/soggy-pancake/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/soggy-pancake/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 620980, ActionID 2] : LaunchApp changed task to Completed with ""
ERROR: ld.so: object '/home/soggy-pancake/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Steam: An X Error occurred
X Error of failed request:  BadWindow (invalid Window parameter)
Major opcode of failed request:  40 (X_TranslateCoords)
Resource id in failed request:  0x100a3b6
Serial number of failed request:  12304
xerror_handler: X failed, continuing
pid 6429 != 6426, skipping destruction (fork without exec?)
Proton: Upgrading prefix from None to 7.0-100 (/run/media/soggy-pancake/Games/SteamLibrary/steamapps/compatdata/620980/)
Traceback (most recent call last):
  File "/home/soggy-pancake/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 1504, in <module>
    g_session.init_session(sys.argv[1] != "runinprefix")
  File "/home/soggy-pancake/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 1306, in init_session
    g_compatdata.setup_prefix()
  File "/home/soggy-pancake/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 790, in setup_prefix
    os.symlink("../drive_c", self.prefix_dir + "/dosdevices/c:")
OSError: [Errno 22] Invalid argument: '../drive_c' -> '/run/media/soggy-pancake/Games/SteamLibrary/steamapps/compatdata/620980/pfx//dosdevices/c:'
Game process removed: AppID 620980 "PROTON_LOG=1 /home/soggy-pancake/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=620980 -- '/home/soggy-pancake/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/soggy-pancake/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/run/media/soggy-pancake/Games/SteamLibrary/steamapps/common/Beat Saber/Beat Saber.exe'", ProcID 6425 
ThreadGetProcessExitCode: no such process 6539
ThreadGetProcessExitCode: no such process 6538
ThreadGetProcessExitCode: no such process 6537
ThreadGetProcessExitCode: no such process 6427
ThreadGetProcessExitCode: no such process 6426 ```
kisak-valve commented 2 years ago

Hello @Soggy-Pancake, OSError: [Errno 22] Invalid argument: '../drive_c' -> '/run/media/soggy-pancake/Games/SteamLibrary/steamapps/compatdata/620980/pfx//dosdevices/c:' (#5168) is the line you should be paying attention to, which hints that you're using an NTFS partition with /run/media/soggy-pancake/Games/SteamLibrary. Proton interacting with NTFS is known to be finicky, and the general recommendation is to use a linux native filesystem.

smcv commented 2 years ago

@Soggy-Pancake:

having similar problems

As @kisak-valve said, you're seeing a similar high-level symptom, but probably for a different reason. The critical thing in your particular log is the Invalid argument when creating the dosdevices/c: symbolic link.

Proton interacting with NTFS is known to be finicky, and the general recommendation is to use a linux native filesystem.

Yes, this. If you can use a Linux native filesystem like ext4 or btrfs, it will likely work better (for example the Steam Deck uses ext4).

If you need to use NTFS because you don't have enough space to give Windows and Linux separate partitions, make sure you are not mounting the NTFS partition with the windows_names option, which is known to be incompatible with Proton.