Getting Flawless Widescreen to work on Linux with Mod-Launchers (e.g. HedgeModManager) and GameScope

There is actually quite a bit to do to get it to work. I will start by explaining how I got mod managers (e.g. HedgeModManager) to work and how to get Flawless Widescreen working on Linux.

First you need to install your Mod-Launcher and configure it. Many have Linux support by now, or on the fly incetion with a dinput8.dll and a WINEDLLOVERRIDES.

For HedgeModManager (v7.8-1 at the time of writing) I used a very good guide from "smashens" over at Reddit on how to get HedgeModManager to work. I will paraphrase their steps for archival purposes, but will leave out A LOT of usefull information. Look at their guide itself if you want to do it yourself! In the case of HedgeModManager it is not much more then installing the game in the default Steam directory, downloading HedgeModManager and adding it to Steam, cleaning prefixes of the wanted game, changing to Proton 5.10 for the wanted game, installing .net4.0 with Windows XP profile and then .net4.8 with the Windows 7 profile done in one go thx to this protontricks command: protontricks --no-background-wineserver GAMEID --force dotnet48 with the correct ID, then removing the Proton-Compatibility setting for the game and add WINEDLLOVERRIDES='dinput8.dll=n,b' %command% or WINEDLLOVERRIDES='d3d11.dll=n,b' %command% for Forces, launching the HedgeModManager, installing the ModLoader, installing the Mod's, save and exit.

https://www.reddit.com/r/SteamDeck/comments/18phld9/hedgemodmanager_steam_deck_installation_guide/

Now the Mod's work but we want Flawless Widescreen and GameScope too. To do that I needed a tool to change the steam game startup. protonPreloader is extremely simple and perfect for doing that. Just get yourself the source, compile it with x86_64-w64-mingw32-g++ -mwindows main.cpp --static for 64bit and i686-w64-mingw32-c++ -mwindows main.cpp --static for 32bit. Rename the original game.exe an place the newly compiled one and next to it, get yorseld Flawless Widescreen and place it in the Game Directry too. Now add the .bat file to the game folder too and change it. You need to point it too Flawless Widescreen, and your game (or Mod-Launchers if you can redirect its game.exe path and/or it has no On-the-fly injection with dinput8.dll). For my setup and game (Sonic Lost World) the .bat file looked like this:



:: @echo off cd /D "%~dp0" :: ------------------------------------------- :: Main script part :: ------------------------------------------- :: Change next line to call another utility (SETUP BEFOR STARTING GAME! CAN BE DONE IN STANDALONE WINE! KILL DONT FILE EXIT!) start "Utility to start before game" "fw32\FlawlessWidescreen.exe" :: TIME FOR SETUP: timeout 30 wait 3 sleep 3 :: IN GAME ARGUMENTS (EVERTHING THAT WOULD BE AFTER %COMMAND IN STEAM!): echo "Arguments to be passed to game executable are: %*" :: Change next line to change path to game executable start "Main game executable" "slw_OG.exe" %* :: FIXING GAMESCOPE: pause

Now I start Flawless Widescreen and dwonload the Plugns, open and configure my wanted game in the Plugin's menu, enable "Minimise on startup" in the settings of Flawless Widescreen and the save and close the programm. Don't go to file - exit because that removes your currently open game plugin tap. Just press X or use your close hotkey in your desktop setup.

Now I just needed to add gamescope for my setup to the startup command of my game in Steam and I can play my game without any issue: WINEDLLOVERRIDES='dinput8.dll=n,b' gamemoderun gamescope -h 1440 -w 4720 -H 1440 -W 4720 -b -r 165 %command%.

Many steps here are needed for all Mod-Launchers. But some steps here were also only needed for the HedgeModManager. Those setps are need to be changed to whatever your Mod-Launchers needs on Linux. protonPreloader can be also usefull to start any kind of process befor the game starts. It is only important that one Window in the prefix GameScope is bind to stays open or it will crash. Many Mod-Launchers support Linux well now, thx to the Steam Deck and modders loving tinkering with Linux, but some are still annoying to setup or need to be put into the protonPreloader config.bat to work. Until your setup works you will have to tinker but as soon as you get a working pipeline for yourself, make a Backup of all folders and prefixes and Archive them and then enjoy your game.

Thx to all the great modders, developers and Tinkerers out there for make the Tools to make such a convoluted nested setup even possible!

Also: steamtinkerlaunch could also be used to build the pipeline, espacially if you need to start the Tools and or games in a serten order.


Sources: