this post was submitted on 04 Jan 2025
42 points (90.4% liked)

Linux Gaming

15603 readers
398 users here now

Discussions and news about gaming on the GNU/Linux family of operating systems (including the Steam Deck). Potentially a $HOME away from home for disgruntled /r/linux_gaming denizens of the redditarian demesne.

This page can be subscribed to via RSS.

Original /r/linux_gaming pengwing by uoou.

Resources

WWW:

Discord:

IRC:

Matrix:

Telegram:

founded 2 years ago
MODERATORS
 

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?

top 31 comments
sorted by: hot top controversial new old
[–] janNatan@lemmy.ml 2 points 1 day ago* (last edited 1 day ago)

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.

[–] BlueSquid0741@lemmy.sdf.org 24 points 3 days ago (1 children)

You can run steam from a terminal, and it could show you any errors that are popping up during the game launch.

[–] picnicolas@slrpnk.net 7 points 2 days ago
steam steam://run/[appid]

You can find the appid in the URL for the store page of the game

[–] mranderson17@infosec.pub 5 points 2 days ago* (last edited 14 hours ago)

In addition to everything everyone else has said, the launch option: PROTON_LOG=1 %command% (from the wiki). It will create a steam-<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>/ to user-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).

[–] wfh@lemm.ee 8 points 2 days ago

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.

[–] terraborra@lemmy.nz 15 points 3 days ago (1 children)

Are you trying to run versions of the games that were installed through the windows steam app? If so, you need to do a fresh install through the Linux client.

[–] marius@feddit.org 7 points 3 days ago

Indeed. Didn't know that

[–] Goonette@lemmynsfw.com 12 points 3 days ago* (last edited 2 days ago) (2 children)

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 there's nothing happening.

[–] turbowafflz@lemmy.world 5 points 3 days ago (2 children)

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?

[–] Sorse@discuss.tchncs.de 4 points 2 days ago* (last edited 2 days ago)

Yes, you do. In steam there’s a setting to use steam play for all incompatible titles

[–] Goonette@lemmynsfw.com 1 points 2 days ago

It's just the setting I showed and then it auto selects the proton version. You need to do it for all games or go into steam settings and toggle on the compatibility setting "Enable Steam Play for all other titles."

[–] Diplomjodler3@lemmy.world 4 points 3 days ago (1 children)

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.

[–] Goonette@lemmynsfw.com 1 points 2 days ago (1 children)

it can be automated if you'd like. The toggle for that is in: Steam -> Settings -> Compatibility -> Enable Steam Play for all other titles.

[–] Diplomjodler3@lemmy.world 2 points 2 days ago

TIL. Thanks for the tip.

[–] mox@lemmy.sdf.org 11 points 3 days ago* (last edited 3 days ago)

Troubleshooting software is a deep rabbit hole. Troubleshooting modern games, made for a complex operating system like Windows and running on another operating system, is a very deep rabbit hole.

However, since you're just launching games through Steam, you probably won't have to go very deep. This would be a pretty good place to start:

https://github.com/ValveSoftware/Proton?tab=readme-ov-file#readme

https://github.com/ValveSoftware/Proton/wiki

Note especially the FAQ

[–] tal@lemmy.today 9 points 3 days ago* (last edited 3 days ago)

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:

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

[–] 2xsaiko@discuss.tchncs.de 2 points 2 days ago

PROTON_DUMP_DEBUG_COMMANDS=1 - outputs a launch script you can use outside of Steam in /tmp

[–] savvywolf@pawb.social 6 points 3 days ago

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.

[–] hendrik@palaver.p3x.de 7 points 3 days ago

Generally, you can start most programs (like Steam) from a commandline terminal. That way you'll see the log output. Sometimes they'll also write to a logfile somewhere, you'd have to google where a certain program keeps its logs. If you find some 'ERROR' message, you can start from that. Like copy and paste it into a search engine.

[–] nous@programming.dev 5 points 3 days ago* (last edited 3 days ago)

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.

[–] mycatsays@aussie.zone 5 points 3 days ago

I was having a similar problem with another game, and I had a similar desire to learn general troubleshooting rather than have someone give me a specific fix. That said, I don't know if I can help because for me it's basically butt my head against a wall until I poke something enough that it works - usually I don't know enough to understand why the thing works.

I was installing my games onto a secondary drive. The problem turned out to be that that drive had been formatted by Windows back when my computer was set up to dual-boot. Some games still ran fine in Linux, but this particular game nothing would happen when I clicked Play. On a whim I tried installing it on the primary drive with the OS, and it worked first time. So there was something about that game that didn't work with the drive formatting.

(I've since reformatted the second hard drive so that everything should now play nice with Linux, now that I no longer have Windows. Game is fine now.)

[–] Arghblarg@lemmy.ca 6 points 3 days ago

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> ...
[–] Nithanim@programming.dev 2 points 2 days ago

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.

[–] Yeahboy92@lemmy.world 5 points 3 days ago (1 children)

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.

[–] marius@feddit.org 3 points 3 days ago

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

[–] Ulrich@feddit.org 3 points 3 days ago (1 children)

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.

[–] Maiq@lemy.lol 3 points 3 days ago

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.

[–] myersguy@lemmy.simpl.website 3 points 3 days ago* (last edited 3 days ago)

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

[–] Case@lemmynsfw.com 2 points 3 days ago

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.

[–] Rentlar@lemmy.ca 1 points 3 days ago

Simplest place to start for any linux program troubleshooting is to get logs, and search-fu the errors. You want to try to decipher in the logs what the critical error is within all the lines, and why that might be.

One common example is a file not found error. Very often what file is missing is written, so you can search why that file is missing or you may be able to intuit it yourself.

A word of caution: when asking for help from people on forums, a tech whiz yoh know, discord or Lemmy, make sure you say clearly what it is you ultimately want, and what step doesn't go right and how, that sent you troubleshooting. When searching, boiling down the search terms is important, but when asking people, context and the ultimate goal is very important. In the example, it's not that you're looking for the missing file, you're trying to get a certain game to work and it crashes at the start, or whatever.