First of all, I don’t want you to help me with a specific problem. All the details in this post are just examples and I’m interested in getting a general understanding.
So I just wanted to play doom eternal, but when I press play on steam, after a couple of seconds the button switches from blue back to green with no game running. I checked protondb and saw that the game was gold rated, so it should run fine.
I checked the tweaks that people use and they suggest different proton versions. But no matter what I do, I basically get nothing. There are no error messages or log files. Same with other games I tried in the past.
So basically when a game does not work out of the box, I have no idea where to look for cues on how to fix it. Is there a verbose mode or something similar?
One very simple things I try is updating the glorious eggroll proton version and force-use that. Changing the proton version sometimes (especially switching to an older one) requires deleting the compatdata (wineprefix folder) of the game.
If you happen to be trying to do this on a laptop with dual-graphics and the GPU is NVIDIA, it took me a while to find that one often can get proper GPU support by adding this just before
wine
(as in, right before it on the same command line):__NV_PRIME_RENDER_OFFLOAD=1 \ __GLX_VENDOR_LIBRARY_NAME=nvidia wine <game .exe> ...
Do you have proton enabled?
If you don’t have proton enabled, steam will try to launch the game but can’t since .exe files don’t run on linux. You’re not getting an error because they’re nothing happening.
This gets mentioned far too rarely. Threw me off too, when I first tried to run Steam games on a Linux PC. This could surely be made more prominent in the interface or even largely automated, like on the Steam Deck.
it can be automated if you’d like. The toggle for that is in: Steam -> Settings -> Compatibility -> Enable Steam Play for all other titles.
TIL. Thanks for the tip.
Really? For me if I don’t select a proton version it just uses the default, I’ve never seen it try to run a windows binary directly. Do I have some like secret extra setting enabled?
Yes, you do. In steam there’s a setting to use steam play for all incompatible titles
My two suggestions are forcing a different proton version (you mention this, so im guessing you already have) and ensuring you have a 32bit opengl driver installed(package names will differ between distributions. Arch wiki has some info)
For troubleshooting, launch steam from a terminal and watch for errors on game launch/close
From past experience, and I mean, before proton…
You need to know that learning is part of the fun. Playing the games themselves isn’t the fun part. Getting them running is.
Use the comments on protondb. They often list tweeks and troubleshooting steps that have been taken. Check steam community posts for specific games. You can also make your own post if nobody else has had your issue. General searches will usually get you where you need to go. I use kagi but generally anything not google works.
The problem with the comments is that they are often specific to one GPU vendor and if you have optimus or not. So it takes time to look which ones apply and try them out
Steamtinkerlaunch is a program that has a ton of settings to help run games. The GUI is pretty bad but for what it is it does the job, just don’t scroll over anything on the right side as you can change settings you don’t mean to. Its a little confusing but the documentation is good.
First thing I typically do when that happens is update my system and reboot. This is useful for ensuring everything is in a known consistent state and there is no weird runtime issues that happened since you last booted. And it is always good to upgrade before you reboot to ensure you are booting the latest kernel and drivers.
If that does not help then I would start by closing down steam completely (ensure it is not running in the systray at all). Then launch steam though a terminal and start the game as you normally would. You will hopefully see some logs for the game in the terminal. Though it is very game dependent as to if that will be useful at all. If not I would look online to see if the game logs anything to any other file as some games tend to do their own logging or have a flag you can enable.
If the game gives you some logs and hopefully an error message you can then see if it is useful to you and if not try googling for that error and the game name. I find this tends to dig up more specific help for games then general searches for terms like wont start or crashes though sometimes those general terms can find a solution as well.
Note: if you try to launch steam in the terminal and it is already running you wont get any logs at all from it - it basically just forwards things to the main instance or quits as it does not need to do anything. Only the first instance you start will give you and useful logs.
All I can tell you is that I played 49 games last year (exclusively on Steam, not counting the rest) and didn’t need to know anything to run them.
I played 50, and needed to tinker a little with one: Hogwarts Legacy. For some reason, I needed to tweak mmap limits for it to work properly. It still occasionally has issues, but it’s way better.
99% of the time, if a game “should run fine” and nothing happens, it’s because it’s installed on a Windows partition (NTFS or exFat).
Try moving it to a Linux partition.
If it still doesn’t work, you can start advanced troubleshooting.
In addition to everything everyone else has said, the launch option:
PROTON_LOG=1 %command%
(from the wiki). It will create asteam-<gameid>.log
in your homedir which can have lots of good wine/proton specific information in it.You can also rename the user-settings.sample.py file in a given proton version in
$HOME.steam/root/steamapps/common/Proton - <version>/
touser-settings.py
and uncomment the additional wine debugging options (PROTON_LOG is already set in this file, but it is not active until it’s renamed or passed directly on the Launch Options line).PROTON_DUMP_DEBUG_COMMANDS=1 - outputs a launch script you can use outside of Steam in /tmp
You using an Nvidia GPU? My husband gave me his old one, and it just seemed to give me all kinds of random issues that I never had before on my AMD GPUs. Just a thought.
I will second what someone else said. My husband had all kinds of issues when he reused his old NTFS drive in Linux. He reformated it to ext3 or 4 I think and hasn’t had major issues since.
You can run steam from a terminal, and it could show you any errors that are popping up during the game launch.
steam steam://run/[appid]
You can find the appid in the URL for the store page of the game
Steam does spit out some diagnostic messages, and I believe – don’t quote me on this – that programs that it runs normally have the same stderr/stdio, so stuff they write will show up there as well. Normally, these are not saved in a file. I generally launch it from a script, so that it’ll save said log messages in a file that I can view.
#!/bin/bash # Some games (Wasteland 2) require more file descriptors ulimit -S -n 4096 exec steam "$@" >~/.steamlog -console -nobigpicture -nochatui -nofriendsui -silent 2>&1 &
Leaves log messages in .steamlog in my home directory. You may or may not want some of those other options being passed to Steam.