Assetto Corsa: How to Play on Linux (Proton & Steam Deck)

How to set up Proton on PC and the Steam Deck to run Assetto Corsa with Content Manager.

 

Preparations

Hint for Steam Deck users: This guide works for you, just make your filesystem temporarily writable and install protontricks.

Before starting, make sure you don’t already have existing compatdata for Assetto Corsa: Remove the pfx directory in your SteamLibrary at /path/to/SteamLibrary/steamapps/compatdata/244210 if you have it.

The guide currently works as of 06/2022, I’ll do my best to keep it up to date in the future.

Base game

Alright, let’s get startet with the game itself.

  1. Right-click Assetto Corsa in Steam, go to Properties –> Compatibility, check the ‘Force the use of a specific Steam Play compatibility tool’ checkbox and choose Proton 5.0-10 from the dropdown list.
  2. Start the game. It will crash, but that’s okay, we just need the folder structure it generates.
  3. After making sure you have protontricks installed, open a terminal window and execute the following command, then pick ‘Wine Mono Windows Support’ from the list and remove it:
    protontricks -c "wine uninstaller" 244210
  4. Run this to create a new directory and download .NET:
    mkdir ~/ac_temp && cd $_ && curl -L https://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe --output dotNetFx40_Full_x86_x64.exe
  5. Run the following commands one after the other. They might take a while to complete.
protontricks --no-background-wineserver 244210 winxp

protontricks --no-background-wineserver 244210 shell

cd -

wine dotNetFx40_Full_x86_x64.exe /q

exit

cd ~/ac_temp && curl -L https://web.archive.org/web/20210816191501if_/https://download.microsoft.com/download/9/E/6/9E63300C-0941-4B45-A0EC-0008F96DD480/NDP471-KB4033342-x86-x64-AllOS-ENU.exe --output NDP471-KB4033342-x86-x64-AllOS-ENU.exe

protontricks --no-background-wineserver 244210 win7

protontricks --no-background-wineserver 244210 mscoree=native

protontricks --no-background-wineserver 244210 shell

cd -

wine NDP471-KB4033342-x86-x64-AllOS-ENU.exe /q

exit

protontricks --no-background-wineserver 244210 -q vcrun2015

protontricks --no-background-wineserver 244210 -q d3dcompiler_47

protontricks --no-background-wineserver 244210 win10

Great! If all went well, your game should be able to start now. If you don’t want to use Content Manager, you can stop here and start playing. To get CM to run, you’ll need to complete a couple more steps.

Important: Changing the Proton version and launching the game will break your prefix, so you should always have a backup of your pfx directory at /path/to/SteamLibrary/steamapps/compatdata/244210. That way you can just copy back your backup in case you break your prefix, saving you from having to go through all these steps again.

 

Content Manager

  1. Firstly, we need to create a symlink to your loginusers.vdf file so CM can find it. Replace the /path/to in the following commands with the actual path to your SteamLibrary directory:
    mkdir /path/to/SteamLibrary/steamapps/compatdata/244210/pfx/drive_c/Program\ Files\ \(x86\)/Steam/config
    
    ln -s $HOME/.steam/root/config/loginusers.vdf /path/to/SteamLibrary/steamapps/compatdata/244210/pfx/drive_c/Program\ Files\ \(x86\)/Steam/config/loginusers.vdf
  2. Download Content Manager from https://acstuff.ru/app.
  3. Extract Content Manager.exe to your game’s installation directory. You can find it by right-clicking Assetto Corsa in Steam, then going to Manage –> Browse local files.
  4. Rename Content Manager.exe to Content Manager Safe.exe. This disables hardware acceleration in its UI.
  5. Set the Assetto Corsa launch parameters in Steam to start Content Manager instead. Right-click Assetto Corsa in Steam and paste the following parameters after modifying the paths according to your Steam library location:
    /path/to/SteamLibrary/steamapps/common/'Proton 5.0'/proton waitforexitandrun /path/to/SteamLibrary/steamapps/common/assettocorsa/'Content Manager Safe.exe'; echo %command%

    Hint: If you have multiple SteamLibrary folders, make sure that the one Assetto Corsa is in has a Proton 5.0 directory. If it doesn’t, you can either copy it over from your other library or point the first path in the command to wherever Proton 5.0 is installed.

  6. Run this command and copy the result:
    echo 'Z:\home\'$USER'\.steam\root\steamapps\common\assettocorsa'
  7. Launch the game. If you’re on a Deck, run it in Desktop mode for now. It might take a while to launch.
  8. Set your installation folder by pasting the result from earlier, then set your player name and exit the launcher.

Nice! Content Manager is set up. Now let’s install the Custom Shaders Patch.

