Screw Windows, join the dark side!
The only thing that was keeping me on Windows was gaming, but Steam Proton allows us to run Windows games with ease on Linux.
Run Splinter Cell on Linux using Steam Proton
Right click on Tom Clancy's Splinter Cell and click properties. Then navigate to the Compatibility menu, and check this option (above). Proton Experimental is working for me as of January 2025.
How To Make LiveSplit AutoSplitters Work
I followed this guide to get me going:
In short, you will need to run LiveSplit in the same context as Splinter Cell by using protontricks, so you will need to install that.
Then you will have to create a .json file with all of LiveSplit's DLLs. I will post my current file which is working as of now, but in the future, more DLLs may be added or removed. So if this does not work, follow the video guide above.
livesplit_dlls.json:
"Codaxy.Xlio=n, b; Codaxy.Xlio.XmlSerializers=n, b; CustomFontDialog=n, b; ICSharpCode.SharpZipLib=n, b; IrcDotNet=n, b; LiveSplit.Core=n, b; LiveSplit.Register.exeLiveSplit.View=n, b; Microsoft.WindowsAPICodePack=n, b; Microsoft.WindowsAPICodePack.Shell=n, b; SharpDX.DirectInput=n, b; SharpDX=n, b; SpeedrunComSharp=n, b; System.Buffers=n, b; System.Memory=n, b; System.Numerics.Vectors=n, b; System.Resources.Extensions=n, b; System.Runtime.CompilerServices.Unsafe=n, b; UpdateManager=n, b; WinFormsColor=n, b; AxInterop.AXVLC=n, b; DarkUI=n, b; Interop.AXVLC=n, b; Irony=n, b; LiveSplit.AutoSplittingRuntime=n, b; LiveSplit.BlankSpace=n, b; LiveSplit.ComparisonTime=n, b; LiveSplit.Counter=n, b; LiveSplit.CurrentComparison=n, b; LiveSplit.Delta=n, b; LiveSplit.DetailedTimer=n, b; LiveSplit.Graph=n, b; LiveSplit.HotkeyIndicator=n, b; LiveSplit.ManualGameTime=n, b; LiveSplit.PossibleTimeSave=n, b; LiveSplit.PreviousSegment=n, b; LiveSplit.Racetime=n, b; LiveSplit.RunPrediction=n, b; LiveSplit.ScriptableAutoSplit=n, b; LiveSplit.Sound=n, b; LiveSplit.Splits=n, b; LiveSplit.Subsplits=n, b; LiveSplit.SumOfBest=n, b; LiveSplit.Text=n, b; LiveSplit.TheRun=n, b; LiveSplit.Timer=n, b; LiveSplit.Title=n, b; LiveSplit.TotalPlaytime=n, b; LiveSplit.Video=n, b; LiveSplit.WorldRecord=n, b; Microsoft.Web.WebView2.Core=n, b; Microsoft.Web.WebView2.WinForms=n, b; Microsoft.Web.WebView2.Wpf=n, b; NAudio=n, b; Ookii.Dialogs.WinForms=n, b; asr_capi=n, b; WebView2Loader=n, b; livesplit_core=n, b"
Then modify your Splinter Cell launch options to include these DLLs like so:
WINEDLLOVERRIDES="livesplit_dlls.json" %command%
(-showfps is optional)
Now you should be able to launch LiveSplit in the same context as Splinter Cell. Here is a shell script I wrote, but you can just type the command if desired.
./launch_livesplit.sh
#!/usr/bin/env bash
cd /home/matt/Documents/speedrun/livesplit
protontricks-launch --no-bwrap --appid 13560 ./LiveSplit.exe
Remember to replace the /home/matt/... with the actual path to your LiveSplit installation. Running this shell script should open LiveSplit in the same Proton context as Splinter Cell, allowing the auto-splitter to work.
After creating that shell script, all you have to do is to launch Splinter Cell from Steam, then run the shell script to launch LiveSplit . The auto-splitter should be working if configured!
Notes:
- It has not been explicitly determined that runs on Steam Proton are valid yet. Your run is subject to verification and may be denied if Proton is found to run the game differently than natively on Windows.
- This speedrun involves tricks that require a high FPS, (over 100fps). The only way I found to get Splinter Cell to run at maximum FPS was to run in fullscreen. I uninstalled the widescreen fix so that I could have some extra real estate on my UltraWide monitor reserved just for LiveSplit, which I configured to stay on top of the game window.
- For whatever reason, the autosplitter stops working when using the "Detailed Timer" widget in your layout.
The moderation team has introduced a new category - Any% Single Segment. It is now available on the board and is open for submissions.
Simply put, standard Any% rules apply, with an additional provision prohibiting any loading/reverting to a previous save. This includes