Crusaders of the Lost Idols (402840)
Compatibility Report
- Name of the game with compatibility issues: Crusaders of the Lost Idols
- Steam AppID of the game: 402840
System Information
- GPU: GTX 690
- Driver/LLVM version: nvidia 480.80
- Kernel version:
- Link to full system information report as Gist: https://gist.github.com/stevenjackson121/21511a7d4a9fd4fe9ae5cfd37d824668
- Proton version: 6.3.4
I confirm:
- [X] that I haven't found an existing compatibility report for this game.
- [X] that I have checked whether there are updates for my system available.
Symptoms
- Game does not open, despite being listed Platinum on ProtonDB. (Also no other games successfully launch either, even others with Platinum Ratings).
- Log File has nothing useful to help search other issues.
- I was getting longer logs previously, and saw the LD_PRELOAD error message for BOTH 32 and 64 bit, which AFAIK is not expected. searching for this error is a PITA because there are a ton of false positive search matcehs all the results say "You can ignore 32, because it tries to load both 32 and 64, and only 1 needs to be successful." It's impossible
- I was getting longer logs previously (nothing significant changed between when they were being produced and now), and saw the following messages at one point:
err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
- Game works under nouveau drivers, but other games do not.
- I have tried various "nvidia settings" configurations. I'm not sure what most people have had success with. If there's a "recommended" configuration I would be happy to switch to that and proceed with further troubleshooting from there.:
- Dual-Monitor Xinerama with each monitor plugged into different gpu.
- Dual-Monitor with both monitors plugged into same GPU.
- Dual-Monitor using Base Mosaic (Surround) (Current Setup)
- Only 1 monitor plugged in (not a desirable end state, but I've tried to see if I could get it working without a multi monitor setup but the issue remains)
- I have tried two different Desktop Environments based on reported incompatibilities between certain DE+Nvidia configurations I found while troubleshooting and researching:
- XFCE
- Cinnamon
Reproduction
No clue how to reproduce. I believe my system must be haunted: everyone else rates Crusaders Platinum, but I cannot play any platinum games. Nouveau is performing much better than Nvidia. I've tried multiple different Nvidia drivers, multiple times each (460 + 465). I've tried multiple proton versions with each Nvidia driver (5.13, 6.4, experimental).
Hello @stevenjackson121, can you let Steam finish collecting the extended diagnostics information and update your system information gist? Starting with Proton 5.13, Proton is run inside the Steam Linux Runtime - Soldier container environment. It may be interesting to test the behavior of Proton 5.0 or earlier as a troubleshooting reference that does not use that container environment.
I was getting longer logs previously (nothing significant changed between when they were being produced and now), and saw the following messages at one point:
Something's gone wrong here to cause Proton to fail early, and the summary failure is interfering with further troubleshooting. It would be nice if you figured out how to get back to where you were seeing messages similar to ValveSoftware/Proton#4266.
I have updated the gist. I didn't realize it hadn't finished the first time. I'll re-install nvidia drivers and see if that gets me back to a point where I can at least see a full log. Using Proton 5.0 does not make any difference, but I'll try that again later as well.
One thing I forgot to mention is unlike some other games, Crusaders never exits on its own: It remains in the "running" state until I explicitly tell Steam to stop it, it just doesn't make any progress towards displaying anything.
I rebooted and now the game is working. Not only is it working using Nvidia Drivers (the game itself ran fine with nouveau), but the steam overlay is also working (I could not get the overlay working under any games on Steam).
I will open a new issue if I experience issues on other games; this one is fully resolved.
I didn't realize it was still set to 5.0 when I restarted. Proton 6.3.4 does NOT work, but the first attempt to run it with 6.3.4 after a reboot does give a full log at least.
Attached is the full log: steam-402840.log
I can't get it to consistently run even under 5.0 after restarting, but sometimes it runs after a reboot, so I guess that's something.
Thanks for testing @stevenjackson121, I think that this should be evaluated as an issue between Steam Linux Runtime - Soldier and the nVidia proprietary driver, at least until there's a stronger indication indication the issue is elsewhere.
In your system information, you have:
"graphics-details" : {
"x11/vulkan" : {
"renderer" : "GeForce GTX 690",
"version" : "1.2.155 (device 0x10de:0x1188) (driver 460.320.0)",
"devices" : [
{
"name" : "GeForce GTX 690",
"api-version" : "1.2.155",
"driver-version" : "460.320.0",
"vendor-id" : "0x10de",
"device-id" : "0x1188",
"type" : "discrete-gpu"
},
{
"name" : "GeForce GTX 690",
"api-version" : "1.2.155",
"driver-version" : "460.320.0",
"vendor-id" : "0x10de",
"device-id" : "0x1188",
"type" : "discrete-gpu",
"messages" : [
"Vulkan not supported on given X window"
],
"issues" : [
"cannot-draw"
]
}
]
},
This tells us that one of your GTX 690's can render, while the other can't and for some reason the card that can't render is getting picked by default.
It might be interesting to find what the nVidia driver calls each of your cards with xrandr --listproviders, then try something like __NV_PRIME_RENDER_OFFLOAD=1 __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 %command% in the game's launch options (replacing NVIDIA-G0 with each card's name from xrandr) and see if that influences which card Proton tries to use. (from https://download.nvidia.com/XFree86/Linux-x86_64/460.80/README/primerenderoffload.html )
saw the LD_PRELOAD error message for BOTH 32 and 64 bit, which AFAIK is not expected
If it's a 32-bit game in a 64-bit Wine prefix (i.e. pretending to be 64-bit Windows, which I think Proton's Wine prefix always does), then I think that's expected, because you'll have a mixture of 32- and 64-bit processes: the game will run in a 32-bit Wine process but the wineserver will be 64-bit. Each word size will be unable to load the overlay for the "other" word size.
The log in https://github.com/ValveSoftware/steam-runtime/issues/423#issuecomment-860970055 is for Proton 5.0. Is that intentional, or did you intend to attach a log from Proton 6.3?
588.126:0020:0024:err:module:map_image Could not map section .reloc, file probably truncated
I think you might find that you have a DLL in your Proton directory (most likely /home/steven/.steam/debian-installation/steamapps/common/Proton 5.0/dist) that has somehow been truncated?
If you rename Proton 5.0/dist to Proton 5.0/dist.old and run it again, that might resolve this? If it does, it would be interesting to compare dist.old with the new dist and see what (if anything) is wrong there.
Having two identical GPUs connected is unusual, and isn't likely to help the reliability of the overall system. I think the most likely result is that only one of them (whichever one is being used for X11) can be used successfully for direct rendering, and the other can only be used for offscreen rendering (offloading) or non-graphics GPGPU use-cases.
This tells us that one of your GTX 690's can render, while the other can't and for some reason the card that can't render is getting picked by default.
I don't think it necessarily does tell us that - not without more information, anyway. The first device in the devices array is the one that most games will use by default, so it's potentially OK if the second device doesn't work. On systems that are using the open-source graphics stack (AMD/Intel, Mesa) we'll often see that the first device in the devices array is the actual GPU, and llvmpipe software rendering is listed as a second device.
Older versions of DXVK didn't use a stable sort algorithm when they reordered the GPUs to put discrete GPUs before integrated GPUs and software rendering, so it would be random which of the two GTX 690s was used; but I think that has been fixed in recent versions of DXVK, so hopefully DXVK will preserve the order, with the one that is used for X11 ordered first.