Amiberry v8.0.0 is released. Amiberry is an optimized Amiga emulator for ARM-based SoCs (such as the Raspberry Pi, Odroid XU4, ASUS Tinkerboard, etc.), that brings you the highest performance Amiga emulation. It’s an open-source project, build with the efforts of several people and based on previous work of others.
Amiberry Changelog:
This is the first stable release of the Amiberry v8.0.0 series, covering 400+ changes since v7.1.1. This represents a massive leap forward — a new multimedia library (SDL3), a new GUI framework, new platform support (Windows, Android, Haiku), JIT across all major architectures, a complete networking stack overhaul, and hundreds of fixes and improvements.
🎉 Major New Features
SDL3 Migration
Complete migration from SDL2 to SDL3 across the entire codebase (115 files, ~4200 insertions, ~3400 deletions) (#1826)
Replace all SDL2 APIs with SDL3 equivalents (types, functions, constants)
Migrate to SDL3 Audio (SDL_AudioStream API), Gamepad, Window, and Renderer APIs
Fix SDL_WindowFlags to Uint64 (was Uint32, caused silent truncation)
NULL-deref protection for SDL_GetPixelFormatDetails() and performance hoisting out of pixel loops
Android uses FetchContent-pinned SDL 3.2.8 and SDL3_image 3.2.4
Libretro compatibility shim rewritten for SDL3
Removed cmake/FindSDL2.cmake and cmake/FindSDL2_image.cmake
Removed USE_IMGUI build option (ImGui is now the only GUI, always enabled)
DEB/RPM/Flatpak package dependencies updated to SDL3
Dear ImGui GUI (replaces Guisan)
Complete replacement of the old Guisan-based GUI with modern Dear ImGui (#1740, #1775)
DPI-aware scaling on all platforms
ImGuiFileDialog replaces old file browser
Removed SDL2_TTF and libguisan dependencies entirely
GUI position is remembered between sessions
imgui.ini file creation is disabled (settings stored in amiberry.conf)
Windows Native Support
Full native Windows version (#1781)
InnoSetup installer with SHA256SUMS and .exe release artifacts
Optional file associations for Amiga file types (.adf, .hdf, .uae, etc.)
Embedded application icon in executable
Capitalized executable name (Amiberry.exe)
Proper path resolution using executable directory instead of CWD
Console window management (no forced console on startup)
Android Native Support
Full native Android version with Kotlin/Compose UI (#1768)
On-screen touch controls with virtual joystick (#1786)
Native Android keyboard support
Android TV support
Native Home screen with content browsing
Touch scrolling improvements
Back button opens GUI
Version derived from root CMakeLists.txt (single source of truth)
Use mbedTLS instead of OpenSSL for curl SSL on Android
Coming to the Play Store soon...
Auto-Update System
Built-in update checker and self-updater (#1832)
Check GitHub Releases for new versions (stable + preview channels)
Download with SHA256 verification via libcurl
Self-update on Windows (PowerShell ZIP extraction + batch restart script)
Self-update on macOS (ditto ZIP/DMG extraction + app bundle replacement)
Self-update on Linux portable (in-place binary replacement)
Notify-only for DEB/RPM/FreeBSD installs, disabled for Flatpak/Android/LibRetro
Update check integrated into the About panel
Linux Package Repositories
Self-hosted APT/YUM package repository at packages.amiberry.com
One-liner install script: curl -fsSL https://packages.amiberry.com/install.sh | sudo sh
Ubuntu PPA: ppa:midwan-a/amiberry
Fedora COPR: midwan/amiberry
GPG-signed packages with automated CI publishing
Supported distros: Ubuntu 22.04/24.04/25.10, Debian 12/13, Fedora 42/43/44
Libretro Core
RetroArch/Libretro core integration (#1803)
Comprehensive improvements in follow-up (#1825):
Core options: sound filter, stereo separation, floppy speed, video standard (PAL/NTSC)
Modern Libretro API adoption (audio latency, buffer status callbacks, message severity)
CUE/CCD sheet parsing for CD content detection
Support for RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME (Workbench boot without game)
CD32 Pad and Joystick controller subtypes
Superhires geometry support (up to 1920×1280)
Save state bug fixes (double close, variable-size serialization quirks)
Fixed aspect ratio (4:3) and multi-port mouse polling
OpenGL Renderer & Shader Support
New OpenGL rendering backend with full GLSL shader support
Built-in CRT shader: 1084 monitor emulation
Support for external GLSL shader files
OpenGL set as default renderer (shader set to none for max performance)
Improved OpenGL ES and modern OpenGL compatibility (#1760)
Adaptive VSync implementation
Lagless VSync options (beam racing)
OpenGL and Auto Crop interaction fixed with CRT shaders (#1728)
Shader option exposed to amiberry.conf
Shader changes apply immediately
RTG CENTER mode now works correctly in OpenGL renderer
ARM64 JIT Compiler
JIT enabled for ARM64 Linux (#1785)
JIT enabled for macOS Apple Silicon (#1802)
JIT enabled for Android
Major stability fixes for ARM64: crashes, visual corruption, 64-bit pointer safety (#1766, #1824)
Fixed BSR.L / Bcc.L displacement sign extension
Fixed 64-bit pointer truncation in FPU branch handler
JIT and CPU thread can now work together (#1806)
Dynamic unstable block guard with quarantine system for startup stability
x86-64 JIT Improvements
Made 64-bit pointer-clean for Windows/Linux/macOS (#1811)
PIE compatible (#1820)
FreeBSD support with ASLR-safe cache allocation (#1814)
Fixed SIGSEGV handler crash with comp_catchfault on Linux (#1816)
Corrected JIT cache distance check threshold to actual RIP-relative limit (#1821)
Custom Bezels
Support for custom bezel/overlay images
Fixed bezel aspect ratio preservation
Fixed bezel image centering
Networking Overhaul
TAP networking backend for bridged A2065 emulation (#1784)
Complete rewrite of PCAP backend for correct bridged networking (#1777)
Segment GRO/GSO-coalesced packets in PCAP receive path (#1780)
Fixed deadlock in PCAP worker thread (#1773)
Populate device_settings when parsing A2065 config (#1774)
Tablet Pressure Support
Tablet pressure and tilt via SDL3 pen events (#1833)
Axis-only event handling and SDL hint management
Host-Shell Support
AmigaOS host-run/host-shell integration (#1742)
Haiku OS Support
Build and run on Haiku R1 Beta5 (#1827)
🚀 Performance Improvements
SIMD Bitplane-to-Chunky: ARM64 NEON and x86_64 SSE2 merge giving ~4x throughput on the hottest inner loop in the display pipeline
Skip Redundant Framebuffer Copies: Skip vbcopy() when inbuffer and outbuffer share the same backing memory
Skip OSD Rebuilds: OSD statusline texture upload skipped when LED state is unchanged (lightweight hash comparison)
RTG Zero Copy: Zero-copy rendering mechanism for Picasso96, avoiding redundant buffer copies (#1762)
CPU Threading: Enable and optimize CPU threading with multiple fixes (#1767)
Partial Renders: Only redraw changed portions of the emulation display
CL5429 VGA: Improved CL5429 blitter/fill operations for RTG performance
P96 Dirty Rects: Bridge P96 invalidation to SDL dirty rect system — only update modified portions of RTG screens (#1712, #1741)
Optimized 24-bpp P96: Faster fillrect_frame_buffer for 24-bit modes
Shader Rendering: Optimized rendering performance for shaders (#1756)
Flush Clear Screen: Optimized clear screen operations
Parallel LTO: Added parallel LTO compilation support and CPU optimization flags (#1724)
Reduced Render Overhead: Avoid SDL_RenderClear when render quad covers the entire screen; use SDL_Delay to reduce CPU wakeups
Status Line: Rendered as separate texture instead of pushing pixels on the emulation surface
🐛 Bug Fixes
BSD Socket / Networking
Major bsdsocket.library implementation overhaul (#1359)
Fix SO_EVENTMASK crash and ...
Download: Amiberry v8.0.0
Source:Here
0 Comments
Post a Comment