Is there any way to run a MIPS binary on a Linux x86/x86-x64 machine? I got some applications for Enigma2 set-top-boxes (which is also based on Linux) that I want to run on a x86/x86-64 machine. These plugins are only available for MIPS processors.
-
You need to find MIPS emulators for Linux and run your apps inside emulator. – M.Mahdipour Apr 22 '17 at 18:54
-
1Possible duplicate of [How can I execute MIPS assembly programs on an x86 linux?](https://stackoverflow.com/questions/464313/how-can-i-execute-mips-assembly-programs-on-an-x86-linux) – phuclv Apr 13 '19 at 14:17
-
@phuclv that question refers to the spim emulator which can only emulate assembly but not the binary itself – KuhakuPixel Mar 24 '22 at 13:30
2 Answers
The keyword is "emulator". The most famous emulator is qemu which can pretty much emulate any architectures out there, but there are also lots of MIPS emulators on Linux that you can find in the Linux-MIPS wiki:
- Open Virtual Platforms (OVP) OVPsim
- GXemul
- SimOS
- Sulima
- MIPSsim
- MipsSim
- SPIM
- VMIPS
- Virtutech Simics
- SandUPSim
- MPS
- YAMS
- MAME/MESS
- MISSE
- Cisco 7200 Simulator
- QEMU
- VirtualMIPS
- Miep
- MARS
- QtMips
Note that there are full-system emulation (which is heavier) and user-mode emulation which emulates a single process. Depending on which type you need you must choose one, but qemu supports both
- Full-system emulation: Run operating systems for any machine, on any supported architecture
- User-mode emulation: Run programs for another Linux/BSD target, on any supported architecture
However performance will be terrible so you'll never want to run an app that need to be fast like a video decoder in a set-top-box. If the source is available then just recompile it

- 37,963
- 15
- 156
- 475
-
Some of these emulate a whole machine that you can run Linux-MIPS on (e.g. QEMU). Others emulate a "toy" MIPS with some "system calls" that call into the emulator itself as a simple standard library for reading/writing strings and numbers in various formats, and maybe some MMIO devices or video RAM (MARS, SPIM). Important to sort your list into different types of emulators. – Peter Cordes Apr 14 '19 at 01:01
-
Also, some are emulators (applying the as-if rule however they want, like dynamic recompilation at least when you're not single-stepping, e.g. maybe QEMU), while others are actual *simulators*, e.g. of the classic 5-stage RISC pipeline. MARS has a microarchitecture window you can open to see instructions go through pipeline stages. – Peter Cordes Apr 14 '19 at 01:03
Qemu could be your Messiah this time. I use it personally and it really saves a lot of pain using an FPGA. https://www.linux-mips.org/wiki/QEMU
Of course, this isn't natively executing the MIPS binary on your computer. But I suppose that if you can find plugin of your app coded for MIPS processors, the app itself can be found for MIPS.

- 320
- 2
- 6