Custom Shaders Patch

  1. Run the following command:
    protontricks -c winecfg 244210
  2. Go to the ‘Libraries’-tab, type dwrite into the ‘New override for library’-textbox and click ‘Add’.
  3. Look for dwrite in the list and make sure it also says ‘native, built-in’. If it doesn’t, switch it via the ‘Edit’ menu.
  4. Press ‘OK’ to close the window.
  5. If you still don’t have a backup of your pfx directory, now would be the perfect time to make one.
  6. Download the latest version of CSP from https://acstuff.ru/patch.
  7. Extract the ZIP file into the root of your game’s install directory (dwrite.dll and the extension folder should be where we put Content Manager Safe.exe earlier).

All done!

Enjoy the game! 🙂

Credits: This guide is a mix of a bunch of guides I found online, but ANBAL534 on Github did the bulk of the work, so huge thanks to him! The original icon I used was made by Blagoicons on DeviantArt, I just added Tux.


Thanks to f? for his great guide, all credit to his effort. you can also read the original guide from Steam Community. enjoy the game.

Related Posts:

14 thoughts on “Assetto Corsa: How to Play on Linux (Proton & Steam Deck)”

  1. hi, when i’m in the windows shell step and i execute the “cd -” it seems that /home/deck folder is selected, should i be in the ac_temp directory? By that reasom i think that i can’t find the downloaded file and I can’t complete the process. does anyone know how to proceed? Thanks!

    Reply
  2. Hey, try this in shell
    mkdir ac_temp
    cd ac_temp
    curl -L https://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe –output dotNetFx40_Full_x86_x64.exe

    same later when you have to DL the other file.

    Still doesn’t work for me though, I think it’s copying files to the compatapp folder under /home/deck/.local rather than /home/deck/.steam.
    I didn’t make the filesystem writable when installing protontricks and installed it through Discover, so perhaps that’s the issue?

    Either way, still not running for me, any help would be great. Thx

    Reply
  3. Lotta thx for this guide and your work!

    Assetto is working like a charm on Manjaro Linux with your steps – other guides didn’t work.

    @marc: yeah, if “cd -” is not working, just use “cd ~/ac_temp”.

    @paul: delete your pfx directory and do all steps again. Don’t forget to switch Assetto’s compability to force using Proton 5.0.x because these are the most important steps to get it working with the commands in here.

    @f?: i confirm this guide is still working in 12/2022

    Cheers
    Metti

    Reply
  4. Thank you for this guide, it works perfectly. Only problem I came across was windows patch NDP471-KB4033342 download could not finish, if you have this issue just paste windows archive link into the browser to download it from your browser, after that paste it to ac_temp folder. Do have a guide for installing Sol mod? 🙂

    Reply
  5. Still working 03/2023 on Ubuntu 20.04! (tried only game no CM yet)
    Some notes for those struggling:
    1. The warning: “…This will hang until all wine processes in prefix=/home/…./steamapps/compatdata/244210/pfx terminate”
    can be ignored, its fine.
    2. When in shell and you can’t go into folder ac_temp, I had to give permissions to protontricks (I used flatpack to install it)
    “flatpak override –user –filesystem=/home/yourusername/ac_temp com.github.Matoking.protontricks”
    as found here: https://github.com/flathub/com.github.Matoking.protontricks#configuration

    Reply
  6. Executing /home/username/.cache/protontricks/proton/Proton 5.0/bin/wine vc_redist.x86.exe /q
    esync: up and running.
    ——————————————————
    warning: Note: command /home/username/.cache/protontricks/proton/Proton 5.0/bin/wine vc_redist.x86.exe /q returned status 120. Aborting.

    Reply
  7. when trying to do `wine dotNetFx40_Full_x86_x64.exe /q` I get a lot of “failed to parse” messages, it then gets stuck at:
    `05a8:fixme:advapi:DeregisterEventSource (0xcafe4242) stub`

    Reply
  8. I have a problem launching the installation:
    “protontricks -c “wine uninstaller” 244210″
    it tells me that the Steam installation directory is not found.
    “Steam installation directory could not be found”
    I have set the Steam dir variable by putting in the terminal
    STEAM_DIR=path of the local assetto files
    i just do not see the variable that I have created.
    Any help would be much appreciated

    Reply
  9. Does anyone know if this works on the steamdeck? Or if anyone can give directions for it? I did all the steps, although I had to manually set some stuff which I didn’t know if they are correct because everytime I do a command, winecfg windows pops up and its different from the video I watched where the command automatically does it for you so I just set up what I though was correct. Surprise surprise! It still wouldn’t launch.

    Reply

Leave a Comment