Skip Navigation

What do I need to know about trouble shooting windows games on linux?

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?

31 comments
  • 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.

    gam-steam.sh:

     undefined
            #!/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.

  • 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.

  • 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):

     undefined
            __NV_PRIME_RENDER_OFFLOAD=1 \
          __GLX_VENDOR_LIBRARY_NAME=nvidia wine <game .exe> ...
      
  • A lot of people are saying to just "run steam in a command line", but for 100% clarity, to do that you search for an application like "terminal" or "console", then into that just type "steam" and press enter. It should launch steam whilst also writing debug info to the terminal. If you're lucky, it'll show some things that are googleable, just don't worry too much about things marked as "warning".

    Another thing to check is that you have enough free disk space. I can't count the number of times I've been trying to figure stuff out only for it to be broken because I ran out of space.

    If your Distro provides Steam in its software centre and isn't Ubuntu, prefer installing it from there. The Flatpak version of Steam is also fairly serviceable. Both of these will take care of installing dependencies and getting everything set up correctly.

    I've not really needed it myself, but some people swear by Steam's "verify integrity of game files" thing. But if you find yourself needing to do that frequently, back everything up since it can indicate hardware failure.

  • 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.

  • 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.

31 comments