Copperline 0.21.0: spectators, four controllers and desktop fixes
Copperline 0.21.0 is out. Netplay now has room for an audience, local multiplayer can use four gamepads, and the desktop does less work between finishing an Amiga frame and putting it on screen.
There are also fixes for native file pickers and shutdown, plus two changes to the default machine configuration that are worth checking before you upgrade.
Invite people to watch
A host can admit up to eight spectators on desktop or in the browser. The spectator invitation is separate from the player invitation, so a watcher cannot take player 2's place.
Spectators can join a game in progress. They receive the host's setup and media, then replay the confirmed input history as fast as their machine allows until they catch up. They follow a few frames behind the players and receive synchronized floppy changes too. There is no video stream: each spectator runs and checks a local emulated Amiga. Joining a long game takes longer to catch up.
On the desktop, choose the spectator count in Netplay settings and generate a spectator invitation. In the browser, Host game supplies a spectator link with copy, share and QR controls. Open that link and choose Watch game. Leaving a spectator session does not interrupt the players.
Netplay still has two active players. Everyone needs the same build, and desktop peers connect to desktops while browser peers connect to browsers. Mixed operating systems and browser engines still need qualification. See the Netplay guide.
Four local controllers
The desktop now reads four independent gamepads through the Amiga's two game ports and the parallel-port joystick adapter. Choose Multitap (4 joysticks) in the launcher, set both native ports to Joystick and use gamepad input mode. Cursor keys and the numeric keypad can fill spare player slots. Disconnecting one pad leaves the others assigned to their players.
The RetroArch core exposes the extra sockets as ports 3 and 4. Select Parallel-port joystick (multitap) for those ports in Quick Menu → Controls. This is local four-player support for games such as Super Skidmarks; built-in Internet play remains two-player. The desktop controller guide and libretro guide cover setup.
Display work and desktop fixes
Presentation reuses TV-aperture calculations and repeated rows, draws eligible pictures on the GPU, and moves upload and presentation work to a worker thread. The core also avoids redundant DMA decoding and Copper WAIT checks. These changes reduce host work while preserving the emulated timeline.
Video Settings → VSync now changes presentation live. It defaults on; turning it off may reduce latency where supported but can tear. PAL output still has an uneven cadence on a display with a mismatched refresh rate. Wayland scheduling has also been improved.
For high-density displays, [display] hidpi_texture = false reduces texture and copy work. Integer scaling keeps its appearance; smooth scaling may show differences in fine interlaced detail. Captures are unaffected.
- Windows tries accelerated OpenGL when automatic renderer selection lands on a CPU renderer, while respecting explicit backend choices.
- Windows file pickers keep the window responsive. macOS uses sheets to avoid the macOS 27 crash when resizing a native picker.
- Closing or quitting on macOS no longer deadlocks while the presentation worker releases the window.
- Windows Explorer launches no longer open an unwanted console. The executable gains its icon and version resources.
- PCMCIA gets its own menu, and the Netplay enable control follows the surrounding stepper controls.
RetroArch state buffers are now sized for the loaded machine: a typical A500 floppy session reserves about 14 MiB instead of 64 MiB, and an A1200 about 18 MiB. This reduces memory use and per-frame checksum work. Larger configurations need more space.
Before upgrading
- Clipboard sharing is off by default. The extra autoconfig board changes the guest's memory layout and caused a hang in Lotus Esprit Turbo Challenge. Enable it with
--clipboardor[clipboard] share = truewhen wanted. Explicit saved settings still apply. - The CD32 FMV slot starts empty. Fitting the module changed memory layout and boot timing even for games that did not use it, including Kang Fu's intro. Choose Fit in the launcher's FMV row or set top-level
fmv = trueto use the bundled open ROM. A namedfmv_romstill fits that ROM. - Recreate RetroArch save states after updating the core. The core checks a build fingerprint that includes the release version. Desktop states retain the chunked format introduced in 0.20; states from 0.19 and earlier still cannot load. Disk images and saves made inside games are unaffected.
New copperhf.device regression coverage verifies Kickstart 1.3 FFS booting with a compatible FastFileSystem. The reported crash came from a newer filesystem binary expecting libraries absent from 1.3; the documentation now explains what to check. Dependency updates include the rustls fix for RUSTSEC-2026-0285.
Thanks to Lee Hobson for the file-picker and menu work, Simon Dick for the copperhf investigation and documentation, and everyone testing and supporting Copperline.
Download Copperline 0.21.0 Try in your browser
Downloads cover macOS, Linux x86-64, Windows x64/ARM64 and three RetroArch platforms. Homebrew users can run brew update followed by brew upgrade copperline. The release includes a PDF manual and checksums. Read the full release notes or changelog.