TASEmulators / TASEmulators/BizHawk

[🐧] GNU+Linux compatibility progress

Open
#1,430 335 comments 15 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

App: EmuHawk Meta re: Multiplatform
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

edit 2026-07-20: Locking this thread so no-one can ping 50 users at once. There aren't many new Linux-only bugs anyway, and you can always open a new issue.

jump to known bugs

Overview:

  • Nothing on this page applies to the (discontinued) macOS port.
    • Also, EmuHawk is only for x86-64 machines for the time being. If you have an x86 or AArch64 machine, you should have no trouble installing the rundeps, but EmuHawk will crash on start; see #3687. Contributions welcome.
  • Build instructions are in the readme. tl;dr: run Dist/BuildRelease.sh.
  • "Installation" instructions are also in the readme. tl;dr: run output/EmuHawkMono.sh.
    • No Wine required! If you get it working in Wine, good for you, but I'm going to ignore you and hide any counter-productive comments.
  • 40-ish of 45-ish systems can be emulated, with the notable exception of N64 (Mupen64Plus isn't available, and the experimental Ares64 core is too slow).
    • But this may soon be resolved with #4117!
  • For casual players, most things work as they would on Windows.
  • For TASers, most things work as they would on Windows.
  • For glitch hunters and romhackers, everything sucks and I'm sorry. But if a core is available on Linux, and the core implements the necessary services for a tool, then it should be at least functional.
  • Before 2.10:
    • Command-line flags to EmuHawkMono.sh are passed through as expected. The single exception is if you pass --mono-no-redirect as the first flag, which disables redirecting stdout/stderr to EmuHawkMono_last*.txt (the default behaviour is to write to disk instead of the terminal).
    • When it inevitably crashes, some errors go to the terminal/EmuHawkMono_last*.txt, some appear in dialog boxes, some both. Most of these error dialogs will either have a "Copy" button, or will allow Ctrl+C.

As of 2.10.1, the following systems can be emulated:

  • 3DO with Opera (I don't have roms --yoshi)
  • 3DS with Encore
  • Amiga with UAE
  • Apple II with Virtu
  • Arcades with MAME
  • Atari 2600 with Atari2600Hawk or Stella
  • Atari 7800 with A7800Hawk
  • Atari Jaguar with VirtualJaguar
  • Atari Lynx with Handy
  • Channel F with ChannelFHawk (I don't have roms --yoshi)
  • ColecoVision with ColecoHawk
  • Commodore 64 with C64Hawk (loads to BASIC prompt, at least --yoshi)
  • DOOM with DSDA-Doom
  • Game Boy and GBC with Gambatte, GBHawk, or SameBoy
  • GBA with mGBA
  • Intellivision with IntelliHawk
  • Magnavox Odyssey² with O2Hawk
  • MS-DOS/Win9x with DOSBox-X
  • MSX with MSXHawk
  • N64 with Ares64
  • N64DD with Ares64 (I don't have roms --yoshi)
  • Neo Geo Pocket / Color with NeoPop
  • NES/Famicom plus FDS with NesHawk or QuickNes
  • Nintendo DS with melonDS
  • Nintendo Virtual Boy with Virtual Boyee
  • PC Engine / TG-16 and SuperGrafx plus CD with HyperNyma, PCEHawk, or TurboNyma
  • PC-FX with T.S.T.
  • PSX with Nymashock
  • PSP with PPSSPP (I had troubles with it during the PR phase --yoshi)
  • Sega 32X with PicoDrive
  • Sega CD with Genplus-gx
  • Sega Game Gear with SMSHawk
  • Sega Genesis / Mega Drive with Genplus-gx
  • Sega Master System with SMSHawk
  • Sega Pico with Genplus-gx (I don't have roms --yoshi)
  • Sega Saturn with Saturnus
  • Sega SG-1000 SMSHawk
  • SNES/SFC with BSNES, Faust, or Snes9x
  • Super Game Boy with Gambatte or BSNES
  • TI-83 with Emu83 or TI83Hawk (see "Issues with TI83Hawk" below)
  • TIC-80 fantasy console with TIC-80 reference implementation
  • Uzebox fantasy console with Uzem
  • Vectrex with VectrexHawk
  • WonderSwan / Color with Cygne
  • ZX Spectrum with ZXHawk
  • Anything else via Libretro cores (provided they don't crash)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This is a locked compatibility tracker rather than a scoped task. Start with the linked known-bugs list and the README's Linux build and installation instructions, including Dist/BuildRelease.sh and output/EmuHawkMono.sh. A contributor would need a newly opened, specific bug before there is a defined completion condition.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, linux
Domain
operating-systems
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.