Closed mortee556 closed 3 years ago
Does your laptop even support Vulkan? You'd probably have to use "PROTON_USE_WINED3D=1 %command%" as launch option.
Hello @mortee556, the symptom's you've described sounds more like a Pressure Vessel issue than a Proton issue, and we've seen this issue before in #420, so I've transferred this issue report.
The nVidia 390 series driver is older than the support cutoff for Proton and is known to cause other Vulkan drivers to fail. If you're not using it, then please remove it and retest.
Hello @lennie420, yes, the Intel Ivybridge generation chipset does support Vulkan, however, the drivers for it give an incomplete implementation, which can lead to rendering artifacts and game crashes. The drivers makes this system unsupported by Proton in general.
The 32-bit Vulkan driver works on the host system, but is crashing when we try to test it in the container environment:
"x11/vulkan" : {
"messages" : [
"timeout: the monitored command dumped core"
],
"renderer" : null,
"version" : null,
"issues" : [
"cannot-load",
"cannot-draw"
],
"exit-status" : -1,
"terminating-signal" : 11,
"terminating-signal-name" : "Segmentation fault",
"devices" : [
]
},
The 64-bit Vulkan driver is similar, although it crashes a bit differently:
"graphics-details" : {
"x11/vulkan" : {
"messages" : [
"*** stack smashing detected ***: terminated",
"timeout: the monitored command dumped core"
],
"renderer" : null,
"version" : null,
"issues" : [
"cannot-load",
"cannot-draw"
],
"exit-status" : -1,
"terminating-signal" : 6,
"terminating-signal-name" : "Aborted",
"devices" : [
]
}
As @kisak-valve said, if you are aiming to run all your games on the Intel integrated GPU and you are not actively using an NVIDIA discrete GPU, you can reduce the number of things that can go wrong by removing the NVIDIA proprietary drivers (libglx-nvidia0
, libnvidia-eglcore
, libnvidia-glcore
, nvidia-alternative
and everything that depends on them, and anything with nvidia-legacy
in the name).
If all games are equally affected, it would be useful to test on a free-to-play game, so that everyone looking at an issue can be seeing the same thing. The Expendabros is an example of a small, free, Windows-only game, or you can force native Linux games like Floating Point to install the Windows version and run it under Proton by editing their properties.
You might find that running Steam with environment variable PROTON_USE_WINED3D=1
might help older games to run on old hardware/drivers. Adding PROTON_USE_WINED3D=1
to an individual game's Launch Options as @lennie420 suggested is probably not going to help you, because the Launch Options are not used during the "preparing to launch" stage - but the "preparing to launch" stage does potentially use Vulkan graphics drivers, for things like shader precompilation, even though it doesn't display anything.
Newer/more demanding games that require a newer Direct3D version are just not going to work, because Proton's implementation of newer Direct3D versions needs Vulkan (but newer games wouldn't have acceptable performance on this hardware anyway).
This system looks like a 1-year-newer version of one of my test machines (an old Lenovo T520 laptop with Core 2nd gen/Sandy Bridge CPU, HD Graphics 3000 integrated GPU, NVIDIA Fermi/GF119/Quadro NVS 4200M discrete GPU) - which is too old to be really supportable, sorry. Your hardware is from 2012 (mine is from 2011) and that just doesn't go well with Proton's requirement for Vulkan. I definitely have to use PROTON_USE_WINED3D=1
on my older hardware.
cannot get log file due to the game never fully launching
You should be able to get a log file by running Steam with environment variables set. A good start would be something like this:
PROTON_LOG=1 \
STEAM_LINUX_RUNTIME_LOG=1 \
STEAM_LINUX_RUNTIME_VERBOSE=1 \
steam
You should find one container runtime log file per game in SteamLinuxRuntime_soldier/var/slr-app<appid>-*.log
in your Steam Library directory (slr-latest.log
will also be a symbolic link to the newest one), and a Proton log file in ~/steam-<appid>.log
, where <appid>
represents the Steam app ID.
It's also worth trying with the old OpenGL-based implementation of Direct3D for comparison:
PROTON_LOG=1 \
PROTON_USE_WINED3D=1 \
STEAM_LINUX_RUNTIME_LOG=1 \
STEAM_LINUX_RUNTIME_VERBOSE=1 \
steam
removing the nvidia drivers fixed it, thank you both greatly.
Compatibility Report
System Information
I confirm:
cannot launch windows games, stuck on "preparing to launch" forever. in terminal the only output is "launchapp changed task to processinginstallscript with" "" on ext4 drive. have already installed 32 bit libraries, uninstall and reinstalled steam runtimer and runtimer soldier, updated drivers, changing proton versions, etc
Reproduction
every single time