Skip to content
Steam Play compatibility tool to run games using native Linux engines
Rust Shell Makefile
Branch: master
Clone or download

README.md

Luxtorpeda

Luxtorpeda project Discord Say Thanks!

Steam Play compatibility tool to run games using native Linux engines; project overview.

This is a sister project of Boxtron and Roberta.

screenshot-0

Official mirrors: GitHub, GitLab.

Pre-requisites

Compatibility tool will work on any modern 64-bit Linux distribution. All packaged games are compiled for Steam Runtime environment and require no additional dependencies.

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

Installation (using tarball)

This is pre-release quality software, expect bugs and missing features.

  1. Close Steam.

  2. Download 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/
     $ curl -L https://luxtorpeda.gitlab.io/luxtorpeda/master/luxtorpeda.tar.xz | tar xJf -
    
  3. Start Steam.

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

Installation (debug build, from source)

  1. Download the latest version of Rust: https://www.rust-lang.org/ and verify that openssl is installed on your system.

Debian, Ubuntu et consortes

   $ sudo apt install libssl-dev

Fedora

   $ sudo dnf install openssl-devel
  1. Close Steam.

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

    $ git clone https://github.com/dreamer/luxtorpeda.git
    $ cd luxtorpeda
    $ make user-install
    
  3. Start Steam.

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

Known issues

  • If game does not start with error "No command line defined", it means you need to force-update game package to a new format. Find game package tarball in ~/.cache/luxtorpeda/<appid>/, remove it, and start the game again.

  • Solus and Mint users might be affected by unintended dependency on libssl.so.1.1, see #42 for details.

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.

Game Engine Engine Version Comments
The Elder Scrolls III: Morrowind OpenMW 0.45.0 Missing GUI mod launcher for now: #17
Arx Fatalis Arx Libertatis db77aa Textures issue: #27
Arx Fatalis Demo Arx Libertatis db77aa (Free to play) Textures issue: #27
Quake vkQuake 1.02.1 Single-player only for now, fixed music
Quake II Yamagi Quake II 7.41 Fixed default config, fixed music
Quake II Demo Yamagi Quake II 7.41 (Free to play) Fixed default config
Quake II: The Reckoning Yamagi Quake II 7.41 Fixed default config, fixed music
Quake II: Ground Zero Yamagi Quake II 7.41 Fixed default config, fixed music
Quake III Arena ioquake3 a96f32
Quake III: Team Arena ioquake3 a96f32
Jedi Knight II: Jedi Outcast OpenJK e8b5c1 Single-player only for now
Jedi Knight: Jedi Academy (SP) OpenJK e8b5c1 Single-player
Jedi Knight: Jedi Academy (MP) EternalJK 1.5.6-1 Multi-player
X-COM: UFO Defense OpenXcom 1.0-2835
X-COM: Terror from the Deep OpenXcom 1.0-2835
Return to Castle Wolfenstein iortcw 1.51c Both SP and MP
Doom (1993) GZDoom 4.2.1 "The Ultimate DOOM"; Vulkan renderer crashes on exit
Doom II: Hell on Earth GZDoom 4.2.1 Vulkan renderer crashes on exit
Final Doom GZDoom 4.2.1 Vulkan renderer crashes on exit
Doom 3 dhewm3 1.5.1-PRE1
Doom 3: Resurrection of Evil dhewm3 1.5.1-PRE1
Heretic: Shadow of the Serpent Riders GZDoom 4.2.1 Vulkan renderer crashes on exit
Hexen: Beyond Heretic GZDoom 4.2.1 Vulkan renderer crashes on exit
Doki Doki Literature Club! Ren'Py (Free to play) Using Linux version bundled with Windows version

Want a specific game? Maybe we are already working on it. You can also make a package request, or create 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.

TODO: Add documentation about packaging games for Luxtorpeda.

You can’t perform that action at this time.