Skip to content

Supported Operating Systems

vintagepc edited this page Jan 15, 2022 · 7 revisions

Linux:

Linux is the primary development environment, and should be fully supported and functional. In addition to the g-7/libstdc6 toolchain, you will need:

  • libelf-dev

  • gcc-avr

  • libglew-dev

  • freeglut3-dev

  • libsdl-sound1.2-dev

  • libpng-dev

Windows support:

Windows is not natively supported, but MK404 can be run through Cygwin. It is currently passively maintained with a Cygwin build runner, but we do not actively test or use it. You can build and execute the program using Cygwin - see the detailed guide HERE. If you just wish to know what packages are required, they are:

  • cmake

  • make

  • libelf-devel

  • gcc-core

  • gcc-g++

  • libstdc++-6-devel

  • libglut-devel

  • libGLEW-devel

  • libSDL_sound-devel

  • libSDL-devel

  • avr-gcc

  • libpng-devel

  • xorg-server

  • xinit

Note on Native Builds

  • Due to SimAVR’s heavy dependency on POSIX features (some of which we also use) and the fact I run Linux as my day-to-day OS, it is unlikely there will be a native Windows build in the foreseeable future. If you encounter issues with the Windows build, you are welcome to file a bug report and I’ll make a best effort to address it, but I cannot make any guarantees.

  • There is a known issue with TelemetryHost causing a segfault trying to register its scripting actions/menu. This is disabled for now, if you need this feature on Cygwin, please feel free to open an issue.

OSX:

Thanks to a contribution from @bozzzzo the current code (Aug 2020) compiles and appears to run on OSX. We have added a build runner (macos-latest) in an effort to maintain this functionality. You are welcome to file bug reports and as with Windows I will do my best, but as I do not have the hardware or software in question, my support abilities will be severely limited.

You will need the following in addition to the standard Clang toolchain:

Note: The build runner expects to find these packages in /usr/local/opt, which appears to be the homebrew default. If you use a different package manager or have these packages installed elsewhere, you may need to symlink the libraries here (at least, until such a time as we assemble a bundled package with dependencies.

  • brew cask install xquartz

  • brew tap osx-cross/avr

  • brew install libelf freeglut glew SDL avr-gcc libpng

  • If you get errors along the lines of "cannot open display", you may need to reboot your system and then try again.

Note on OpenGL Deprecation

OSX is apparently deprecating OpenGL, so we do not know how long this support will last.

Clone this wiki locally