A simple, TV-friendly, gamepad-navigable frontend for the Lutris game launcher on Linux. This application provides a "10-foot UI" designed for couch gaming, allowing you to browse and launch your Lutris library entirely with a gamepad.
- A Linux-based operating system.
- Lutris installed and configured with your games.
- For full functionality, a standard desktop environment with PulseAudio (for audio control) and BlueZ (for Bluetooth management) is recommended.
You can download the latest .AppImage from the Releases page.
After downloading, make the file executable and run it:
chmod +x lutris-gamepad-ui-*.AppImage
./lutris-gamepad-ui-*.AppImageArch Linux users (and users of Arch-based distributions) can install lutris-gamepad-ui-git from the AUR.
-
Gamepad-First Interface: Navigate the entire application without a mouse or keyboard. The UI provides context-aware on-screen button prompts that adapt to your connected controller (Xbox, PlayStation, etc.) and offers audio feedback for interactions.
-
Organized Game Library: Games are automatically organized into shelves for "Recently Played," "All Games," and by categories defined in Lutris. Game cards display cover art, playtime, and last played date, with dynamically generated gradients as fallbacks for missing art.
-
Seamless Gameplay: Launch games directly from the library. While a game is running, a clean "Now Playing" screen is displayed. A global shortcut (Gamepad Home/Guide button or
Ctrl+X) allows you to toggle the UI's visibility without closing your game. -
Integrated System Controls: Access a comprehensive system menu to manage your device. This includes a universal library search, audio output and volume controls, Bluetooth device management, and system power options (reboot, shutdown).
You can customize the application's appearance by creating a theme.json file to override default CSS properties.
On first launch, the application creates two files in its configuration directory:
theme.default.json: A reference file containing all available CSS selectors and their default properties. Do not edit this file, as it may be overwritten by updates.theme.json: An empty file for your custom overrides.
-
Locate the Theme Files: Navigate to the application's configuration directory:
cd ~/.local/lutris-gamepad-ui/
-
Identify the Element to Style: Open
theme.default.jsonto find the CSS selector for the UI element you wish to change (e.g.,:root,.game-card). -
Add Your Overrides: Open
theme.jsonand add your custom styles, including only the selectors and properties you wish to modify. -
Apply Changes: Save the
theme.jsonfile. The application will detect the changes and apply your theme instantly, no restart required.
To change the main accent color from red to blue:
-
Find the
--accent-colorvariable under the:rootselector intheme.default.json. -
Add the following override to your
theme.jsonfile:{ ":root": { "--accent-color": "#0078d4" } } -
Save the file. The UI will immediately update with the new color.
-
Clone the repository:
git clone https://github.com/andrew-ld/lutris-gamepad-ui.git cd lutris-gamepad-ui -
Install dependencies:
npm install
-
Run in development mode:
npm run start
-
Build the AppImage:
npm run build
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.