Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

User:Outoflives

From PCGamingWiki, the wiki about fixing PC games
Revision as of 23:11, 17 January 2022 by Outoflives (talk | contribs) (→‎Pseudo-templates: Added GameMaker/Mesa fix)

Working to address the lack of Linux-related content on PC Gaming Wiki. Contributions here.

Why Linux?

  • Because Linux is neat.
  • Because information about Linux is allowed here.
  • Because this wiki's editor community has Windows pretty much covered, to the point where there's not much for me to add, which is why I hardly ever used this account at all prior to switching from Windows to Linux.

Why not just post fixes on ProtonDB?

  • Because ProtonDB is not designed for looking up fixes, no matter how many people use it for that purpose. It's for reporting compatibility, and although reports may include descriptions of tweaks used for improving compatibility, the information is not organized in a way that helps readers find solutions to specific problems.
  • Because ProtonDB is specifically for Proton, and thus information about native ports and other compatibility tools is off-topic there, even if it's tolerated.
  • Because ProtonDB is limited to Steam games.

Why not just post Proton fixes for Steam games on ProtonDB and then post non-Proton/non-Steam fixes on WineHQ AppDB and other Linux-specific sites?

  • Because the whole point of PC Gaming Wiki is to solve the problem of information being scattered all over like that.
  • While many Linux users may already be going to ProtonDB and WineHQ AppDB for help on running games, these sites are primarily for reporting compatibility, and PC Gaming Wiki is specifically for listing fixes.

Proposed best practices

I'm not aware of any set of commonly agreed-upon best practices for Linux-related content on PC Gaming Wiki, so I'm making them up as I go.

  • Issues and fixes pertaining only to Linux should be labeled as such, with "Linux" in the section heading (in parentheses at the end if not appearing elsewhere), if the game in question has non-Linux versions (as nearly all games do).
    • Ideally, content pertaining only to Windows versions of multi-platform games would be labeled as such as well, but Windows is for all intents and purposes the "default" OS for gaming, so we can be forgiven for not following that standard.
  • Issues related to running a Windows game on Linux using a compatibility tool such as Wine or Proton should be labeled as such, with both Linux and the name of the compatibility tool (e.g. Wine or Proton) in the section heading.
    • In my opinion, such issues should be covered only if a fix is known. The reason is not that we want to avoid calling attention to unresolved issues, but rather that such information is better suited to sites like WineHQ AppDB or ProtonDB. Simply stating that a particular Windows game doesn't work with Wine or Proton falls squarely under the category of compatibility reports, which are covered by those other sources. While PC Gaming Wiki does cover unresolved issues with games, we don't point out every instance of a game not running on a completely unsupported operating system.
    • Any problem one might encounter when trying to run a Windows game with Wine or Proton is arguably an issue with the compatibility layer and not an issue with the game itself, and therefore one might conclude that such information should not be covered on a game's PC Gaming Wiki page. However, if the fix is known, then I think this information is useful enough to warrant inclusion. Moreover, we do list fixes for getting, say, Windows XP games to work on Windows 11, despite the need for such fixes arguably arising from deficiencies in Windows 11's backwards compatibility rather than issues with the games themselves.
  • If the Linux version of a game has issues which can be resolved by running the Windows version of the game through a compatibility layer, this may be listed as a fix. However, fixes which actually get the native Linux version working should be listed first.
    • We can usually assume that someone who has the Linux version of a multi-platform game will also have access to the Windows version, as game licenses purchased from modern digital distributors such as Steam will include both versions.

Pseudo-templates

I don't think I have permission to create actual templates on this wiki, but there are a few common tweaks I often find myself using to get games to run on Linux, and thus I've found myself copying and pasting the same or similar fixes onto multiple pages. So I might as well put them here for easy access.

Force Proton usage

When the Linux version of a game doesn't work, I think forcing Steam to run the Windows version with Steam Play is a valid solution. However, it should probably be listed after fixes which actually get the Linux version working, if any such fixes are known.

Run the Windows version with Proton

In the Compatibility tab of the game's Properties window in Steam, enable the "Force the use of a specific Steam Play compatibility tool" option and select a Proton version from the drop-down list.

{{Fixbox|description=Run the Windows version with Proton|fix=
In the Compatibility tab of the game's Properties window in Steam, enable the "Force the use of a specific Steam Play compatibility tool" option and select a Proton version from the drop-down list.
}}

Force specific Proton version

If a Steam game has no Linux version and therefore runs with Proton by default, but is known to work only with specific Proton versions, the simple instructions to force the use of a specific Proton version should be offered as a solution to whatever issue is caused by using the wrong version. This is probably most appropriate when a game requires an older Proton version due to some regression, as most users will probably be using the latest Proton by default.

Use Proton 5.13-6 or older

In the Compatibility tab of the game's Properties window in Steam, enable the "Force the use of a specific Steam Play compatibility tool" option and select Proton 5.13-6 or older from the drop-down list.

{{Fixbox|description=Use Proton 5.13-6 or older|fix=
In the Compatibility tab of the game's Properties window in Steam, enable the "Force the use of a specific Steam Play compatibility tool" option and select Proton 5.13-6 or older from the drop-down list.
}}

GameMaker Studio game Mesa driver fix

Games created with YoYo Games' GameMaker Studio often have Linux builds which fail to run with Mesa drivers. Fortunately the fix is always the same.

Enable radeonsi_sync_compile

Run the game with the environment variable radeonsi_sync_compile set to true. (In the General tab of the game's Properties window in Steam, put radeonsi_sync_compile=true %command% in the launch options field.)

{{Fixbox|description=Enable {{code|radeonsi_sync_compile}}|fix=
Run the game with the environment variable {{code|radeonsi_sync_compile}} set to {{code|true}}. (In the General tab of the game's Properties window in Steam, put <code>radeonsi_sync_compile=true %command%</code> in the launch options field.)
}}

This fix is built in to the Mesa driver itself for several games,[1][2][3] but it's probably not reasonable to expect this special treatment for every game that uses the engine.

Proton environment variables

Using environment variables in the launch options to enable Proton flags is a common fix for various issues.

Enable "Use Wine D3D" flag

Run Proton with the environment variable PROTON_USE_WINED3D set to 1. (In the General tab of the game's Properties window in Steam, put PROTON_USE_WINED3D=1 %command% in the launch options field.)

{{Fixbox|description=Enable "Use Wine D3D" flag|fix=
Run Proton with the environment variable {{code|PROTON_USE_WINED3D}} set to {{code|1}}. (In the General tab of the game's Properties window in Steam, put <code>PROTON_USE_WINED3D=1 %command%</code> in the launch options field.)
}}

Wine DLL override

Add Wine DLL override for d3d8.dll

Run the game with the environment variable WINEDLLOVERRIDES set to "d3d8=n,b". (In the General tab of the game's Properties window in Steam, put WINEDLLOVERRIDES="d3d8=n,b" %command% in the launch options field.)

{{Fixbox|description=Add Wine DLL override for {{code|d3d8.dll}}|fix=
Run the game with the environment variable {{code|WINEDLLOVERRIDES}} set to <code>"d3d8=n,b"</code>. (In the General tab of the game's Properties window in Steam, put <code>WINEDLLOVERRIDES="d3d8=n,b" %command%</code> in the launch options field.)
}}