Lutris helps you install and play video games from all eras and from most gaming systems.

Overview

Lutris

LiberaPayBadge

Lutris helps you install and play video games from all eras and from most gaming systems. By leveraging and combining existing emulators, engine re-implementations and compatibility layers, it gives you a central interface to launch all your games.

The client can connect with existing services like Humble Bundle, GOG and Steam to make your game libraries easily available. Game downloads and installations are automated and can be modified through user made scripts.

Running Lutris

If you have not installed Lutris through your package manager and are using the source package, it is recommended that you install lutris at least once, even an older version to have all dependencies available. Once all dependencies are satisfied, you can run lutris directly from the source directory with ./bin/lutris

If you need to run lutris through gdb to troubleshoot segmentation faults, you can use the following command:

gdb -ex r --args "/usr/bin/python3" "./bin/lutris"

Installer scripts

Lutris installations are fully automated through scripts, which can be written in either JSON or YAML. The scripting syntax is described in docs/installers.rst, and is also available online at lutris.net.

Game library

Optional accounts can be created at lutris.net and linked with Lutris clients. This enables your client to automatically sync fetch library from the website. It is currently not possible to sync from the client to the cloud. Via the website, it is also possible to sync your Steam library to your Lutris library.

The Lutris client only stores a token when connected with the website, and your login credentials are never saved. This token is stored in ~/.cache/lutris/auth-token.

