GithubHelp home page GithubHelp logo

keturn / lutris Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lutris/lutris

0.0 1.0 0.0 8.27 MB

Lutris client - Open Source gaming platform for GNU/Linux

Home Page: https://lutris.net

License: GNU General Public License v3.0

Makefile 0.06% Python 49.93% Shell 50.00% CSS 0.01%

lutris's Introduction

Lutris

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

Lutris does not sell games; you have to provide your own copy of the games unless they are open source or freeware. Games can be installed anywhere on your system; Lutris does not impose anything.

Lutris relies on various programs referenced as 'runners' to provide a vast library of games. These runners (with the exception of Steam and web browsers) are provided by Lutris, you don't need to install them with your package manager.

We currently support the following runners:

  • Linux (Native games)
  • Steam
  • Web
  • Wine
  • Wine + Steam
  • Libretro
  • DOSBox
  • MAME
  • MESS
  • ScummVM
  • ResidualVM
  • Adventure Game Studio
  • Mednafen
  • FS-UAE
  • Vice
  • Stella
  • Atari800
  • Hatari
  • Virtual Jaguar
  • Snes9x
  • Mupen64Plus
  • Dolphin
  • PCSX2
  • PPSSPP
  • Osmose
  • Reicast
  • Frotz
  • jzIntv
  • O2EM
  • ZDoom
  • Citra
  • DeSmuME
  • DGen

Installer scripts

Lutris automates installation of games using configuration scripts written in JSON or YAML, which list the various files needed to install a game and can perform a series of actions on them. The syntax of installers is described in docs/installers.rst, and is also available on lutris.net when writing installers.

A web UI is planned to ease the creation of these scripts.

Game Library

You can optionally create an account on lutris.net and connect this account to the client. This will allow you to sync your game library from the website to the client (not the other way around). If you wish, you can also sync your Steam library with your Lutris library on the website.

The client does not store your lutris.net credentials on your computer. Instead, when you authenticate, the website will send a token which will be used to sync your library. This token is stored in ~/.cache/lutris/auth-token.

Configuration files

The client, runner, and game configuration files are stored in ~/.config/lutris. There is 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 configuration for every game

runners/*.yml: runner-specific default configurations

games/*.yml: game-specific configurations

The game configuration can override previously defined runner and system configuration and runner configuration can override system configuration.

Runners and the game database =========================

The data necessary to manage your library and run the game is stored in ~/.local/share/lutris.

pga.db: your game library, game installation status, locations on the filesystem, and some additional metadata, all stored in an SQLite database

runners/*: runners downloaded from lutris.net

icons/*.png and banners/*.jpg: game images

Command line options

The following command line arguments are available:

--version             show program's version number and exit
-h, --help            show this help message and exit
-v, --verbose         Verbose output
-d, --debug           Show debug messages
-i INSTALLER_FILE, --install=INSTALLER_FILE
                      Install a game from a yml file
-l, --list-games      List all games in database
-o, --installed       Only list installed games
-j, --json            Display the list of games in JSON format
--list-steam-games    List available Steam games
--list-steam-folders  List all known Steam library folders
--reinstall           Reinstall game

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 not already installed or launch the game otherwise (unless the --reinstall flag is passed).

Planned features

Lutris is far from complete and some of the more interesting features have yet to be implemented.

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

  • Integration with GOG and Humble Bundle
  • Integration with the TOSEC database
  • Management of Personnal Game Archives (let you store your games files on private storage, allowing you to reinstall them on all your devices)
  • Game saves sync
  • Community features (friends list, chat, multiplayer game scheduling)
  • Controller configuration GUI (with xboxdrv support)

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:

lutris's People

Contributors

999gary avatar akien-mga avatar clonewayx avatar dadummy avatar daniel-j avatar duhow avatar fakeshemp avatar freso avatar glitchbunny avatar heyhippari avatar juliotux avatar leandrostanger avatar letiliel avatar malkavi avatar malt1 avatar manuelvo avatar matthewkovacs avatar mdeguzis avatar medath avatar nsteenv avatar orochimarufan avatar robloach avatar ryochan7 avatar strycore avatar tammasloughran avatar tcarrio avatar telanus avatar tingping avatar totalcaesar659 avatar xenega avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.