This is a basic guide on how to run YimMenu under Proton for people who play Grand Theft Auto V on Linux and do not feel like dual booting to "have some fun." There are probably more optimal ways of accomplishing this; however, these methods works, and do not appear to introduce any stability problems.
Note
I am in no way involved with the development of YimMenu, or any other open source projects mentioned in this guide. I simply figured this may be useful information for other users I've seen inquiring about this topic.
Important
Before you begin, ensure you have Grand Theft Auto V installed, as well as the protontricks package via your system's package manager.
You have several options as far as injectors go, just ensure the injector itself works under Proton. I have verified two to work perfectly fine, one being GUI based and the other being simply terminal; this guide will cover both. If you choose to use a different injector than listed here, adjust the specifics accordingly, but the overall concepts should apply.
This guide will cover:
- Process Hacker 2, to inject YimMenu using a GUI.
- Injector, to inject YimMenu using your terminal.
Important
Regardless of which injection method you move forward with, you will need the YimMenu.dll file to inject. You can download the latest release of YimMenu here. Ensure this file is placed somewhere easily navigatable, preferably outside of the Proton prefix's filesystem for the game.
- Download the latest
processhacker-<version>-bin.zipfile, which you can find here. - Extract the
x86orx64folder (depending on your system) from the Process Hacker 2 zip archive to somewhere easily navigatable.
- Launch the game, wait until game window opens.
- Alt-tab out of game, open a terminal and run the following command:
protontricks-launch --no-bwrap --appid 271590 <Linux path to ProcessHacker.exe>
- Within the Process Hacker window, find
GTA5.exein the list of applications. NOTPlayGTAV.exe, THIS WILL NOT WORK! - Right click on
GTA5.exe, navigate toMiscellaneous>Inject DLL... - In the file browser that pops up, navigate to your YimMenu.dll file and open it.
- If injection was successful, a "YimMenu" console will appear. This is identical to the one that opens on Windows.
Tip
To automatically launch the Process Hacker executable alongside the game each time you start it, you can set your launch parameters to launch it as a background task. You can do this on Steam by setting this as your launch options:
(sleep 10 && protontricks-launch --no-bwrap --appid 271590 <path to ProcessHacker.exe>) & %command%
- Download the latest Injector release's archive file, which you can find here.
- Extract the
Win32orx64folder (depending on your system) from the Injector zip archive to somewhere easily navigatable.
- Launch the game, wait until game window opens.
- Alt-tab out of game, open a terminal and run the following command:
protontricks-launch --appid 271590 <Linux path to GTA V Proton prefix>/drive_c/windows/system32/cmd.exe /c "<Windows path to Injector.exe> --inject --process-name GTA5.exe <Windows path to YimMenu.dll>"
- If injection was successful, a "YimMenu" console will appear. This is identical to the one that opens on Windows.
Adding Lua extensions to YimMenu works the exact same way as it does on Windows, you just simply need to ensure you are accessing the %appdata%/YimMenu/scripts within the correct Proton prefix. You can find this using the button ingame (Settings > Lua Scripts > Open Lua Scripts Folder), or, by navigating to the following path (assuming you are using Steam):
<Linux path to GTA V Proton prefix>/drive_c/users/steamuser/AppData/Roaming/YimMenu/scripts

I'm able to get this to inject no problem but attempting to join an online game I get a message telling me to return to GTA 5 and an error along the lines of "Bad MM"
EDIT: Figured it out, I needed to inject as GTA was loading instead of injecting while already loaded into story mode.