DuckGame-Linux
DuckGame-Linux copied to clipboard
Collection of patches to get Duck Game running on Linux using FNA, not Wine. Scroll down for instructions.
Duck Game Linux FNA patches
Because Duck Game forgets to mkdir and wine is slow
MIT-licensed
Feel free to discuss this on Reddit!
Screenshots, GamingOnLinux.com article
0x0ade on Twitter, Patreon
You can support me on Patreon!
This project wouldn't be possible without the support from:
- Ethan Lee: Thank you for creating FNA!
- Artus Elias Meyer-Toms, Renaud Bedard and Ryan Kistner: I wouldn't be able to get my hands on the game without your support!
Usage instructions:
Preparations:
- Get yourself a fresh copy of Duck Game, f.e. via Steam... through Wine... or from a friend with Windows.
- Install
mono-completeandlibcurl3:i386andffmpeg(or matching) via your package manager.ffmpeg, not "libav" /avconv.
Installing / updating:
- Download the latest released DuckGame-Linux-Complete.zip
- Extract the .zip into the Duck Game directory. Overwrite the original files when extracting.
XnaToFna.exe, andDuckGame.exeshould be next to each other; The oldSteam.dllshould be replaced by the one in the .zip. - Open terminal in Duck Game directory, run
chmod a+x ./mod.sh; ./mod.shmod.shcreates a backup of important files in anorigsubdirectory, which XnaToFna needs. It also gives all files in the directory read-write permissions for all users, otherwise both XnaToFna and MonoMod will fail.
- Run
mono DuckGame.exeOR Launch the game via Steam (addDuckGame.shto your library as "non-Steam game"). - Be a duck with a gun!
The game stores its save data in ~/DuckGame, which is technically the same as on Windows.
Current collection of patches:
- XnaToFna gets the game running using FNA instead of XNA. Thanks to flibitijibibo for FNA. Without him this wouldn't be possible!
- Non-mixed-mode Steam.dll "proxy" to Steamworks.NET - this allows you to use Steam functionality natively... although it still contains a few holes. Working on it!
- More verbose fatal error logging that help you when patching the game.
- Create missing directories automatically. Does Windows just implicitly create the directories?!
- Automatically pass -nothreading because it's faster.
- Automatically pass -nomods because the mods would need to be relinked to FNA. This doesn't happen automagically yet.
- Fix
ModLoader.modHash == null, not"nomods"when-nomodsis passed. This also affects vanilla Duck Game and can kill Steam.
If for whatever reason something doesn't work, please create an issue on GitHub. I want this to work for everyone!