Skip to content

Instantly share code, notes, and snippets.

@SeongGino
Last active April 17, 2024 03:51
Show Gist options
  • Save SeongGino/b2ef5939af497f6d9336e3440ca52d6c to your computer and use it in GitHub Desktop.
Save SeongGino/b2ef5939af497f6d9336e3440ca52d6c to your computer and use it in GitHub Desktop.
Seong's Linux Windows Games Compatibility List & Knuckles

Seong's Linux Windows Games Compatibility List & Knuckles

(Last Updated: April 2024)
Note: If there's games that aren't listed, there's a good chance that it's indeed compatible OOTB and I didn't feel a need to mention it, though there's plenty of others I simply haven't tried. Keep in mind that this list only encapsulates games and titles I've personally owned and played.

Glossary of common solutions/lingo:

  • Environment Variables / env var - a command or set of commands set before the name of the executable you want to launch, which sets certain behind-the-scenes settings that might be important for either compatibility or performance. These environment variables are usually set in ALLCAPS with an equal sign.
  • WINEPREFIX - a catchall referring to the virtual Windows sandbox, using WINEPREFIX="path/to/directory" will tell Wine to use the given path as the location of the virtual Windows install (and will create it, if the folder doesn't exist). Tinkering with a prefix requires Winetricks (or a Wine manager that handles this for you, e.g Bottles or Lutris).
    • Winetricks verbs - a dependency installed using Winetricks for an app to work. Common things like the Microsoft Visual C++ Runtime (vcrun20xx) or real/original DirectInput 8 (dinput8) are called "verbs", and Winetricks is used to automate installing these. Technically, Protontricks verbs are the same as Winetricks verbs, just with a different command.
  • Proton Prefix - a Wine Prefix, but for Proton, and is handled exclusively by Steam. Tinkering with this requires an app like Protontricks, due to the convoluted and unintuitive naming scheme of Steam's proton prefixes.
  • WINEDLLOVERRIDES, or "override" - an environment variable that tells Wine (and by extension, Proton) to override how it loads .dll libraries. Common syntax is WINEDLLOVERRIDES="library=loadtype", where loadtypes are:
    • builtin - only uses the dll provided by Wine - most useful if the "native" (i.e. real Windows) version of a library is causing problems, e.g: if your sound is stuttering or missing with a real dsound installed, this will force it to use Wine's implementation, which can alleviate the issue.
    • native - only uses the dll from the current directory, and/or $WINEPREFIX/local_c/Windows, in that order, whichever comes first - most useful for forcing an app to load a DLL from the current directory that the app normally doesn't pull on its own at launch.
    • n,b (native, then builtin) - uses both the dll from the current directory, and/or $WINEPREFIX/local_c/Windows (whichever comes first) in conjunction with the dll provided by Wine, prioritizing the Windows native libraries if they exist - most commonly used with mod/injector DLLs that runs before and sits on top of an existing library used by the game, or to override e.g. the Wine prefix's given install of DXVK with a specific version placed in the game directory, if desired.
    • b,n (builtin, then native) - like n,b, but prioritizes dlls provided by Wine over whatever's in the current directory/Windows path. Not used very often, if at all.
    • TIP: if you want to declare multiple library load orders, use a syntax like the following: WINEDLLOVERRIDES="libraryname1,libraryname2=loadtype;libraryname3=otherLoadtype (where commas depict multiple libraries with one load order type, and semicolons separates groups of libraries with a loadtype in case that's desirable, e.g using some libs as native for a modloader, and others as builtin to resolve some compatibility issue).

Non-Steam Games

General:

  • Arcana Heart 3 LOVEMAX SIXSTARS !!!!!! (outside of Steam): If native DirectSound is installed, needs WINEDLLOVERRIDES=dsound=builtin to fix sound weirdness. (Weirdly reminiscent a nearly identical bug in Suggoi! Arcana Heart 2 (eX-Board))
  • Model 2 Emu: Needs(?) d3dcompiler_47.
  • BIOHAZARD ReBirths: Set dsound override. Games use WineD3D so framerates plummet beyond ~960p.
  • BIONICLE Mata Nui: Launcher works in new Wines (forgot when this was written, assume Wine 8 and higher lol); Rebuilt works ootb, built-in dgVoodoo needs d3d8 override.
  • Control: Needs vcrun2017 (or newer); execute the DX11/DX12 binaries directly rather than using Control.exe. Performs better w/ DX11; on RTX, D3D12 RT reflections are working but physics seem wonky, doesn't seem worthwhile.
  • Crysis: Should work ootb w/ DX10; if not, reinstall the game. AF+POM mod enables some level of AF automatically, and is recommended.
  • Crysis Wars: Launcher should work with Mono; if not, try dotnet452. Should work with DX10 ootb.
  • Crysis Warhead: Should work ootb w/ DX10. AF+POM mod injected into the shaders pak does not automatically enable AF, and needs a dxvk.conf file with d3d11.samplerAnisotropy = 16 in exe directory to enable it.
  • DMC3SE: Needs Wine-GE 7-14 or earlier atm. Fixed on newer Wines (TODO: check which fixed). Works with newer DXVKs, though intro FMVs are discolored and ingame demo FMVs don't display anything; StyleSwitcher needs vcrun2013, XInput+ needs xinput1_3, dinput, and dinput8 overrides set with winecfg. Native d3d9 might break?
  • Driver: Needs dgVoodoo to function; set ddraw override. Benefits from DirectInput controller conversion using XInput+; set dinput8, xinput1_3 overrides. Recommend forcing Fullscreen to prevent constant mode switching.
  • Dynasty Warriors 4 Hyper: Works w/ videos ootb (MPEG vids requires Wine-GE with NVIDIA gstreamer libs, or GE-Proton-9 or higher); no shadows rendering (happens regardless on Windows anyways).
  • EphineaPSO: Needs Windows version set to Windows 7 and below for psobb.exe, or else gets erronious dll error game will crash/not open; needs Mono/old dotnet for configurator and gecko/IE for the launcher newspanel. If wanting to use DXVK, works best with dgvoodoo as a surrogate d3d8 wrapper, since d3d8to9 has issues with fog in new launcher, set to DirectX 9/11 for best functionality.
  • Expendable: Works ootb; crashes at 4K resolution (original bug?)
  • Fallouts 1 & 2: Needs ddraw override to run SFall; run f1/2 res utilities in working directory to detect executable properly.
  • Far Cry 1: Works with 64-bit fanpatches; set msvcr71 override in winecfg for game, version for ASI loader. Recommend using FarOut Widescreen and loading with a -mod: argument. Silent Patch isn't needed on Linux.
  • GTA III/VC: Use re3/revc native from AUR; fuck T2.
  • GTA SA: Works with mods as it should on Windows, needs d3dx9. (Reminder to use ASI modloader from the Widescreen fix and not Silent's standalone loader)
  • Guitar Hero III: Works ootb, but requires install reg keys; guitar support requires disabling HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\winebus DWORD keys SDL Enabled and Map Controllers, and using x360ce. Note highway has zfighting issues on resolutions higher than 1920x1080 (native game bug?); audio will be choppy with a native dsound installed (so force to a builtin WINEDLLOVERRIDES).
  • Guitar Hero - World Tour: Vanilla game and Definitive Edition works out-of-the-box, though DE's launcher/configurator utility seems to potentially crash with real .NET? TODO: check which libs crashes WTDE's launcher
  • Kingdom Hearts ReFIND: Needs dotnet46 (relies on mscoree.dll).
  • Halo CE: Modded, works out-of-the-box; EAX works by extracting dsoal-aldrv and dsound dlls from prebuilt DSOAL v1.31 to the game's directory, and installing dsound through winetricks. winecfg's EAX toggle doesn't seem to affect anything? TODO: could check, but have since shifted to Steam MCC.
  • Halo 2 Cartographer: Works out-of-the-box without audio, which requires wmp9 through winetricks; Cartographer console text is smaller than it should be. Need to 'jiggle' the anti-aliasing option for proper fullscreen. TODO: could check, but have since shifted to Steam MCC.
  • House of the Dead 3 PC: Needs esync/fsync disabled to resolve media rendering weirdness at the cost of higher(?) CPU utilization; benefits from dgVoodoo (d3d8 override) to alleviate missing polygons with WineD3D and improve load performance.
  • Max Payne: Works ootb; needs d3d8 override for widescreen patch, prevents 16bpp, intro video doesn't work (and can be bypassed with -skipstartup). Benefits from a 60fps cap. Remastered patch causes crashes in post-prologue levels.
  • Max Payne 2: Works ootb; needs d3d8 override for widescreen patch. -nodialog causes 16bpp colors. Benefits from a 60fps cap.
  • MDK: Works with DirectDraw patch, dgVoodoo & d3d9 override (ddraw and d3d9 overrides).
  • Marvel Ultimate Alliance: Needs esync/fsync disabled to resolve media, a'la HotD3, with similar caveat regarding CPU utilization; initial run can be stuttery due to shaders (and cause minor sound looping issues), but runs just fine after the fact.
  • NFS Most Wanted (Black Edition, not 2012): Needs d3dx9 dlls for not-Lutris managers; mods need dinput8 override for ASI loader, Binary-based mods need the .NET Core redist installed manually but work as well, and VLTEd works as well. ASI Loader works intermittently, needs to be relaunched occasionally to boot properly. ASI Loader seemingly fixed? TODO: check when this was fixed? Or if a native dll offhandedly resolves this
  • NFS Underground 2: Ditto with NFS:MW-BE
  • NOLF: Music needs dmband dmime dmstyle dmsynth dmusic for music playback; installing directmusic causes bad sound. Benefits from dgVoodoo (ddraw override) to pass d3d7 output through DXVK and significantly improves performance over WineD3D.
  • Outrun 2006 C2C: FXT needs vbrun6. FXT exe stays running even after the process terminates, so virtual desktop might be preferred to more gracefully end all wine processes without a terminal. FXT overlay not friendly with KDE bars.
  • Plutonium Launcher: Needs dotnet472 and D3D Extras. Games launched through it need Lutris' "Enable DXVK-NVAPI/DLSS" option disabled to avoid DirectX errors. NVAPI isn't an issue with Bottles. T4/T6 works ootb, IW5 black screens on Lutris when set to Fullscreen, but using the prefix and wine directly works around this and can set to borderless. T5 needs xact for SP to work and MP (and T4) to have sfx. T6 needs Wine-GE 7-20 to prevent stutter. Fixed in GE 7-25. Recommend setting a framecap with DXVK (DXVK_FRAME_RATE) because (at least) T6's internal frame limiter is jank af on Linux if set to cap at any framerate below DXVK's maximum allowed rate.
  • PSU Clementine: Needs dotnet472 through Winetricks; also needs a ClemPatch provided on the Clementine forums. Audio stutters with ESYNC &/or FSYNC, so disable both. For controller, dinput8 and xinput1_3 overrides need to be set with winecfg.
  • Quake 2 XP: Often(?) hangs when using Wine-GE, use Wine-tkg or other. (TODO: check if this is still the case)
  • Silent Hill 2: Works perfectly out of the box with Enhanced Edition, assuming a dinput8 override for Xini (might also have to set dsound override if not installed in the prefix for dsoal support).
  • Silent Hill 3: Setup utility on original/archive Disc 1 throws errors preventing installation, but Abandonware DVD RIP w/ NoCD patch works fine. Needs quartz winetricks verb installed (at least until the FMV fixes are merged into Wine-GE), and requires D8VK to work and perform well. Need XinputPlus to work with controllers (and configure the buttons in the game's options to match PS2). The SH3 Fix works so long as d3d8on12 isn't enabled (hence the need for d8vk), and the Audio Enhancement Pack needs Reloaded-II (which in itself just needs vc2022 and .NET 8.0 runtimes - deploy ASI loader after enabling the mod). Set d3d8, dinput8, xinput1_3, and winmm native DLL overrides to make it all work.
  • Star Wars Jedi Knight: Works perfectly out of the box, even with jkgfxm. Needs an FPS limiter, but is provided with libstrangle(-git). More or less superseded with OpenJKDF2 now.
  • Star Wars Jedi Outcast/Academy: Works after setting an environment variable, depending on graphics vendor - __GL_ExtensionStringVersion=17700 for NVIDIA, MESA_EXTENSION_MAX_YEAR=2003 for open graphics users. Preferred to use Windows binaries like this; if asked, NEVER USE THE ORIGINAL JO/JA LINUX PORT--it's much slower to load, hates sensible fullscreening, and eats inputs so hard that if it crashes, the entire system may as well be locked up, necessitating a force restart. >.>'
  • System Shock Enhanced Edition: If freezes on new game, setup a clean(er) prefix; uses host's midi, if it's working. If using a Pipewire patchbay, then Fluidsynth's server needs to be given a static name for the connection from Wine's MIDI driver to stick.
  • Thief Gold: TFix script doesn't work, so just use the vanilla GOG one and run TFix inside it afterwards. Works with vcrun2008.
  • Touhou 6: Erratic inputs with d3d8to9. Gen 1 Windows games don't need it on Linux.
  • Touhouvania 2: Does not like fullscreen no matter what (similar-ish to Windows?); intro works w/ audio on Wine 7.x-and-onwards
  • Tribes Ascend: Works ootb with the Ketaui starter pack.
  • Unreal Engine 1 Games (Unreal, UT99, Rune, Deus Ex): Works through Wine with OGL renderers; D3D10 and D3D11 renderers works as well.
  • Virtua Fighter PC: Works with (modified) Lutris installer script and Archive'd disc image, but need to transfer track rips from elsewhere to the game's Music subdir.
  • XLabs Launcher: Works ootb (electron); IW4 works ootb, IW6 works ootb, S1 has significant lag when playing in exclusive Fullscreen - set to borderless - and disable precaching to significantly reduce loading. Also helps to reduce shadows by one level to smooth over perf. In AW, do not enable Cache Sun Spot Shadows

Origin:

  • EA APP: Launcher will hang on startup and popup the crash reporter (a black window on Wine-GE) every time a Wineprefix is updated from changing Wine versions. Need to press the right-most Exit button in the window, wait for the crash reporter to silently close, then re-launch for it to work.
  • EA APP UPDATES: Launcher will prompt to update every so often, but the actual update installation will crash at the end causing the client not to update. Requires manually overwriting the launcher with the Staging files.
  • Origin installs without much issue, assuming you use the appropriately titled fix.
  • Games tied to another launcher (i.e. SWBF2-EA) needs that launcher installed, which is just a problem no matter the OS. :<
    • If it's activated from Epic, Legendary from the host can be used; make a clone of Origin's launcher, and set the Command Prefix to legendary launch --origin GameCodeName --wine-prefix /path/to/OriginPrefix - or use the legendary Windows binary in the prefix with a batch script (same command, minus the --wine-prefix bit), and add it as a non-Origin game. Works for SWBF2-EA, saves a whole gigabyte of memory in the process.
      • Might need to run legendary list-games -T and/or legendary activate --origin MtMassive
  • DICE Frostbite Games (BF4, BF1, BFV): "Post Processing" chug beyond Medium is fixed in modern Wine/DXVK. BF5's DX12 mode works so long as RT isn't enabled, but uses somewhat more VRAM.
  • SWBF2-EA: Seems to work better than BFV, in that the post processing setting doesn't cause the same chug problems. DX12 doesn't work though. 🤷
  • NFS:MW 2012 runs perfectly, even with HD Effects (requires dinput8 override in winecfg).
  • Star Wars - Jedi: Fallen Order (TODO: check again): has VRAM flushing problems, needs to manually set DXVK memory limits in a dxvk.conf file next to the exe with the contents dxgi.maxDeviceMemory = x (replace x with ~75% of your GPU's VRAM, in MB).

uPlay:

  • Ubisoft Connect/uPlay installs just fine.
    • uPlay may get stuck at "looking for patches": caused by fsync patches; disable temporarily on updates, or reinstall with a fresh installer from Ubisoft to force-update the launcher. Fixed on modern Wine.
  • Far Cry 3/Blood Dragon: Works after installing vcrun2010 separately through Winetricks rather than allowing uPlay to install it itself (citation needed?)
    • Side note: uPlay can CRASH THE SYSTEM just because it ramps up CPU utilization from syncing saves. Have I mentioned uPlay sucks yet?

Steam

Steam Games:

  • Batman Arkham Asylum: Interactive physics requires physx to be installed, WINEDLLOVERRIDES=nvcuda=n,b to be set as an env var, and transferring a working "PhysXDevice.dll" from another game (other Arkham series titles) to the working game directory; BmLauncher now supports Linux (made with calibri font in mind) ootb.
  • Batman Arkham City: For PhysX to work, install physx with Protontricks and remove the nvcuda (??) override (it disables CUDA usage); effects work with maybe slightly more but the same FPS difference between PhysX off/on with Windows.
  • Batman Arkham Origins: Ditto as with City. If it black screens, remove the prefix and make it with Experimental, seems to function that way.
  • Binding of Isaac: Native version is unsupported, Proton is preferable for DLC and performance(?).
  • Bionic Commando Rearmed: Works as of current Proton-GE, and with clean sound to boot! (As of late-2023)
  • Bright Memory Infinite: Works with missing videos on Proton 5's, doesn't get past a white screen transition on Proton 6.x or GE. Works on modern Proton versions just fine (as of 2023); D3D12 performance works better on NVIDIA cards Turing and onwards, basically unplayable on < Pascal but runs well with D3D11 mode.
  • Bulletstorm: Needs an mf-install set to the prefix (run WINEPREFIX=/home/user/.local/share/Steam/steamapps/compatdata/71250 PROTON=/path/to/protondir ./mf-install.sh -proton) or else videos don't work/audio when loading at a checkpoint fails. Seems to work on new prefixes perfectly fine without mfplat.
  • Cloudberry Kingdom: Needs videos/music to be re-encoded from wmv/wma to ogv/ogg. Re-encoded music works perfectly, but videos (story cutscenes/intro/credits), will play too fast with choppy audio.
  • CoD Black Ops 1: Works now with latest Proton Experimental & GE (was Proton 7 at time of writing); getting into MP servers is temperamental, just like on Windows. Mouse sensitivity seems all over the place Performance seems fixed in recent versions of DXVK/Wine (written as of late-2022).
  • CoD Black Ops 2: Should work ootb now (used to be that SP only works, but MP/ZM doesn't), but use Plutonium installer from Lutris anyways. Fuck Activision. BLOPS2 needs Proton-GE 7-24 to avoid stuttering.
  • CoD Black Ops 3: Works ootb, with the mods solution sorted on newer versions of Steam Runtime - Soldier (as of late-2023). Works with BOIII so long as it's run as a non-Steam game/replaced launch command for BO3. Cached frames of the last played video are shown on subsequent videos, ultimately minor. Fixed on newer revisions of Proton 8-and-onwards.
  • CoD Ghosts & Advanced Warfare: Works perfectly ootb. Apparently these never used CEG, so the confirmed worst CoD games just werk.
  • Dead Rising: Works ootb on Proton 7.x-and-onwards. For 6.x, needs xact through protontricks to fix infinite loadscreen bug.
  • Dead Rising 2 (OtR): Works ootb on Proton 7.x-and-onwards. For 6.x, needs xact through protontricks. Lots of judder/pop-in due to shader compilation judder seems to be fixed, but mouse disappears when not moving in UI.
  • Dead Rising 3: Works ootb on Proton 7.x(?)-and-onwards. For 6.x, needs xact through protontricks to fix momentary crashing. Lots of judder/pop-in due to shader compilation but runs well otherwise. Stuttering seems to be fixed?
  • Drake of the 99 Dragons: Launcher needs mfc42 to work; MPEG videos requires Proton-GE with gstreamer nvidia library from Wine-GE, and launcher crashes with majesco.mpg as-is and needs to be renamed/deleted. Replace the dgVoodoo install with a current one (run with a d3d8 override) for better performance, or stick to WineD3D if the GPU is powerful enough. Sound always plays at full volume when not using either dsound protontrick (delayed audio), or dsoal libraries in the game's executable directory (can sound muffled due to game's EAX implementation).
  • Earth Defense Force 4.1: Works perfectly, except for fullscreen forced vsync messing up (TODO: check?); make a dxvk.conf file in the directory and set dxgi.syncInterval = 0 to effectively disable vsync for perfect performance.
  • MGSV: Freezes when using Exclusive fullscreen, use Borderless(?).
  • MGR Revengeance: Needs Protons post-April 2022 for DXVK fullscreening fix.
  • N++ (Linux Native): Outdated library needs to be substituted with sudo ln -s /usr/lib/libldap.so /usr/lib/libldap-2.4.so.2 Just needs to use the "Steam Linux Runtime" compatibility tool; Wine version loads forever.
  • Prey (2006): Works on recent Proton versions, so long as MSAA is disabled; running the Windows binary through Wine is still preferred over the native port, since the latter does not respect fullscreening very well.
  • PSO2: Requires either Proton-GE, or that the filesystem support casefolding (mkfs -t ext4 -O casefold) and that at least the pso2_bin directory tree be set to case-insensitive (chattr +F dirname), because of SEGA bug related to file searching that trips Wine's case-unfolding and induces heavy stutter. Works perfectly with this fix, but Steam overlay may induce a small freeze similar to above when summoned. RTX DLSS supported when NVAPI's enabled.
  • SAO-HF: Set in-game window type to borderless, or graphics scaling is blurry. Seems to be fixed.
  • SAO-HR: Currently hangs on a load screen on Protons newer than "Proton-7.3-GE-1". Fixed in later Proton Experimental versions (as of early-2023?).
  • Splitgate: Use Native version to avoid anti-cheat having a tantrum.
  • RE4HD: re4-tweaks works with dinput8 override added in winecfg.
  • RE5: Needs Proton-GE for its WMVs fixes; videos work doing this, as well as the fixes patch. If it freezes on FMVs, recreate prefix with GE.

Steam Mods:

  • Bethesda RPGs: Works perfectly with mods; use steamtinkerlaunch to install Vortex (with STL's Proton), and will symlink found games' necessary files automagically. ! (If sharing: Local AppData and Save folders won't be found if they're symlinked, and need to be copied normally; file syncing needs to be done in some other fashion)
    • Fallout New Vegas's JIP LN plugin needs vcrun2019 for full functionality; everything from Viva la Vegas w/ TTW et. al. works perfectly including FNVLODGen (stopped working recently?), heap replacement and dll-based plugins.
    • Fallout 4 needs vcrun2019 for full functionality; everything from Midnight Ride et. al. works perfectly including BodySlide, Buffout, RawInput, and other plugins. Performs well except in very bizarre edge cases where looking at certain buildings reduces framerate (seems like a vanilla bug?).
    • Skyrim SE needs vcrun2019. All mods work, including engine fixes and display tweaks - except for FaceGen (CTD's on launch) and BestInClass++ (CTD's on opening Inventory); sometimes case sensitivity causes snafus when deploying initially.
  • Dark Souls (PTDE): DSFix requires dinput8 verb installed in prefix; works with GE now (since sometime in Proton-GE 8-x), but (wmv) videos don't load atm.
  • Metal Gear Solid V - Ground Zeroes/The Phantom Pain: SnakeBite mod manager seems to work OOTB when run in GZ/TPP's prefix - though qar_dictionary.txt and fpk_dictionary.txt have to be manually symlinked/copied to the game executable's directory when running SnakeBite's first time setup wizard.
  • Monster Hunter Rise: Seems to work ootb with mods when setting WINEDLLOVERRIDES="dinput8=n,b", so long as using the nightly version of the mod loader.
  • Payday TH: DAHM works perfectly without tweaking.
  • Payday 2: Has a Linux port of SuperBLT which kind of works--the updater menu doesn't, but the hook itself seems fine. It's honestly easier to just install the Windows version instead (set compatibility tool bit), set WSOCK32 override and get perfect mod compatibility.
  • Saints Row 2: Ignoring the Linux port, Gentlemen of the Row w/ SuperUI SuperMods works ootb; run the script with a wineconsole (if it doesn't work with mono, prefix needs dotnet35), copy files as designated, and copy input.bin to ../compatdata/9480/pfx/drive_c/users/steamuser/AppData/Local/THQ/Saints Row 2/.
  • Sonic Adventure DX: Original SADXModManager needs vcrun2017 (GUI works with Mono, but if problems, install dotnet40), or the newer SAModManager needs .NET 7 which can be installed normally when prompted; set d3d8 override for Lantern Engine compatibility. For NVIDIA cards, MPEG videos needs Proton-GE with the nvidia gstreamer codec from earlier Wine-GE releases works fine with Proton-GE9 and onwards.
  • Sonic Adventure 2: Original SA2ModManager works ootb (GUI works with Mono, but if problems, install dotnet40 and vcrun2013), or the newer SAModManager needs .NET 7 which can be installed normally when prompted. For mods, you can simply remove/rename Launcher.exe and either create a symlink or copy of SAModManager.exe and call it Launcher.exe.
  • Sonic Generations: HedgeModManager can be installed into a separate Wine prefix (Lutris, SteamTinkerLaunch, etc.) with dotnet48 and vcrun2019 installed. If it doesn't work, install vcrun2019 into the Generations Proton prefix as well. DX11 mod needs d3dcompiler_47 to fix black screen on launch. Now included with DX11 mod. "FPS Lock" HMM codes causes crashes on launch.
  • 64-bit Hedgehog Engine Games (Forces, Frontiers, Olympics, Puyo-Tetris 2, Colors Ultimate?): The first time you're modding these titles, the game needs to be started clean with Proton-5.9-GE-8-ST/Proton 5; then start SteamTinkerLaunch to let it install dotnet48 & vcrun2019. Only afterwards can Proton be set to current/preferred version.
  • Star Wars Battlefront 2 (Pandemic, 2005): Unofficial patch 1.3 (or Remastered) works fine, shaderpatch needs Arial fonts and d3dcompiler_47 from protontricks if not provided shaderpatch now comes with d3dcompiler_47 and will fallback to original fonts if Arial Black isn't installed into the game's Proton prefix. OIT functions "work" on modern DXVK but doesn't render some effects, i.e. bloom and explosions.
  • SpecialK's: New Global Injector works, game-specific (i.e. TZFix/ToBFix) work with caveats.
    • Tales of Zestiria (TZFix) works with configuration: CEGUI-related options need to be disabled to prevent crashing. Should work out-of-the-box on current Protons (8+). Framerate Target unlocking needs to be set to double the desired framerate, as old-SpecialK's framerate interpreter is jacked for some reason. Audio fix, if needed (read: shouldn't), needs compatibility bit set on. Enhancement options work, but runtime mips generation has slightly more noticeable hitching than on Windows, yet still performs similarly; replacement framelimiter causes FMVs to have improper frame pacing and desynced subs. Disable "DisablePS4HID" to prevent SK from stealing the controller from the game regardless of Steam Input.
    • Tales of Berseria works best when using latest SpecialK64 as d3d9 (requires vcrun2022); does not have a dedicated fix embedded, but just it existing fixes macrostutter.
    • Tales of Vesperia (TVFix) works best when using latest SpecialK64 as dxgi (requires vcrun2022) in combination with the TVRevival rollback executable (not needed, works w/ current retail); embedded TVFix enables options to fix microstutter/AA and can disable framelimiting.
    • NieR Automata (FAR plugin thru SpecialK) works when using latest SpecialK64 as dxgi (requires vcrun2022). Make sure the generated dxgi.ini has AsyncInit=false and UsingWINE=true to prevent crashing on start. LodMod needs xinput1_4 dll override set for it to load.
  • Vortex: Installed from steamtinkerlaunch. Creates appropriate symlinks to provided directories automatically. When syncing with Windows, use a Database Backup created from WinVortex, then symlink the downloads folder from "%APPDATA%\Vortex\downloads" to ~/.config/steamtinkerlaunch/vortex/compatdata/pfx/drive_c/ProgramData/Vortex/downloads. Helps also to enable/start winecfg for the Vortex prefix and map the staging drive as-was on Windows. General note: can somewhat easily corrupt an NTFS partition during deployment of largely modded instances, works better with a native Linux fs.

Epic Games Store (thru Heroic):

  • 20XX: Requires d3dcompiler_47; d3dx9 seems to break ability to run (TODO: check which libs needs a builtin override if d3dx9 is installed).
  • Batman Arkham Knight: Ditto as with City/Origins from Steam for enabling NVIDIA effects. Only FPS killer is Interactive Smoke/Fog.
  • Bioshock Infinite: May crash sometimes in level transitions, but is also a generally buggy port. Needs to be launched from game binary directly, because optional 2K launcher doesn't work and is pointless anyways Heroic/Legendary will bypass the 2K launcher automatically now.
  • Borderlands 2: Needs d3dx9, vcrun2005/2008/2010, and physx. Use -nolauncher, or install dotnet40; can be broken by other common dependencies, including use with Pre-Sequel?
  • Borderlands Pre-Sequel: Winetricks, needs BL2 dependencies plus d3dx10/d3dx11_43; can be broken(?) by other common dependencies.
  • Hitman 3: Works with modern Wine. Similar-ish performance to Windows. Also DLSS is allowed but not RT for some reason VKD3D 2.12 enables working RT for Nvidia cards now.
  • Nioh: Works ootb; mfplat-related videos-not-playing-crashes on Wine 6.x, but will gracefully continue regardless on Wine 7.x.
  • Saints Row III Remastered: Works ootb, window mode changes/scaling works on Wine/Proton with DXVK FSR hacks enabled.
  • Sonic Mania: Works so long as you don't reset video mode in-game (black screens). If problems, install vcredist2015 (but works ootb with clean prefix?)

Utilities:

  • JPEGView works ootb.
  • Foobar2000 works ootb. Has an AUR package for easy installation and integration.
  • 8BitDo updater works in Wine after installing seguisym.ttf (Segoe UI Symbol) from a Windows installation to the running prefix, but does not actually detect controllers to update.
  • x360ce requires dotnet45 to work (remember to set WINEDLLOVERRIDES=xinput1_3=n,b for desired games)
  • DualSense updater works with a Dotnet 4.8 enabled prefix. Doesn't work on Wine versions past GE7-36(?), use a prefix with GE7-35.
  • NVIDIA PhysX may be causing performance throttling on too fast GPUs? Being investigated at https://mstdn.games/@ThatOneSeong/111139918479598467

Controller note: Dualsense BT as Xinput can be enabled (if not set already) with the registry entry HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\winebus DisableHidraw=dword:00000001

Not Working

Steam:

  • SW Force Unleashed 1: Launcher doesn't work; game can be forced to launch from exe just fine, but will run at default settings without the Launcher to facilitate changes. Launcher works now in modern Proton, and game itself runs just as it should ootb.
  • Sniper Elite V2 (original): Doesn't launch from the Launcher; the remastered version works, apparently.

Non-Steam:

  • Star Wars X-Wing Alliance: Works well enough with script; XWAU Mega Patches need directplay, dotnet46, vb6run, vcrun2017, and oleau32 verbs installed... even though the installers/replacement launcher are seizure-fuel due to flickering black windows. Disable DXVK for the mod's windows to work - goes in-game, but eventually crashes? Also might just crash in general with the effects packaged with XWAU?
  • Scarface: Works with DXVK ONLY when using dgVoodoo2's d3d9 path, but has sound bugs (either choppy audio or delayed sound)--might be related to SilentPatch? Game is an enigma in general on PC.
  • EA Launcher (TODO: check again): seems to have problems with Wine 8, works on WineGE-7-43, but updater will always crash requiring manual overwriting of files. Sometimes will stop working entirely, requiring a fresh prefix and a reinstall. Recommend using its own prefix.

Outdated Info:

These are notes rendered obsoleted either by newer methods, or changes to Wine/Proton since writing, mostly kept for historical purposes

  • 7th Heaven Mod Manager: Hooking for mods fails with most Wines Vaniglia 7.5 works with 7H hooking, but will crash the interface, so use Wine-GE for configuring; game standalone with FFNx rendering does work regardless. Requires dotnet48 for hooking. Defunct, since 7H migrated to .NET 7. Works out-of-the-box using its installer, so long as Linux host doesn't have a native .NET 7 runtime installed (confuses Wine because of shared envvars). Requires 32-bit & 64-bit redists since app is x64 only and FF7/8 is 32-bit. Needs dinput verb and WINEDLLOVERRIDES=dinput=n,b for hooking; affected by native dsound lag.
  • Hat in Time: For NVIDIA RTX, needs a custom Proton that uses a patched DXVK from https://github.com/gnusenpai/dxvk which makes a one-line revert for Star Citizen. Can be achieved by making a "custom" compatibility tool with the files symlinked from a useful Proton-GE instance, except with ./files/lib/wine/dxvk and ./files/lib64/wine/dxvk folders that replace the files with the ones provided from above repo's latest release; symlink in missing dxvk_config, openvr, and version files. Works perfectly after doing this.
  • Sonic Generations Modding: HedgeModManager requires a prefix made with Proton based on Wine 5.17 and earlier, or else .NET 4.0 fails, then run protontricks 71340 --force dotnet48 vcrun2019 d3dx9 d3dcompiler_47 to install dependencies; set the game launch command to (gamemoderun here) /path/to/proton-version/proton waitforexitandrun '/path/to/steamlibrary/common/Sonic Generations/HedgeModLoader.exe'; echo %command%. atm, it will crash without creating a symlink to /mnt/ at {WINEPREFIX}/drive_c/. fixed in new HMM update. If mods don't activate, set a d3d9 dll override in Gen's launch command (WINEDLLOVERRIDES="d3d9=n,b")
  • Tales of Berseria (TBFix) works with configuration: everything about TZFix applies, both good and bad, except there is no option to override the framerate with a higher target - recommended disabling the Fix's framerate limiter and using the vanilla one. Still works otherwise. Will stay minimized if made to do so, recommend using Borderless.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment