Added/Changed
- Added an option to auto-hide widgets on the main screen
Video_2026-10-27_11-39-48.mp4
- Added a progress bar to the splash window
- Updated the splash window strings
- Added tooltips to most options in the Settings window
- Most settings can now be changed in real time without restarting the app
Settings that still require a restart are marked with an asterisk (*) after their names - The gamecontrollerdb is now updated weekly
- Categories in the Overview panel are now sorted alphabetically
- Implemented smooth scrolling
- Kept Proton runners read-only during extraction. Thanks @vsharha
- Long game titles are now truncated in List mode to prevent the window from stretching
- The absolute path is now set for PROTONPATH to prevent issues
- Improved carousel animations
Fixed
- Fixed some inconsistencies in interface customization
- Fixed an issue where scrolling would stop before reaching the end when navigating through games using the keyboard or gamepad
- Fixed an issue where the post-launch script would be killed when closing the game
Performance Improvements
- Covers and banners are now loaded on demand
- Images are resized to match their display scale
- Image memory is now freed when scrolling
- Banners are now loaded in a separate thread
- Removed and modified visual effects to reduce rendering overhead
- These changes reduced resource usage and improved scrolling smoothness.
In a small library, these changes should go unnoticed. However, in a large library, especially in Covers mode, the difference is huge.
This synthetic test was performed in Covers mode, scrolling through a library of 1,000 games on a display with 100% scaling.
The increase in CPU usage during scroll is expected, as the 1,000 images are now loaded on demand instead of all at once during startup.
Preview
| Phase | Metric | Stat | 2.4.4 | 2.5.3 | Δ% |
|---|---|---|---|---|---|
| Idle, 30s after boot | CPU | MIN | 0.00% | 0.00% | - |
| Idle, 30s after boot | CPU | MAX | 0.12% | 0.12% | - |
| Idle, 30s after boot | RAM (RSS) | MIN | 277.8 MB | 238.3 MB | -14.2% |
| Idle, 30s after boot | RAM (RSS) | MAX | 277.8 MB | 238.4 MB | -14.2% |
| Idle, 30s after boot | GPU | MIN | 0% | 0% | - |
| Idle, 30s after boot | GPU | MAX | 0% | 0% | - |
| During scroll | CPU | MIN | 0.87% | 1.49% | +71.3% |
| During scroll | CPU | MAX | 1.18% | 3.98% | +237.3% |
| During scroll | RAM (RSS) | MIN | 447.4 MB | 301.6 MB | -32.6% |
| During scroll | RAM (RSS) | MAX | 3959.8 MB | 577.3 MB | -85.4% |
| During scroll | GPU | MIN | 0% | 0% | - |
| During scroll | GPU | MAX | 74% | 26% | -64.9% |
| During scroll | Frame pacing | Median | 6.91 ms | 6.94 ms | +0.4% |
| During scroll | Frame pacing | P99 | 12.65 ms | 6.99 ms | -44.7% |
| During scroll | Frame pacing | Max | 21.40 ms | 12.80 ms | -40.2% |
| During scroll | Frame pacing | Slow frames | 109 | 1 | -99.1% |
| Idle, 30s after scroll | CPU | MIN | 0.00% | 0.00% | - |
| Idle, 30s after scroll | CPU | MAX | 0.06% | 0.06% | - |
| Idle, 30s after scroll | RAM (RSS) | MIN | 1453.2 MB | 238.9 MB | -83.6% |
| Idle, 30s after scroll | RAM (RSS) | MAX | 1458.3 MB | 239.0 MB | -83.6% |
| Idle, 30s after scroll | GPU | MIN | 0% | 0% | - |
| Idle, 30s after scroll | GPU | MAX | 0% | 0% | - |
Updated translations
- Bulgarian. Thanks @Любомир Василев
- Chinese (Simplified). Thanks @EyKettle
- Chinese (Traditional). Thanks @orange-seele
- French. Thanks @loïc
- German. Thanks @HosteD Weblate user 158752
- Italian. Thanks @CAS9 @nixxo
- Polish. Thanks @adam
- Portuguese (Brazil).
- Spanish. Thanks @grego9
- Ukrainian. Thanks @Михайло Щетінін
The following dependencies are required for the AppImage, as they cannot be bundled with it.
pygobject gtk4 libadwaita libmanette