Configuration files

  • ~/.config/lutris: The client, runners, and game configuration files

    There is be no need to manually edit these files as everything should be done from the client.

  • lutris.conf: Preferences for the client's UI

  • system.yml: Default game configuration, which applies to every game

  • runners/*.yml: Runner-specific configurations

  • games/*.yml: Game-specific configurations

Game-specific configurations overwrite runner-specific configurations, which in turn overwrite the system configuration.

Runners and the game database

~/.local/share/lutris: All data necessary to manage Lutris' library and games, including:

  • pga.db: An SQLite database tracking the game library, game installation status, various file locations, and some additional metadata
  • runners/*: Runners downloaded from lutris.net <https://lutris.net>
  • banners/*.jpg: Game banners

~/.local/share/icons/hicolor/128x128/apps/lutris_*.png: Game icons

Command line options

The following command line arguments are available:

-v, --version              Print the version of Lutris and exit
-d, --debug                Show debug messages
-i, --install              Install a game from a yml file
-b, --output-script        Generate a bash script to run a game without the client
-e, --exec                 Execute a program with the lutris runtime
-l, --list-games           List all games in database
-o, --installed            Only list installed games
-s, --list-steam-games     List available Steam games
--list-steam-folders       List all known Steam library folders
-j, --json                 Display the list of games in JSON format
--reinstall                Reinstall game
--display=DISPLAY          X display to use

Additionally, you can pass a lutris: protocol link followed by a game identifier on the command line such as:

lutris lutris:quake

This will install the game if it is not already installed, otherwise it will launch the game. The game will always be installed if the --reinstall flag is passed.

Planned features

Lutris is far from complete, and some features have yet to be implemented.

Here's what to expect from future versions of Lutris:

  • TOSEC database integration
  • Management of personal game data (i.e. syncing games across devices using private cloud storage)
  • Community features (friends list, chat, multiplayer game scheduling, etc.)

Support the project

Lutris is 100% community supported, to ensure a continuous development on the project, please consider donating to the project. Our main platform for supporting Lutris is Patreon: https://www.patreon.com/lutris but there are also other options available at https://lutris.net/donate

Come with us!

Want to make Lutris better? Help implement features, fix bugs, test pre-releases, or simply chat with the developers?

You can always reach us on:

Owner
Pop!_OS
An Operating System by System76
Pop!_OS
This is Minesweeper coded in Python. It has almost all features from the main game

Minesweeper This is Minesweeper coded in Python. It has almost all features from the main game Use right click to open tile, right click on an open ti

3 Jul 12, 2022
Simple game where you try to survive as long as you can on screen.

Survival Game Simple game where you try to survive as long as you can on screen. Play To run, download the code and run the survival_game.py file. Fro

Logan Morris 1 Feb 10, 2022
A chess engine with basic AI capabilities (search for best move using MinMax algorithm)

A chess engine with basic AI capabilities (search for best move using MinMax algorithm)

Ken Wu 1 Feb 02, 2022
Minecraft-Bedrock-Modpack-Maker - Simple tool to combine multiple addons into one. Not finished

Minecraft-Bedrock-Modpack-Maker Simple tool to combine multiple addons into one. Not finished! Any contributing is welcome. How to use: Move all .mcpa

MivianCoin 1 Jan 06, 2022
Script to remap minecraft 1.12 java classes.

Remapper Script to remap minecraft 1.12 java classes. Usage You must have Python installed. You must have the script, mappings, and files / folders in

8 Dec 02, 2022
BritishTrainsDepartureBoard - A pygame program that immitates the dot matrix departure screens found at National Rail stations

BritishTrainsDepartureBoard - A pygame program that immitates the dot matrix departure screens found at National Rail stations

Finn O'Neill 3 Aug 10, 2022
Nerdle - a nerd's approach to solving Wordle

Nerdle - a nerd's approach to solving Wordle

4 Nov 28, 2022
Input-based tic tac toe game made in only python.

Tic Tac Toe Tic Tac Toe is a game in which two players seek in alternate turns to complete a row, a column, or a diagonal with either three O's or thr

Ayza 5 Jun 26, 2022
Blackjack-Py is a terminal based game of blackjack within your terminal playing against CPU.

About Blackjack-Py is a terminal based game of blackjack within your terminal playing against CPU. Usage Clone the repo and run it with whatever pytho

Eccentrici 1 Dec 28, 2021
A pygame implementation of John Conway's Game of Life

Game of Life A Pygame Simulation This is a Pygame implementation of the famous Conway's Game of Life. The game features a set of very simple rules: An

1 Jan 06, 2022
Lutris desktop client in Python / PyGObject

Lutris Lutris is an open source gaming platform that makes gaming on Linux easier by managing, installing and providing optimal settings for games. Lu

Lutris 6.1k Dec 30, 2022
A puzzle game coded entirely in Python.

Pyzzle A puzzle game coded entirely in Python. This is a school project created by me, Mohit Singh. The .exe file, created from the main.py script, is

Mohit Singh 1 Mar 19, 2022
An open-world game made in Python.

Dragon Realms Notes Windows OS only Contributors This project follows the all-contributors specification (emoji key, command Issue). See what you can

Dragon Realms 2 Jul 28, 2022
XO game with server, client and visualizer for AI bots.

XO game with server, client and visualizer for AI bots.

Ali 4 Jul 14, 2022
This is a two player snake game

Trake This is a two player snake game How to play the game There is food and two players. You try to eat food to become large and gain points. Player

Grrub 1 Dec 19, 2021
Tic Tac Toe Python Game GUI

Tic Tac Toe is one of the most played games and is the best time killer game that you can play anywhere with just a pen and paper.

Astitva Veer Garg 1 Jan 11, 2022
An environment to run atari-like games in VGDL.

vgdl An environment to run atari-like games in VGDL. Requirements python = 3.6 Installation pip install -r requirements.txt Usage # Create an enviro

Sergio Arnaud Gomez 1 Dec 24, 2021
Deal Or No Deal was a very popular game show. Even now, for a family party, it's a fun game to pass time

Deal Or No Deal was a very popular game show. Even now, for a family party, it's a fun game to pass time. I made a code to play the game right in your terminal/console. This isn't made to be a game w

1 Feb 15, 2022
HTTP API for FGO game data. Transform the raw game data into something a bit more manageable.

FGO game data API HTTP API for FGO game data. Transform the raw game data into something a bit more manageable. View the API documentation here: https

Atlas Academy 51 Dec 26, 2022
Are you obsessed with playing the increasingly-popular word game Wordle?

WORDLE-VISION Up your Wordle game! Are you obsessed with playing the increasingly-popular word game Wordle? Ever wondered what the optimal first word

Ravi Gupta 5 May 10, 2022