dart193
He/Him
Player (34)
Joined: 1/20/2013
Posts: 61
There is a single reddit post on the Internet that has minimal info on running BizHawk on Steam Deck. While it helps, it is not really in-depth. So I have decided to create a post here to give instructions on how to run BizHawk on Steam Deck. It uses Proton to launch a Windows version. 1. Download WINDOWS version of BizHawk on your Steam Deck. The Linux version relies on using mono console command which does not works even after installing mono via discovery due to it being wine-mono or something. We will use proton instead. Alternatively, you could just move your windows BizHawk, but you will need to edit any path settings in config file manually first, which worked for me. That would preserve your settings. You can move files between PC and Steam Deck via Warpinator. Steam Deck version is available straight from Discovery app, windows version is called Winpinator and is freely available on the net. 2. Add EmuHawk.exe as Non-Steam game to Steam. 3. Within Steam, in EmuHawk.exe properties set compatibility to "Proton 7.0-5". You can now run EmuHawk.exe and BizHawk should crash right away. Launch it again and it will now run... but performance will be poor. 4. In display settings, choose OpenGL rendering method. Choosing DIrectX will crash the emu (that is why it crashes on first launch since DirectX is default option) and revert to GDI. GDI itself is too poor in performance. 5. Use clock throttle and disable VSync. With VSync, some cores will run at 30FPS. Throttling is needed without VSunc to prevent emu running too fast. You also need to unlock framerate in power options (the "..." button on Deck) to allow fast forward. 6. Use BizHawk in the Deck's Gaming mode instead of Desktop mode and choose gamepad control scheme to allow binding input easily. 7. In Config -> Customize -> General -> Input Method select DirectInput+XInput. Bound keyboard keys do not seem to be working with OpenTK, so if you want to bind some additional key to grip buttons (for example, I have F12 as screenshot, R4 bound to F12), you need to have DInput+XInput. That's it. The performance seems to be good. For example, QuickNES runs at 600 FPS unthrottled.
YoshiRulz
Any
Editor
Joined: 8/30/2020
Posts: 76
Location: Sydney, Australia
I'd rather fix the Mono problem than have people running it in Proton. What is the exact error message you're seeing?
I contribute to BizHawk as Linux/cross-platform lead, testing and automation lead, and UI designer. This year, I'm experimenting with streaming BizHawk development on Twitch. nope Links to find me elsewhere and to some of my side projects are on my personal site. I will respond on Discord faster than to PMs on this site.
Hey look buddy, I'm an engineer. That means I solve problems. Not problems like "What is software," because that would fall within the purview of your conundrums of philosophy. I solve practical problems. For instance, how am I gonna stop some high-wattage thread-ripping monster of a CPU dead in its tracks? The answer: use code. And if that don't work? Use more code.
dart193
He/Him
Player (34)
Joined: 1/20/2013
Posts: 61
There are two problems: 1. "mono: command not found", even though mono was installed. 2. I cannot change my deck controls because in desktop mode steam controller settings hang entire deck. Default controls are unsuitable for gaming. I have to add bizhawk to steam to use controller, but that will result in having to select proton.
Joined: 9/12/2014
Posts: 536
Location: Waterford, MI
It maybe because steamOS isn't supported yet.
dart193
He/Him
Player (34)
Joined: 1/20/2013
Posts: 61
InfamousKnight wrote:
It maybe because steamOS isn't supported yet.
This is why I have created this guide since my provided way of running BizHawk is relatively easy (in comparison to trying to get real mono if you are not a skilled linux user). It also seems to be stable. Of course this is the way intended for playing, not TASing, mostly because Windowed apps in Deck's Gaming mode do not exactly work well when multiple windows are presented (mostly due to only a single Window being able to be displayed at once). For TASing obviously you should run it in Deck's Desktop mode. However I believe that for this purpose Wine indeed would be a better choice if it is verified that BizHawk properly behaves in it. There is a possibility that in Proton there may be accuracy issues, although I am able to play games without any noticeable problems.