Release notes
Ongoing rewrite, so expect bugs!
Citron Emulator v0.7.1 Changelog
The Citron Team Welcome's Collecting As An Official New Contributor!
Linux Builds Powered By Collecting & Samueru-sama
New Features
Input & Controls
Mouse Wheel Support: Added mouse wheel support for game input passthrough, improving desktop gaming experience
SixAxis Sensor Validation: Enhanced SixAxis sensor validation and error handling for improved controller stability
Visual Enhancements
VRAM Monitoring Overlay: Added modern VRAM monitoring overlay with clean, clutter-free UI
Temporal Anti-Aliasing (TAA): Implemented TAA support for both OpenGL and Vulkan renderers
Performance Overlay Improvements: Enhanced performance overlay with drag-to-move functionality and Wayland compatibility
Audio System
Audio REV13 Renderer: Added REV13 audio renderer support for broader game compatibility
Audio Stability: Major audio stability improvements and crash fixes
Audio REV15 Renderer: Still Under Active Development
VRAM Management
High-End VRAM Mode: Added High-End VRAM mode with optimized memory usage
Insane VRAM Mode: Implemented Insane VRAM mode with leak prevention mechanisms
Low GPU Accuracy Setting: Added Low GPU Accuracy setting for maximum performance on lower-end hardware
Platform Support
Qt6 Migration: Complete migration to Qt6 with aqtinstall 3.3.0 integration
Wayland Optimizations: Added Wayland-specific UI optimizations and performance improvements
Linux Compilation Fixes: Resolved various Linux compilation issues and X11 macro conflicts
Improvements
Build System & CI/CD
GitLab CI Overhaul: Complete overhaul of GitLab CI pipeline with improved build configurations
Android Build Fixes: Fixed Android build configurations and dependencies
Cross-Platform Compilation: Resolved compilation issues across Linux, Android, and Windows platforms
Boost Process Integration: Improved Boost.Process integration with optional component handling
Shader Recompiler
ISBERD Instruction: Implemented ISBERD instruction for internal stage buffer reads (with proper error handling)
Visual Comparison Of 0.7 && 0.7.1 ISBERD impl
Memory Management
ZBC Clear Support: Added OpenGL ZBC clear support and refactored ZBC management system
Memory Leak Fixes: Multiple memory leak fixes and stability improvements
VRAM Leak Prevention: Enhanced VRAM leak prevention in Insane mode
Service Implementation
NIM Services: Properly implemented NIM (Network Interface Management) services
SSL/TLS Services: Complete SSL/TLS service implementation with proper error handling
ACC:U0 Service: Implemented missing acc:u0 functions per SwitchBrew specification
Bug Fixes
Critical Fixes
Null Pointer Dereference: Fixed critical null pointer dereference in patch_manager.cpp
Memory Leaks: Resolved multiple memory leak issues across various components
Audio Crashes: Fixed audio-related crashes and stability issues
Service Manager Crashes: Resolved crash-on-exit issues from ServiceManager null pointers
Platform-Specific Fixes
Android Aspect Ratio: Fixed aspect ratio crash for non-16:9 settings on Android
Wayland Compatibility: Fixed Wayland-specific UI issues and performance overlay problems
X11 Macro Conflicts: Resolved X11 macro conflicts with enum values and Qt constants
Linux Compilation: Fixed various Linux compilation issues and dependency problems
UI/UX Fixes
Properties Window Scaling: Fixed properties window scaling issues
Performance Overlay: Fixed drag-to-move functionality for performance overlay
VRAM Overlay: Cleaned up VRAM overlay layout and removed visual clutter
Wayland UI: Fixed Wayland UI layer issues and untoggle functionality
Build System Fixes
CMake Configuration: Fixed CMake target_compile_definitions errors
Boost Process: Resolved Boost::process optional component issues
Qt MOC Generation: Fixed Qt MOC generation for conditionally compiled components
Submodule Initialization: Resolved submodule initialization failures in GitLab CI
Reverted Changes
ISBERD Implementation: Temporarily reverted ISBERD instruction implementation due to stability issues
Audio Enhancements: Reverted some audio enhancements that caused stability problems
X11 Macro Fixes: Reverted X11 macro conflict fixes that introduced new issues
Technical Improvements
Code Quality
Static Cast Fixes: Added proper static_cast usage for type safety
Variable Initialization: Fixed uninitialized variable issues
Error Handling: Enhanced error handling across multiple components
Performance
Fastmem Pointer: Resolved fastmem_pointer type compatibility issues in dynarmic
Discord Rich Presence: Fixed Discord Rich Presence timer and compilation issues
Environment Variables: Improved SSL and Wayland environment variable handling
Dependencies
RapidJSON: Added rapidjson compiler patch for better compatibility
STBI: Added STBI_NO_SIMD definitions for improved performance
Auto Updater: Made updater functionality conditional with CITRON_USE_AUTO_UPDATER option
Testing & Validation
Enhanced testing coverage for new features
Improved error reporting and debugging capabilities
Better crash recovery mechanisms
Known Issues
FSR2 implementation remains experimental (as noted in v0.7)
Some kernel event handles still require completion
Wayland performance optimizations may need further tuning
BOTW/TOTK Support will be included in the next update for their latest respective updates 1.8.2/1.4.2
Note: This release focuses on stability improvements, platform compatibility, and performance enhancements. The FSR2 && TAA implementation remains experimental and should be used with caution.
Full Changelog: https://git.citron-emu.org/citron/emulator/-/releases/0.7.1
Is citron the emulator that tried to implement DRM into their emulator? I don’t really remember but I’ve been meaning to find a good yuzu fork recently
Yes, their lead dev Zephyron is an asshole and tried that which lead to a developer schism. I don’t link to them in the sidebar here for that reason. The alternatives are in said sidebar here :)
Edit: The devs who left Citron moved to Eden mostly I think.
The drm dev moved to Eden or is citron still led by them?
No, that was Zephyron’s (citron) idea. He backtracked but the asshole part remains true, it’s not his only drama.
Eden was started by former Citron developer Camille LaVey and the new Eden team.