- Fix French print statements for consistency in output messages
- improve filtering in game list to be permanent, even in search mode, and more efficient for games that have foreign language on other region
- Enhance UI with modern effects and improve PSVita game handling (auto extract and create .psvita file for batocera)
- add text file viewer for game txt informations (windows)
- Improving virtual keyboard navigation when filtering game list (thanks elieserdejesus)
- web interface : Add modal for displaying support messages
- normalize sizes in bytes when not in french
- Refactor control navigation and improve button rendering in UI
The general idea is allow something like "circular buffer" logic when selecting a key in the virtual keyboard.
When the virtual keyboard is displayed:
- If you are in the first line and press UP jump to last line
- If you are in the last line and press DOWN jump to first line
- If you are in the first col and press LEFT jump to last col
- If you are in the last col and press RIGHT jump to first col
- BETA : add filtering options of games in RGSX main app / synced with options sets on web interface
Filter by Region, hide beta and demos, show only one rom per game and select prefered display order
- add missing translations on web interface
- correct display bug in web interface settings
- correct units showing in french only
- correct save bug spotted in Web settings
- update README_FR.md with new features and installation instructions.
- Refactor controls.py for improved input handling specially on page up/ down release repeat
Merge pull request [#30](https://github.com/RetroGameSets/RGSX/issues/30) from SeeThruHead/main
Refactor Docker setup with proper volume separation and backwards compatibility
Implemented environment variable-based configuration to support both Docker
and traditional Batocera/RetroBat installations with a single codebase.
Implemented environment variable-based configuration to support both Docker
and traditional Batocera/RetroBat installations with a single codebase.
Key Changes:
- Added RGSX_CONFIG_DIR and RGSX_DATA_DIR environment variables
- Separate /config and /data volumes in Docker mode
- App files now copied into container at build time (not runtime sync)
- Simplified directory structure (removed __downloads concept)
- Maintained 100% backwards compatibility with non-Docker installations
File Structure by Mode:
| Location | Docker Mode | Traditional Mode |
|-----------------|-----------------|----------------------------------- |
| Settings/Config | /config/ | /userdata/saves/ports/rgsx/ |
| Game Lists | /config/games/ | /userdata/saves/ports/rgsx/games/ |
| Images | /config/images/ | /userdata/saves/ports/rgsx/images/ |
| Logs | /config/logs/ | /userdata/roms/ports/RGSX/logs/ |
| ROMs | /data/roms/ | /userdata/roms/ |
Detection:
- Docker mode: Activated when RGSX_CONFIG_DIR or RGSX_DATA_DIR is set
- Traditional mode: Default when no Docker env vars present
Tested and verified working in both modes.
- update integrated roms info scraper to use tgdb api instead of https web requests
- Add Docker support (web server)
- Add region filters (web server)
- Add one-ROM-per-game filter with region priority (web server)
- Refactor code structure in RGSX Web to improved readability and maintainability (js, css, html separated)
- update language files and correct a bug that crash
when changing language, or changing filter
Added flexible user/group ID handling to support different storage backends:
- Configurable PUID/PGID environment variables for NFS and local storage
- RUN_AS_ROOT mode for SMB mounts that only allow root writes
- Pre-chown app files during build to enable non-root rsync
- Improved error messages with troubleshooting guidance
- Updated documentation with setup examples for different scenarios
This allows the container to work correctly with Unraid SMB shares, NFS mounts,
and local storage by adapting to how different filesystems handle permissions.
Default behavior (PUID=99, PGID=100) remains compatible with Unraid nobody:users.