Home

Awesome

Luxtorpeda Dev

Luxtorpeda project Discord Downloads Build Action GitHub contributors GitHub Sponsors

Steam Play compatibility tool to run games using native Linux engines

screenshot-0

Pre-requisites

Compatibility tool will work on any modern 64-bit Linux distribution. All packaged games are compiled for Steam Runtime Sniper environment and any additional dependencies are provided in the download.

Using Luxtorpeda with Steam native runtime may or may not work, but is not supported.

Installation (using tarball)

The packages.json for the supported packages and getting the latest versions will get updated on each launch of luxtorpeda, without any input needed from the user. New releases of the luxtorpeda client will need to be downloaded manually, but a new release of the client is not required when a package is created or updated, unless that package depends on a new feature (which will be noted in the release notes).

  1. Close Steam.

  2. Download latest version at https://github.com/luxtorpeda-dev/luxtorpeda/releases

  3. Move and unpack tarball to compatibilitytools.d directory (create one if it does not exist):

    $ cd ~/.local/share/Steam/compatibilitytools.d/ || cd ~/.steam/root/compatibilitytools.d/
    $ tar xJf luxtorpeda-<version-number>.tar.xz
    
  4. Start Steam.

  5. In game properties window select "Force the use of a specific Steam Play compatibility tool" and select "Luxtorpeda".

Installation (using GUI)

  1. Download ProtonUp-Qt from here: https://davidotek.github.io/protonup-qt/#download
  2. Run ProtonUp-Qt and select Steam
  3. Click Add Version, select Luxtorpeda and press Install
  4. Restart Steam
  5. In Steam game properties window select "Force the use of a specific Steam Play compatibility tool" and select "Luxtorpeda". <img height="220px" src="https://user-images.githubusercontent.com/54072917/139227152-0536ac68-0d4b-44bf-be88-42105f5c3dd6.png" />

Installation (debug build from source)

Prerequisites

You will need Rust, Cargo, OpenSSL, Godot4 and export templates.

1. Install required software

Official method:

Terminal installation (for those who prefer the terminal):

2. Get export templates for Godot

3. Install and lauch the debug build

  1. Close Steam.

  2. Clone the repository, then use makefile to trigger cargo build and install:

    $ git clone https://github.com/luxtorpeda-dev/luxtorpeda.git
    $ cd luxtorpeda
    $ make user-install GODOT=godot-path-here
    
  3. Start Steam.

  4. In game properties window select "Force the use of a specific Steam Play compatibility tool" and select "Luxtorpeda (dev)".

Configuration

A configuration json file named config.json will be located in the ~/.config/luxtorpeda/config.json if the application has been run at least once. The defaults can be seen at https://github.com/luxtorpeda-dev/luxtorpeda/blob/master/src/config.rs. It has the following parameters:

Logs will be written to file if LUX_WRITE_LOGGING=1 is set. The log file will be located at ~/.local/state/luxtorpeda/luxtorpeda.log.

User Packages Override

A ~/.config/luxtorpeda/user-packages.json file can be created, which will allow custom package information without having to change the normal packages.json file. This file should have the same format as packages.json, but can have either new games or overrides to existing games. See https://github.com/luxtorpeda-dev/luxtorpeda/issues/65 for more information.

User Interface

When a prompt appears from the client, it will accept input from controllers, keyboard or mouse. These prompts can include the engine chooser, progress indicator, error notices, and questions. The input works the following way:

Keyboard and Mouse

Controllers

For using controllers in the engine itself, ensure that Steam Input is enabled, that a gamepad profile has been set, and that the Steam Input controller-specific option has been enabled, such as for Xbox or Playstation controllers.

Steam Deck

Supported titles

Just click "Play" and Luxtorpeda will download and install the package for you. You need to select Luxtorpeda as a compatibility tool first, of course.

When you launch a game that supports multiple engines, a prompt will appear asking for the engine that should be downloaded and launched. Once the engine has been picked, a second prompt will ask if the engine should become the default. Launches after this if "Yes" is picked in this dialog will not ask for the engine again. A file can be deleted to restore the engine prompt for a particular game. The file will have the following format: ~/.config/luxtorpeda/<app_id>/default_engine_choice.txt

To go to the main website, go to https://luxtorpeda.org

To see a list of supported titles, go to https://luxtorpeda.org/packages

Want a specific game?

Check issues to see if we are working on it.

You can also make a package request by creating a new issue

You can also create a package yourself

Development

You can use cargo as with any Rust project; make serves only as a convenient frontend for packaging and triggering longer cargo commands.

For the UI, the Godot editor is required. It can be downloaded from https://godotengine.org/download

Development on Steam Deck

Releasing a New Version

Credits