Linux Setup (Proton)

Install and run SimDuty with ATS/ETS2 on Linux through Proton Experimental and Protontricks.

Overview

This guide explains how to run SimDuty on Linux with ATS or ETS2 using Proton.

The same logic applies to both games. This page uses ATS examples for path naming and menu wording.

This Linux workflow is community-validated and documented from real-world use. Full credit goes to StupidDog for creating and sharing the original tutorial sequence.

Estimated time: 10-15 minutes Target result: SDK OK + NET OK on Linux Scope: Steam + Proton Experimental + Protontricks
Important: SimDuty needs the Windows game build running through Proton and the plugin DLL overrides configured in the same Proton prefix.
Cross-reference: for the baseline Windows-first flow, see the First Run Guide.

Fast path vs safe path

Fast path (experienced Linux users)

  • Force Proton Experimental.
  • Copy DLL files to bin/win_x64/plugins.
  • Add simduty and scs-telemetry DLL overrides in the same prefix.
  • Install .NET Desktop Runtime x64 in the same prefix and validate SDK/NET.

Safe path (first-time Linux setup)

  • Follow every step in this guide sequentially without skipping screenshots.
  • Validate each checkpoint before moving to the next section.
  • If any status is unclear, stop at that step and resolve before continuing.
  • Use Troubleshooting only after finishing the deterministic setup order once.
Recommendation: if this is your first Proton prefix workflow, use the safe path to avoid mixed-prefix and override mistakes.

Requirements

  • Steam installed on Linux with ATS or ETS2 owned and installed.
  • Proton Experimental available in Steam compatibility tools.
  • SimDuty package extracted with access to simduty.dll and scs-telemetry.dll.
  • Protontricks installed (package manager or Flathub).

Step 1: Force Proton Windows build

  1. In Steam, open ATS (or ETS2) properties.
  2. Go to Compatibility.
  3. Enable Force the use of a specific Steam Play compatibility tool.
  4. Select Proton Experimental.
  5. Allow Steam to update/reinstall the game files to the Windows-compatible build.
Expected state: the game now runs as the Windows build inside Proton, which is required for SimDuty DLL integration.
Steam Library open on American Truck Simulator before enabling Proton compatibility
Start from the Steam Library page for ATS or ETS2.
ATS properties compatibility tab with Steam Play compatibility checkbox not selected
Open the Compatibility tab in game properties.
ATS compatibility tab with Force Steam Play tool enabled and Proton Experimental selected
Enable compatibility override and select Proton Experimental.
Steam library showing ATS update queued after enabling Proton Experimental
Steam queues an update to switch to the Windows-compatible Proton build.

Step 2: Install SimDuty DLL files

  1. Open your extracted SimDuty folder.
  2. Copy simduty.dll and scs-telemetry.dll.
  3. Paste both files into the game plugins folder:

Target folders:

  • ATS: .../American Truck Simulator/bin/win_x64/plugins
  • ETS2: .../Euro Truck Simulator 2/bin/win_x64/plugins
Expected state: both DLL files exist in bin/win_x64/plugins for the game you are launching.
Linux file manager open at ATS bin win_x64 plugins with scs-telemetry.dll and simduty.dll
Both plugin DLL files must be present in the bin/win_x64/plugins folder.

Step 3: Install Protontricks

Install Protontricks with the method that matches your distribution.

Command reference:

  • Arch/Arch-based: sudo pacman -S protontricks
  • Mint/Debian/Ubuntu-based: sudo apt install protontricks
  • Alternative: install from Flathub
Why this matters: Protontricks/Winetricks simplify prefix-level configuration for ATS/ETS2 and avoid manual Wine prefix command mistakes.
Protontricks app selection window with American Truck Simulator prefix selected
Open Protontricks and select the ATS (or ETS2) Steam app prefix.

Step 4: Configure DLL overrides in winecfg

  1. Open Protontricks and select the ATS (or ETS2) prefix.
  2. Choose Select the default wineprefix.
  3. Choose Run winecfg.
  4. Open the Libraries tab.
  5. Add DLL override entries for simduty and scs-telemetry in the Libraries tab.
  6. Click Apply, then OK.
Important: without DLL overrides, ATS/ETS2 may ignore non-native plugin DLL behavior for this integration path.
Winetricks prefix options with Select the default wineprefix enabled
In Winetricks, choose Select the default wineprefix before opening winecfg.
Winetricks current prefix window with Run winecfg selected for ATS Proton prefix
In the current prefix actions, choose Run winecfg.
Wine configuration Libraries tab adding simduty as a new DLL override
On Libraries, add simduty in New override for library, then click Add.
Wine configuration Libraries tab adding scs-telemetry as a new DLL override
Add scs-telemetry the same way, then click Apply and OK.

Step 5: Install .NET in the same prefix

  1. Open SimDuty through Protontricks in the ATS/ETS2 Proton prefix.
  2. If prompted to download .NET Desktop Runtime (x64), allow the download.
  3. Run the installer and complete setup normally.
Expected state: SimDuty launches in the same prefix and no longer asks for missing .NET runtime after successful install.
SimDuty executable prompt asking to install .NET Desktop Runtime for x64
Accept the prompt to download and install the required .NET Desktop Runtime for x64.
Linux desktop showing downloaded .NET runtime installer and SimDuty executable in preparation for installation
After download, run the runtime installer inside the same Proton environment and complete setup.

Step 6: Launch order and SDK permission

  1. Launch ATS/ETS2 first inside Proton and enter gameplay.
  2. Accept the SDK/plugin permission prompt when the game asks.
  3. Launch SimDuty in the same ATS/ETS2 Proton prefix.
  4. Enter cabin and drive briefly to initialize telemetry.
Expected state: SimDuty indicators stabilize at SDK OK and NET OK during active in-cabin driving.

Path and command reference

Core commands:

  • sudo pacman -S protontricks
  • sudo apt install protontricks

Core folders:

  • bin/win_x64/plugins inside ATS/ETS2 game install
  • ATS/ETS2 Proton prefix selected in Protontricks

Validation checkpoint

  • Game runs with Proton Experimental (Windows build path active).
  • Both SimDuty DLL files are present in bin/win_x64/plugins.
  • DLL overrides are configured in the correct ATS/ETS2 prefix.
  • SimDuty and .NET run in the same game prefix.
  • SDK permission accepted in game and telemetry initialized in-cabin.
  • SDK and NET show stable OK state.

Quick support

Symptom: SDK/NET stays disconnected.

  • Check: Proton build mode, DLL path, override entries, and launch order.
  • Fix: re-apply Proton Experimental, re-copy DLL files, re-check winecfg libraries, then relaunch game first and SimDuty second.

Symptom: SimDuty does not start in Linux.

  • Check: whether SimDuty is opened inside the ATS/ETS2 prefix and whether .NET completed installation.
  • Fix: re-open via Protontricks, install .NET when prompted, and test again.

Symptom: Plugin prompt never appears in game.

  • Check: correct game folder and file names in win_x64/plugins.
  • Fix: recopy both DLLs and fully restart Steam + game.

Credits

This Linux setup workflow and media reference are based on the community tutorial created by StupidDog. Full credit to StupidDog for documenting and validating this Proton path.