Browse games and manage emulators on supported 4K receivers.
Open RetroGaming in the plugin browser or extensions menu. The main list shows installed emulators supported by the image. Press MENU to open the standard emulator Setup screen. True installs the selected package through the image's opkg interface; False removes it. ROMs, BIOS files, saves and other user data are kept.
Press INFO in the main list for the scrollable operating instructions, gamepad/remote controls, emergency exit and documentation links for every emulator. In MENU, highlight an emulator and press INFO for its own setup guide, game folders and supported file types. OK or EXIT returns to the previous screen without changing the installation choices.
For troubleshooting, enable Debug logging in MENU and save with GREEN
before starting the emulator. RetroGaming-*.log files are stored in the log
directory selected in Enigma2's settings; the path is also shown in the plugin.
Unavailable storage falls back to /tmp/retrogaming/logs (lost on reboot).
Check logs for private filenames before sharing and disable debugging afterwards.
Enigma2's global debug setting is not changed.
In RetroArch, briefly press SELECT + START to toggle its menu. Holding both for at least 2 seconds requests an emergency exit back to Enigma2, also for PPSSPP/Dolphin standalone; unsaved progress may be lost. This cannot recover a complete system/driver freeze.
Place legally obtained games on mounted media below /media, in
roms/<system> or retrogaming/roms/<system>, for example:
| System | ROM directory |
|---|---|
| Super Nintendo | roms/snes |
| Nintendo NES | roms/nes |
| Sega Mega Drive | roms/megadrive |
| Sony PlayStation | roms/psx |
Directories are created under /media/hdd/roms only when that filesystem is
mounted. Missing games produce an information message and return to the plugin.
No commercial ROMs or BIOS files are included.
The plugin requires the image's RetroGaming runtime and a supported machine
profile. RetroArch, cores, launchers and platform/driver integration remain in
the OE-Alliance layer. Older MIPS/HD receivers are not enabled. The initial feed
rollout is restricted to OpenATV; displayed distribution names come from
BoxInfo.
Repository layout, packaging and Git workflows follow BeyonwizRemote. The frontend is extracted from the tested OE-Alliance RetroGaming integration.
The repository follows BeyonwizRemote: src/setup.py, standard
OE-Alliance workflows, and __version__ in src/RetroGaming/__init__.py.
The tag/release workflow reads this version. The plugin installs as
enigma2-plugin-extensions-retrogaming in Plugins/Extensions/RetroGaming.
The layer recipe uses branch main and gittag, with setuptools3-openplugins
as in the sample. Its first Git build requires a published main commit.
With Python setuptools and GNU gettext available:
cd src
python3 setup.py buildPO files are compiled before Python package data is copied, including on a clean
first build. English is the source language; RetroGaming.pot and de.po
include Python dialogs and Setup descriptions. Run the sample's updater from
its locale directory:
cd src/RetroGaming/locale
bash updatepot.shUses the standard ChoiceBox and Setup screens with the existing HD/FHD plugin icons. Existing skins do not need changing.
Run python3 -m unittest discover -s tests -v and ruff check ..
Before release, check the frontend on a supported receiver:
- Check installed emulators appear in the main list.
- Install/remove a core through Setup and verify user data is preserved.
- Launch a game and return to the plugin/Enigma2.
- Check missing-ROM and launch-error messages.
- Check remote/gamepad controls, audio and restored Live-TV.
- Check the displayed distribution name comes from the image.
- Check English/German and HD/FHD Setup layouts.
Unit tests mock the driver/GUI; they do not prove physical receiver compatibility. Hardware profiles were tested separately in the OE-Alliance integration. The newly added German dialogs still require a visual receiver check.
This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation
This plugin is released under GPLv3. See LICENSE for full details.
RetroGaming is created by users for users and we welcome every contribution. There are no highly paid developers. There are only users who have seen a problem and done their best to fix it. This means RetroGaming will always need the contributions of users like you. How can you get involved?
For questions or feedback, feel free and please open an issue or contribute with a Pull Request!
Pull requests are very welcome for:
- Coding: Developers can help by fixing a bug, adding new features, Integration improvements, Feature enhancements
- Localization: Translate into your native language.
- Helping users: Our support process relies on enthusiastic contributors like you to help others.
Your contribution is very welcome! Follow these steps:
- 🍴 Fork this repository
- 🔄 Create a branch for your feature
- 💻 Make your changes
- ✅ Commit using conventional messages
- 📤 Push to your branch
- 🔍 Open a Pull Request
Enjoy and help us improve it today. :)
The project author is not responsible for how this software is used by others. It is not intended to be used for accessing or distributing copyrighted materials without authorization. Users are solely responsible for determining the legality of their actions.
This repository has no control over the streams, links, or the legality of the content provided by the different hosts (including all mirror sites). It is the end user's responsibility to ensure the legal use of these streams, and we strongly recommend verifying that the content complies with all applicable laws, including copyright laws and regulations of your countrys jurisdiction before use.
For detailed contributing guidelines including testing procedures and AI policy, please see CONTRIBUTING.md.
⭐️ If you find this plugin useful, please give it a star on GitHub! Thanks! ❤️ 💞 💖 ❤️🔥 💗