sitebackground
Return to Linux Compatibility Reports

Star Wars Jedi Knight II: Jedi Outcast:

Rating: Silver
Release(s) Tested: Steam
Application Version: N/A
WINE/Proton Version: Luxtorpeda (see below)
Test Scope: Entire single-player campaign
Input Method: Keyboard & Mouse
Launch Options:
Date of Report: 5 June 2023

Summary

An otherwise playable game is occasionally troubled by graphical oddities, aiming difficulties, and a pervasive stutter-like effect.

Installing & Running

The game does not perform well out-of-box. To get this game working on Steam, do the following:

  1. Install Luxtorpeda from https://github.com/dreamer/luxtorpeda.
  2. Restart Steam if necessary, then select Luxtorpeda as the compatibility tool for the game (i.e. not Proton!).
  3. Launch the game and allow Luxtorpeda to download and install OpenJK, which is a Linux-native port of the JK2 game engine. You don't need to download anything yourself.

At this point, the game should launch and run correctly.

OpenJK stores its configuration in a different location from the game directory. If you are migrating from a Windows installation, you should copy the contents of your jk2config.cfg file into the following:

$HOME/.local/share/openjo/base/openjo_sp.cfg

Luxtorpeda/OpenJK may create this file from scratch every time you launch the game. After finalizing your settings, consider making this file read-only via the following command:

chmod 400 openjo_sp.cfg

If you desire a widescreen resolution, you can set it within this file. However, aspect ratios other than 4:3 will cause issues with cutscenes e.g. the characters may be slightly out-of-frame. The benefits of widescreen usually outweigh the negatives, even for new players.

Results & Issues

The game is restricted to single-player only. OpenJK does not offer multiplayer support for this game, and likely never will.

The startup movie with the LucasArts logo had stuttery, crackling audio. All other movies played with normal audio.

There were some textures that appeared abnormally dark. One section of the game requires you to cycle through a set of icons to enable a fuel pump; but it was almost impossible to see the icons themselves. These textures displayed properly only on Windows.

Transparency effects did not render correctly on all objects. Most notably, the HUD had a faint rectangular outline around its edge, and some of the blaster effects were not rendered as smoothly as on Windows. The difference was not severe, but remained noticeable throughout the game.

When loading some checkpoints and new levels, the screen was often covered by gray bars (vertical or horizontal, reminiscent of video interlacing). These were unnaturally bright compared to the rest of the game and, though not affecting gameplay, were quite disconcerting. There were other occasional artifacts during loading, though not as severe.

Out-of-box, the game had extremely choppy mouse movement. It was almost as if the mouse had a lower resolution than the game itself; moving the physical mouse would cause the camera view to jump or "snap" a bit farther than intended. If the mouse was moved a smaller amount than this, nothing would change in the game at all.

OpenJK greatly reduced, but did not eliminate this issue. The "jumping crosshair" effect in this game (see Notes below) only made aiming feel worse, and the effects of this jumping crosshair were much more pronounced on Linux than on Windows. I frequently found myself resorting to "console aiming" whenever I needed precision—aligning the crosshair roughly, then moving the character forwards or sideways a bit to make the crosshair overlap my target. One level was very difficult to complete due to aiming difficulties in a particular vehicle.

There was a stutter-like effect when moving with the character, especially when crouched and moving sideways. No actual frame dips were recorded, but something just felt "off" about moving and aiming. For a Quake-era game that intrinsically rewards twitch reflexes, this feeling was significant and persistent enough to merit a Silver rating.

The game was smooth and playable otherwise.

Notes

There are a few issues with the Steam version of this game, applying to both Windows and Linux:

Issue: Resolution:
The entire desktop environment becomes abnormally bright when the game runs, remaining so if the game crashes. Most noticeable when using two or more monitors. Setting seta r_overBrightBits "0" in the openjo_sp.cfg file will resolve this problem, but will also make the game darker than usual.
Volumetric shadows look very bad or have buggy behavior, especially on character faces. Use simple shadows instead.
The crosshair "jumps" around when aiming. This issue can be partially mitigated by setting seta cg_dynamicCrosshair "0" in the openjo_sp.cfg file. However, doing this will make it even harder to aim when driving certain vehicles.
Some cutscenes don't start; the characters stand there doing nothing. Reload a save prior to the cutscene. In the case of a level-opening cutscene, you can reload the autosave for that level.

If you don't want to use Luxtorpeda at all, you can install OpenJK manually by following my report for Jedi Academy. All you need to do is change OFF to ON for the following options in openjk/CMakeLists.txt:

option(BuildJK2SPEngine "Whether to create projects for the jk2 SP engine (openjo_sp.exe)" ON)
option(BuildJK2SPGame "Whether to create projects for the jk2 sp gamecode mod (jk2gamex86.dll)" ON)
option(BuildJK2SPRdVanilla "Whether to create projects for the jk2 sp renderer (rdjosp-vanilla_x86.dll)" ON)

After doing the above, you must delete the build folder and rebuild the project from scratch. The compiled files with the jo prefix are for Jedi Outcast; the others are for Jedi Academy. Be advised that compiling OpenJK from scratch did not fix any of the issues described above; it is simply a different way to run the game.