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
An all-inclusive Python framework for the Riot Games League of Legends API. We focus on making the data easy and fun to work with, while providing all the tools necessary to create a website or do data analysis.

Cassiopeia A Python adaptation of the Riot Games League of Legends API (https://developer.riotgames.com/). Cassiopeia is the sister library to Orianna

Meraki Analytics 473 Jan 07, 2023
Snake Game in Python

Snake game is one of the most popular arcade games of all time. In this game, the main objective of the player is to catch the maximum number of fruits without hitting the wall or itself.

Pavan Ananth Sharma 4 Jul 05, 2022
a game of life implementation in python

gameoflife-py python implementation of game of life Installing As long as you have bash and curl installed and are on Linux the install script should

Raghav 5 Jun 09, 2021
AI that plays Flappy Bird Game using the python module NEAT.

Flappy Bird AI [NEAT] AI that plays Flappy Bird Game using the python module NEAT. Instructions Install Python Modules: pip3 install -r requirements.t

Abhisht 5 Jan 26, 2022
Follow the numbers - A simple game where the player should follow the numbers and connect the dots

follow_the_numbers This is a simple game where the player should follow the numb

Sammy Mishinev 3 Nov 22, 2022
PyGame-Tutorial - Refrence for building games in pygame

PyGame-Tutorial How to build games using the python library PyGame End result Ho

St. Mark's Computer Science Club 2 Jan 09, 2022
Rock Paper Scissors Game with PyQt5

Rock-Paper-Scissors-Game rock paper scissors is a old game that all of us played it but this time let's play with computer Description This is Rock Pa

MohammadAli.HBA 4 Nov 11, 2021
A quantum version of Ladders and Snakes

QPath-and-Snakes A quantum version of Ladders and Snakes Desarrollo Para continuar el desarrollo sin pensar en instalación de dependencias: Descargue

2 Oct 22, 2021
A didactic GUI chess game made in Python3 using pygame.

Chess A didactic GUI chess game made in Python3 using pygame. At the moment, there is no AI. The only way you can test the game is by playing against

Leonardo Delfino 1 Dec 22, 2021
Made by Ashish and Avinash-sord12k. Powered by pygame

Spook_alle About -Made by Ashish (Github: Ashish-Github193) and Avinash-sord12k Version - BETA v_1.0 /1-11-2021/ (game is at its base version more ite

Ashish Kumar Jha 1 Nov 01, 2021
Never get booted from a game for inactivity ever again

Anti AFK Bot Never get booted from a game for inactivity ever again! Built With Python Installation Clone the repo git clone https://github.com/lippie

1 Dec 05, 2021
Guess Your Card - A Multiplayer Python Game

Guess Your Card - A Multiplayer Python Game This is a guessing card game having two levels - Developed in Python and can be played between two to four

Hammad Ahmed ~ 1 Oct 20, 2021
Utility to find games owned by all (or at least some) of the passed players.

SteamCommonGameFinder Utility to find games that are owned by all (or at least some) of the players you pass into this programm. You can already find

Daniel O'Grady 4 Jan 04, 2022
Finding a method to objectively quantify skill expression in games, using reinforcement learning

Analyzing Skill Expression in Games This is a repo where I describe a method to measure the amount of skill expression games have. Table of Contents M

Marcus Chiam 4 Nov 19, 2022
Find live blooket games easy with python.

Blooket-pin-finder Find live blooket games easy with python. info when you start you will see what looks like error DON'T STOP those are just the thre

Crazedpotato 1 Mar 07, 2022
A python-based multi-player online educational game for students to play in a class or club setting.

Kurono (codename: aimmo) Code for Life has been developed by Ocado Technology as a free, open-source project to inspire the next generation of compute

Ocado Technology 108 Nov 07, 2022
🥕Try and keep da carrot alive or else . . .

Carrot 🥕 Warning 💥 : I am not a botanist. I do not study carrots or plant life. I am a noob programmer :P. So don't belive anything you see in this

1 Jan 03, 2022
ReplitTD - Replit Tower Defense Game

IMPORTANT: I mean no offense at all in this game, this is only based off of cycl

kokomi simp :3 3 Jun 25, 2022
This is a simple Tic Tac Toe game built with Python.

This is a simple Tic Tac Toe game built with Python.

⚝αикιт кυмαя⚝ 6 Sep 01, 2022
A python program for playing rock-paper-scissors with computer .

Rock_Paper_Scissors_Cut A time passing famous hand game known as rock paper scissors cut game. Starting from children to adults everyone plays this ga

Arghya Banerjee 1 Dec 16, 2021