Open Hardware & RISC-V

Raspberry Pi tutorial covers building LinApple Apple II emulator from source

Key Takeaway

Raspberry Pi's official blog published a hands-on guide for compiling and running the open-source LinApple emulator, a Linux port of AppleWin, to recreate the 1977 Apple II on modern Pi hardware.

Summary

Raspberry Pi's news site published a Maker Monday tutorial walking users through compiling LinApple, an open-source Apple II emulator for Linux, on Raspberry Pi OS. The guide covers installing build dependencies including SDL3, cloning the linappleii/linapple repository from GitHub, building with CMake, and configuring the emulator for first use. LinApple is a fork of the Windows-based AppleWin emulator, originally created by Mike O'Brien and later ported to Linux by David Baucum and contributors. The tutorial also mentions audetto's alternative fork, which tracks upstream AppleWin more closely through regular synchronization.

The article provides historical context on the Apple II's 1977 release alongside the Commodore PET and TRS-80, Steve Wozniak's game-influenced design decisions including color graphics and paddle controller support, and the system's Integer BASIC implementation. The tutorial includes specific configuration steps for joystick emulation via mouse, display scaling, and running a sample BASIC program that demonstrates the Apple II's high-resolution graphics capabilities.

Emulator architecture and build requirements

  • Build system: LinApple uses CMake with an optional BUILD_TESTING=OFF flag, compiles with up to four parallel jobs via -j4, and installs to /usr/local with standard CMake install targets.
  • Dependencies: The build requires SDL3 (libsdl3-dev, libsdl3-image-dev), libzip-dev, libcurl4-openssl-dev, zlib1g-dev, imagemagick, plus standard tools (git, g++, cmake).
  • Fork lineage: LinApple derives from AppleWin (Mike O'Brien); a separate actively-maintained fork by audetto exists that synchronizes more frequently with upstream AppleWin features.
  • Audio emulation: Mockingboard sound card support is included and enabled by default in the configuration file, addressing the base Apple II's limited audio capabilities.
  • Configuration: Runtime settings live in ~/.config/linapple/linapple.conf, with disk images stored under ~/.linapple/disks/; the emulator supports command-line flags including --autoboot and --d1 for disk mounting.

Why it matters

This tutorial reinforces Raspberry Pi's role as a practical platform for retrocomputing preservation and open-source emulation, directing users to compile from upstream source rather than relying on stale distribution packages. The explicit SDL3 dependency signals active maintenance of the Linux port, while highlighting audetto's fork gives users a path to more current AppleWin feature parity. For the broader open-hardware ecosystem, guides like this lower barriers to entry for hobbyists working with vintage computing software on modern ARM SBCs.

Original reference: www.raspberrypi.com →