PAULARMEN

How to fix errors in Steam/Proton

May 31st, 2025
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.13 KB | None | 0 0
  1. Hi Adi
  2.  
  3. Below is a breakdown of the key errors seen in your Steam/Proton launch logs and actionable steps to resolve them. At the end, you’ll also find pointers for locating Steam’s own log files.
  4.  
  5. 1. “gamemoderun: not found”
  6.  
  7. **What’s happening?**
  8. In your launch options you have:
  9.  
  10. gamemoderun WINE_CPU_TOPOLOGY=16:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 %command%
  11.  
  12. But the log shows:
  13.  
  14. /bin/sh: 1: gamemoderun: not found
  15.  
  16. This means Steam is trying to invoke `gamemoderun` (part of the “GameMode” package) before launching Proton/Wine, but `gamemoderun` isn’t installed (or isn’t on your `$PATH`).
  17.  
  18. How to fix
  19.  
  20. 1. **Install GameMode (and its wrapper `gamemoderun`)**
  21. On Pop!\_OS (and most Debian/Ubuntu‐based distros), simply:
  22.  
  23. sudo apt update
  24. sudo apt install gamemode
  25.  
  26. * This will install both the daemon (`gamemoded`) and the `gamemoderun` wrapper script.
  27. * After installation, verify that `gamemoderun` is in your path:
  28.  
  29. which gamemoderun
  30. # e.g., /usr/bin/gamemoderun
  31.  
  32. 2. **Re‐launch Steam** (or reboot) to ensure that the `gamemoderun` binary is available when Steam starts games.
  33.  
  34. Once `gamemoderun` is installed, the `/bin/sh: 1: gamemoderun: not found` error should disappear, and GameMode will be auto‐activated when you launch the game with that prefix.
  35.  
  36. 2. “`pfx` is not owned by you”
  37.  
  38. wine: '/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1407200/pfx' is not owned by you
  39. wineserver: /home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1407200/pfx is not owned by you
  40.  
  41. **What’s happening?**
  42. Proton (Wine) insists that the entire Wine-prefix directory (“`pfx`”) must be owned by the user who is running it. In your case, Steam is attempting to use:
  43.  
  44. /home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1407200/pfx
  45.  
  46. but that directory (and/or some files inside it) are currently owned by root or another user, not by `fajar`. As a result, Wine refuses to start properly.
  47.  
  48. How to fix
  49.  
  50. 1. **Correct ownership recursively**
  51. Run (as yourself or via `sudo` if needed):
  52.  
  53. sudo chown -R fajar:fajar "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1407200/pfx"
  54.  
  55. * This command ensures that *all* files and subdirectories inside the `pfx` folder are owned by `fajar`.
  56. * If you have multiple game prefixes with the same issue (e.g. for Toram Online at app ID 1827180), repeat for each `compatdata/<appid>/pfx` folder:
  57.  
  58. sudo chown -R fajar:fajar "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1827180/pfx"
  59.  
  60. 2. **Avoid running Steam as root**
  61.  
  62. * Make sure you always start Steam as your normal user (`fajar`). Never use `sudo steam` or similar, since that will create files owned by root inside your home directory.
  63. 3. **Optionally, remove and let Proton recreate the prefix**
  64.  
  65. * If permissions have gotten badly mixed up (e.g.\ from copying folders by hand), you can delete the entire `compatdata/<appid>` folder and let Proton rebuild it fresh. For example:
  66.  
  67.  
  68. rm -rf "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1407200"
  69.  
  70. * Then launch the game again. Steam/Proton will re‐create a new, properly owned prefix under `compatdata/1407200/pfx`.
  71.  
  72. After fixing ownership (or recreating the prefix), the “`pfx` is not owned by you” errors will disappear and Proton will be able to start the Wine environment.
  73.  
  74. 3. “`gameoverlayrenderer.so` from LD\_PRELOAD cannot be preloaded (wrong ELF class)”
  75.  
  76. ERROR: ld.so: object '/home/fajar/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so'
  77. from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
  78. ERROR: ld.so: object '/home/fajar/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so'
  79. from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
  80.  
  81. **What’s happening?**
  82. Steam is exporting `LD_PRELOAD` to load its “gameoverlayrenderer.so” into every new process. Unfortunately, when Proton/Wine spawns child processes, those child processes may be 32-bit or 64-bit, but the `.so` that Steam is trying to preload has a mismatched ELF class for that process. As a result, `ld.so` warns that it can’t inject the overlay library (it’s “ignored”), but the game itself doesn’t crash—it simply runs without showing the Steam overlay.
  83.  
  84. How to fix (or suppress)
  85.  
  86. 1. **If you do want the Steam overlay to work, disable Wine’s “invisible” loader for `gameoverlayrenderer.so`**
  87. Proton sometimes fails to inject the 64-bit and 32-bit shim for the overlay. The usual workaround is to disable Steam’s `LD_PRELOAD` entirely for that game. You can do this by:
  88.  
  89. * Right-click the game in Steam → **Properties** → untick “Enable the Steam Overlay while in-game.”
  90. * Or in the game’s Launch Options, prepend:
  91.  
  92.  
  93. PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 LD_PRELOAD="" %command%
  94.  
  95. (Setting `LD_PRELOAD=""` will override Steam’s default `LD_PRELOAD` so the overlay library isn’t even attempted.)
  96. 2. **If you don’t care about the Steam overlay**
  97. You can safely ignore these warnings. They will not prevent the game from running, but they’ll clutter your logs. To suppress the warnings entirely, add this to your Launch Options:
  98.  
  99.  
  100. LD_PRELOAD="" %command%
  101.  
  102. That blank value tells `ld.so` “don’t preload anything,” so no mismatch warnings will appear. If you do this, note that you lose the Steam in-game overlay entirely, but for many Vulkan/DirectX titles under Proton, the overlay can be hit-or-miss anyway.
  103.  
  104. 4. “Proton: Prefix has an invalid version?! … You may want to back up user files and delete this prefix.”
  105.  
  106. Throughout the log you see lines such as:
  107.  
  108. Proton: Upgrading prefix from GE-Proton10-2 to GE-Proton9-27 (/home/fajar/.../compatdata/0/)
  109. Proton: Prefix has an invalid version?! You may want to back up user files and delete this prefix.
  110.  
  111. and similar messages each time Proton tries to “upgrade” that prefix. This usually happens if you have a custom (GE) Proton build or if the prefix’s metadata doesn’t match Proton’s expected version string.
  112.  
  113. How to fix
  114.  
  115. 1. **Back up any saved configurations/data inside your Wine prefix (if you’ve manually added mods, etc.).**
  116. Usually your real Steam “Saved Games” live in `compatdata/<appid>/pfx/drive_c/...` but if you haven’t manually tweaked anything, you can skip backup.
  117. 2. **Delete the offending prefix directory**
  118. For the system prefix (sometimes app ID 0 is used for Steam’s own sysinfo tests):
  119.  
  120.  
  121. rm -rf "/home/fajar/.steam/debian-installation/steamapps/compatdata/0"
  122.  
  123. For a specific game prefix (e.g. app ID `1407200` for World of Tanks):
  124.  
  125.  
  126. rm -rf "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1407200"
  127.  
  128.  
  129.  • **Important:** Only do this if you don’t mind re-downloading things or losing any local Proton/Wine tweaks for that game.
  130. 3. **Restart the game in Steam**
  131. Steam/Proton will detect the missing prefix, re-create a fresh one that matches the version of Proton you have selected (e.g., GE-Proton10-2 or Proton 10.0), and the “invalid version” warnings will go away.
  132.  
  133. 5. GTK theme errors (unrelated to game launching):
  134.  
  135. /usr/share/themes/Pop-dark/gtk-2.0/main.rc:775: error: unexpected identifier 'direction', expected character '}'
  136. /usr/share/themes/Pop-dark/gtk-2.0/hacks.rc:28: error: invalid string constant "normal_entry", expected valid string constant
  137.  
  138. These GTK errors simply indicate that your current GTK-2 theme (Pop-dark) has some syntax that the GTK2 parser doesn’t like. They do not prevent Steam or Proton from running, but you can:
  139.  
  140. * **Ignore them** (harmless for gaming).
  141. * **Switch to a different GTK2/GTK3 theme** (e.g. Adwaita, Arc) via GNOME Tweaks or Pop!\_Shop if you want to eliminate these warnings from Steam’s stdout.
  142.  
  143. 6. Locating Steam’s own error.log
  144.  
  145. You mentioned:
  146.  
  147. > “For => Check Steam’s log (`~/.steam/error.log` or `~/.steam/steam/logs`). => I cant find the file”
  148.  
  149. Steam’s log locations vary slightly depending on how it was installed. On Pop!\_OS, the most common paths are:
  150.  
  151. 1. **Classic `~/.steam` layout**
  152.  
  153. ~/.steam/steam/logs/error.log
  154. ~/.steam/debian-installation/logs/error.log
  155.  
  156. 2. **Flatpak or native install under \~/.local/share/Steam**
  157.  
  158. ~/.local/share/Steam/logs/error.log
  159.  
  160. 3. **Check for a “.steam” symlink**
  161. Run:
  162.  
  163. ls -ld ~/.steam
  164.  
  165. * If `.steam` is a symlink to `~/.local/share/Steam`, then the logs actually live in that directory:
  166.  
  167. ls ~/.local/share/Steam/logs/error.log
  168.  
  169. 4. **Fully “bare” Steam runtime**
  170. If you installed via Pop!\_Shop or `apt` as `steam-installer`, you’ll almost always see:
  171.  
  172. ~/.steam/root/logs/error.log
  173.  
  174. or
  175.  
  176. ~/.steam/steam/logs/error.log
  177. often with a separate “debian-installation” directory.
  178.  
  179. To be certain, you can search for “error.log” under your home folder:
  180.  
  181.  
  182. find ~/ -maxdepth 2 -type f -name "error.log" 2>/dev/null | grep steam
  183.  
  184.  
  185. This will list any error.log files in your `~/.steam` or `~/.local/share/Steam` subdirectories. Once you find the right file, you can tail it live:
  186.  
  187.  
  188. tail -n50 ~/.steam/steam/logs/error.log
  189.  
  190. (adjust the path as needed)
  191.  
  192. 7. Step-by-Step Summary of Repairs
  193.  
  194. Below is a checklist you can follow in order, which addresses every error in your logs. Copy/paste each block into a terminal (adjusting paths if yours differ):
  195.  
  196. 1. **Install `gamemoderun` (GameMode)**
  197.  
  198.  
  199. sudo apt update
  200. sudo apt install gamemode
  201. which gamemoderun
  202. # If the above prints a path (e.g., /usr/bin/gamemoderun), GameMode is now installed.
  203.  
  204. 2. **Fix ownership on existing Proton prefixes**
  205. *(For World of Tanks, app ID 1407200)*
  206.  
  207.  
  208. sudo chown -R fajar:fajar "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1407200/pfx"
  209.  
  210. *(And for Toram Online, app ID 1827180)*
  211.  
  212.  
  213. sudo chown -R fajar:fajar "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1827180/pfx"
  214.  
  215. *(Repeat for any other `compatdata/<appid>/pfx` you’ve manually copied or moved.)*
  216.  
  217. 3. **(Optional) Remove/recreate broken prefixes**
  218. If you’d rather let Proton rebuild from scratch:
  219.  
  220.  
  221. rm -rf "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1407200"
  222. rm -rf "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1827180"
  223.  
  224. When you next click “Play” in Steam for each title, Proton will recreate a fresh, correctly versioned prefix.
  225.  
  226. 4. **Disable Steam’s LD\_PRELOAD for the overlay (if you want to remove the warnings)**
  227.  
  228. * Open Steam → Library → Right-click the game → Properties → Untick “Enable Steam Overlay while in game.”
  229. **OR**
  230. * Add to the game’s Launch Options (Properties → General → Launch Options):
  231.  
  232.  
  233. LD_PRELOAD="" %command%
  234.  
  235.  
  236. (This will suppress the `gameoverlayrenderer.so` preload attempt.)
  237.  
  238. 5. **Verify ownership is correct, then launch**
  239.  
  240.  
  241. ls -ld "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1407200/pfx"
  242. # Should show: drwxr-xr-x fajar fajar ...
  243.  
  244. Now start the game again—either from the desktop icon or via `steam steam://rungameid/1407200`.
  245.  
  246. 6. **Locate and inspect Steam’s error.log**
  247.  
  248.  
  249. # One of these is likely correct:
  250. ls ~/.steam/steam/logs/error.log
  251. ls ~/.steam/debian-installation/logs/error.log
  252. ls ~/.local/share/Steam/logs/error.log
  253. find ~/ -maxdepth 2 -type f -name "error.log" 2>/dev/null | grep -i steam
  254.  
  255. Once found:
  256.  
  257.  
  258. tail -n50 /full/path/to/error.log
  259.  
  260. (Adjust the path based on your setup.)
  261.  
  262. Aftermath
  263.  
  264. * **“gamemoderun”** will now be available, so your custom launch option
  265.  
  266.  
  267. gamemoderun WINE_CPU_TOPOLOGY=16:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 %command%
  268.  
  269.  
  270. should execute cleanly.
  271. * **Ownership** is fixed, so Proton/Wine can write to its own prefix (`pfx`), and you should no longer see the “not owned by you” error.
  272. * **Overlay preload warnings** can either be suppressed (via `LD_PRELOAD=""` or disabling the overlay) or ignored.
  273. * **Proton prefix invalid‐version** messages vanish if you let Proton build a fresh prefix.
  274.  
  275. At this point, launching World of Tanks (or Toram Online) under Proton should proceed past those early errors. If the game still fails to start (e.g., hanging or crashing inside Proton), revisit the newly generated `compatdata/<appid>/pfx/drive_c/users/steamuser/Temp/` logs (and double-check `~/.steam/steam/logs/error.log`) for any further clues.
  276.  
  277.  
  278. 8. Quick One‐Line Commands Summary
  279.  
  280. If you just want a copy/paste block to fix both `gamemoderun` and the prefix ownership all at once, here it is:
  281.  
  282.  
  283. # 1) Install GameMode (so gamemoderun exists)
  284. sudo apt update && sudo apt install -y gamemode
  285.  
  286. # 2) Fix permissions on existing Proton prefixes for two example appIDs
  287. sudo chown -R fajar:fajar "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1407200/pfx"
  288. sudo chown -R fajar:fajar "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1827180/pfx"
  289.  
  290. # 3) (Optional) Remove broken prefixes so Proton can rebuild
  291. # rm -rf "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1407200"
  292. # rm -rf "/home/fajar/pintasan-steam/Game/SteamLibrary/steamapps/compatdata/1827180"
  293.  
  294. # 4) Disable Steam Overlay (or add LD_PRELOAD="" to the game’s Launch Options)
  295.  
  296.  
  297. After that, restart Steam as **your normal user** (not root) and launch the game again.
  298.  
  299.  
  300. In summary
  301.  
  302. 1. **Install** GameMode so `gamemoderun` no longer “cannot be found.”
  303. 2. **Fix** file ownership on all Proton prefixes so Wine can write into them.
  304. 3. **(Optional)** Delete any outdated/invalid prefixes so Proton creates a fresh one.
  305. 4. **Disable** or suppress the overlay preload to hide those ELFCLASS warnings.
  306. 5. **Locate** Steam’s `error.log` under `~/.steam/steam/logs/` or `~/.local/share/Steam/logs/` to catch any residual errors.
  307.  
  308. After applying these steps, your game should launch normally under Proton on Pop!\_OS without the “not found,” “not owned,” or preload errors. Good luck, and have fun gaming.
  309.  
  310.  
  311. Paul
Advertisement
Add Comment
Please, Sign In to add comment