Skip to content

Instantly share code, notes, and snippets.

@ANBAL534
Created May 26, 2022 20:57
Show Gist options
  • Save ANBAL534/8057b5200ace9bdd98795b627e550ba0 to your computer and use it in GitHub Desktop.
Save ANBAL534/8057b5200ace9bdd98795b627e550ba0 to your computer and use it in GitHub Desktop.
Asseto Corsa on Linux Updated
If you want this guide to work on the deck, for easiness of following the guide, make your filesystem temporally writable
and install protontricks regularly.
This is really an update for the guide found here https://github.com/ValveSoftware/Proton/issues/148#issuecomment-585921635
We will be using Proton 5.0-10 the only proton version that works good for assetto.
Before starting, make sure you have no pfx folder for assetto corsa, you can search for it in:
/path/to/your/SteamLibrary/steamapps/compatdata/244210
If there is a pfx folder, delete it completely before starting the guide.
1. Set in Assetto Corsa Properties in Steam to force the use of a compatibility tool to Proton 5.0-10
2. Start the game and let it crash
-Execute in a terminal as a user the commands preceded with $-
3. $ protontricks -c "wine uninstaller" 244210
3.1. From the list Remove "Wine Mono Windows Support"
4. Download https://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe
4.1. Use 'cd' command to navigate to the folder containing the file downloaded
5. $ protontricks --no-background-wineserver 244210 winxp
6. $ protontricks --no-background-wineserver 244210 shell
7. $ cd -
This last command is to navigate back to the folder where you were and so containing the file
8. $ wine dotNetFx40_Full_x86_x64.exe /q
-This step will take a good while-
9. $ exit
10. Download 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
10.1 Use 'cd' command to navigate to the folder containing the file downloaded if saved in a different folder than on step 4.
11. $ protontricks --no-background-wineserver 244210 win7
1w. $ protontricks --no-background-wineserver 244210 mscoree=native
13. $ protontricks --no-background-wineserver 244210 shell
14. $ cd -
15. $ wine NDP471-KB4033342-x86-x64-AllOS-ENU.exe /q
-This step will take a good while-
16. $ exit
17. $ protontricks --no-background-wineserver 244210 -q vcrun2015
18. $ protontricks --no-background-wineserver 244210 -q d3dcompiler_47
19. $ protontricks --no-background-wineserver 244210 win10
Now you have a good prefix for the game. But we are not finished yet as we need now to link the loginvdf file for CM.
20. $ mkdir /path/to/your/SteamLibrary/steamapps/compatdata/244210/pfx/drive_c/Program\ Files\ \(x86\)/Steam/config
21. $ ln -s $HOME/.steam/root/config/loginusers.vdf /path/to/your/SteamLibrary/steamapps/compatdata/244210/pfx/drive_c/Program\ Files\ \(x86\)/Steam/config/loginusers.vdf
Now the Content manager part of the guide
22. Download Content Manager from https://assettocorsa.club/content-manager.html
23. Extract the .exe to assetto's game folder and rename the file to:
Content Manager Safe.exe
Now prepare the launch command for the game in Assetto Corsa's properties
24. Set assetto's steam launch parammeters to:
/path/to/your/SteamLibrary/steamapps/common/'Proton 5.0'/proton waitforexitandrun /path/to/your/SteamLibrary/steamapps/common/assettocorsa/'Content Manager Safe.exe'; echo %command%
If you have installed assetto's in a hidden folder (as is the case in the default install location but not for a sd install or
other locations) you will need to execute the 24.1 command to get the path to copy it when CM asks you for the installation folder
of assetto
24.1 $ echo 'Z:\home\'$USER'\.steam\root\steamapps\common\assettocorsa'
25. Launch the game, if you are on the Deck, do it in the desktop mode for now.
It may take a while to launch, just let it be.
26. Search for the installation folder or paste the result of the step 24.1
-You will notice that detects your steam account automagically-
27. Set your player name and press accept
28. Close the launcher
Let's install CSP
29. $ protontricks -c winecfg 244210
30. In 'Libraries' tab, add a new override with text:
dwrite
31. Press Add and set it to native, built-in (it is the default option)
32. Press OK to close the window
-At this step you can make a backup of the 'pfx' folder in case you try things and break it not to make the whole process again.-
Renember: Changing and launching the game with different Proton versions effectivelly breaks the pfx, so to go back you need to delete
the pfx folder and restore the backup.
There is a TLS/SSL problem with latest CM versions and so the launcher can't connect to web servers (online races work just fine), thus
we need to manually install Custom Shaders Patch and the other mods that you want.
33. Download from https://acstuff.ru/patch/ The very latest version .zip file
34. Extract the contents of the .zip inthe root folder of the game,
so dwrite.dll and extension folder are in the same folder as Custom Manager Safe.exe
35. Enjoy the game
@berniyh
Copy link

berniyh commented Feb 15, 2023

I had to deactivate some module(s) in CSP to get it working. Unfortunately, I can't remember which ones, but should be quick to just try each one.

Looks like it might have been 'Music' and 'Car Instruments'. after disabling those the game works!
Thanks for the tips

Hey, I'm getting the same error, but turning off Music and Car Instruments makes no change for me. Could it be another module?

Maybe also try different CSP releases. It's quite possible that something broke in a recent version.

@rumifloss
Copy link

rumifloss commented Feb 16, 2023

I had to deactivate some module(s) in CSP to get it working. Unfortunately, I can't remember which ones, but should be quick to just try each one.

Looks like it might have been 'Music' and 'Car Instruments'. after disabling those the game works!
Thanks for the tips

Hey, I'm getting the same error, but turning off Music and Car Instruments makes no change for me. Could it be another module?

Maybe also try different CSP releases. It's quite possible that something broke in a recent version.

Thanks! I tried 1.77 but that didn't work either. Everything (including Car Instruments) was fixed when I copied fonts from a copy of Windows (C:\windows\fonts) and pasted that in pfx/drive_c/windows/fonts. Copying and sharing them is a little sketchy but I'll try finding a way.

@berniyh
Copy link

berniyh commented Feb 16, 2023

Which fonts? Please write down such details, could be helpful for others. ;)

Also, some fonts you can install via protontricks or winetricks. e.g. the corefonts package contains some basic fonts that some programs need.

@kaii-lb
Copy link

kaii-lb commented Feb 19, 2023

Which fonts? Please write down such details, could be helpful for others. ;)

Also, some fonts you can install via protontricks or winetricks. e.g. the corefonts package contains some basic fonts that some programs need.

i think they mean ALL windows fonts (since they mentioned C:\windows\fonts), if ur on arch there's an aur package for those, installs it systemdwide (idk if u need to install it per bottle), on other distros you need to extract the fonts urself from an iso

@Tructruc
Copy link

Tructruc commented May 3, 2023

Hi, it worked great exept that the content manager isn't showing the images of the cars, the tracks... is it normal or is there a fix for it ?

@JJones780
Copy link

JJones780 commented May 8, 2023

This is a ProtonTricks gotcha I've experienced.

Debian/Devuan/Ubuntu etc ship with outdated winetricks and disable the update check re: link
ProtonTricks uses Winetricks; Older versions of winetricks will install older versions of libraries etc. ( eg d3dcompiler_47 ) !

Flatpacks shouldn't have this problem(?). I understand they include their own winetricks.

running sudo winetricks --self-update will update winetricks.

Note that reinstalling libraries after updating winetricks may fail silently. Check the d3dcompiler_47 etc. file date/size before and after. It may be easier to copy from another game install.

@hogcycle
Copy link

does running dotnet with wine usually take so long? its been like 15 minutes and its just spitting what seems like repetitive gibberish to the terminal

@ANBAL534
Copy link
Author

ANBAL534 commented Aug 6, 2023

does running dotnet with wine usually take so long? its been like 15 minutes and its just spitting what seems like repetitive gibberish to the terminal

Literal hours sometimes

@Ouroboros47
Copy link

Ouroboros47 commented Aug 8, 2023

For some reason I am getting stuck on the first wineuninstaller command. It won't let me remove the Mono, when i click on the Mono and then click remove it stays there and unselects itself. Terminal is showing these errors:

esync: up and running.
0068:err:wineusb:DriverEntry Failed to initialize Unix library, status 0xc0000135.
0068:err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\wineusb": c0000135
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 126
0050:err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\nsiproxy": c0000135
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"nsiproxy" failed to start: 126
0050:err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\NDIS": 00000001
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"NDIS" failed to start: 731

I am running Fedora 38

@EnteSuesssauer15
Copy link

step 25. wont launch on steam deck it crashes after a second i press on start

@rexendevar
Copy link

I didn't experience any problems going through the list of steps, but at the very end of it, the game simply won't run. Here's my error log from Steam. Note that I was careful to manually change every mention of the native installer path to the flatpak path; that's not the problem

esync: up and running.
Steam Runtime Launch Service: steam-runtime-launcher-service pid 1875 exited
Steam Runtime Launch Service: starting steam-runtime-launcher-service
Steam Runtime Launch Service: steam-runtime-launcher-service is running pid 1921
bus_name=com.steampowered.PressureVessel.LaunchAlongsideSteam
Steam Runtime Launch Service: steam-runtime-launcher-service pid 1921 exited
Steam Runtime Launch Service: starting steam-runtime-launcher-service
Steam Runtime Launch Service: steam-runtime-launcher-service is running pid 1931
bus_name=com.steampowered.PressureVessel.LaunchAlongsideSteam
wine: configuration in L"/home/spyndling/bigboy4tb/SteamLibrary/steamapps/compatdata/244210/pfx" has been updated.
chdir "/home/spyndling/bigboy4tb/SteamLibrary/steamapps/common/assettocorsa"
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 1948 for gameID 244210
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Adding process 1949 for gameID 244210
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
esync: up and running.
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 1951 for gameID 244210
WARNING: discarding _NET_WM_PID 3463 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 3 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 36984 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 5 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 74759 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 87373 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 87373 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 99983 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 99983 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 3463 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 3 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 36984 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 5 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 74759 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 87373 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 87373 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 99983 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 99983 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 3463 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 3 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 36984 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 5 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 74759 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 87373 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 87373 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 99983 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 99983 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
BuildCompleteAppOverviewChange: 322 apps
Adding process 1958 for gameID 244210
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 1976 for gameID 244210
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 1984 for gameID 244210
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 1991 for gameID 244210
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Adding process 1994 for gameID 244210
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
wine: configuration in L"/home/spyndling/bigboy4tb/SteamLibrary/steamapps/compatdata/244210/pfx" has been updated.
Setting breakpad minidump AppID = 244210
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198211743299 [API loaded no]
ERROR: ld.so: object '/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Adding process 1999 for gameID 244210
/home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=244210 -- /home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- /home/spyndling/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton 5.0/proton waitforexitandrun /home/spyndling/bigboy4tb/SteamLibrary/steamapps/common/assettocorsa/AssettoCorsa.exe
pid 1954 != 1953, skipping destruction (fork without exec?)
Game 244210 created interface STEAMAPPLIST_INTERFACE_VERSION001 / AppList
Game 244210 created interface STEAMAPPS_INTERFACE_VERSION008 / Apps
Game 244210 created interface STEAMHTMLSURFACE_INTERFACE_VERSION_004 / HTMLSurface
Game 244210 created interface STEAMHTTP_INTERFACE_VERSION002 / HTTP
Game 244210 created interface STEAMINVENTORY_INTERFACE_V002 / Inventory
Game 244210 created interface STEAMMUSICREMOTE_INTERFACE_VERSION001 / MusicRemote
Game 244210 created interface STEAMMUSIC_INTERFACE_VERSION001 / Music
Game 244210 created interface STEAMPARENTALSETTINGS_INTERFACE_VERSION001 / ParentalSettings
Game 244210 created interface STEAMREMOTESTORAGE_INTERFACE_VERSION014 / RemoteStorage
Game 244210 created interface STEAMSCREENSHOTS_INTERFACE_VERSION003 / Screenshots
Game 244210 created interface STEAMUGC_INTERFACE_VERSION010 / UGC
Game 244210 created interface STEAMUSERSTATS_INTERFACE_VERSION011 / UserStats
Game 244210 created interface STEAMVIDEO_INTERFACE_V002 / Video
Game 244210 created interface SteamController006 / Controller
Game 244210 created interface SteamFriends015 / Friends
Game 244210 created interface SteamMatchMaking009 / Matchmaking
Game 244210 created interface SteamMatchMakingServers002 / MatchmakingServers
Game 244210 created interface SteamNetworking005 / Networking
Game 244210 created interface SteamUser019 / User
Game 244210 created interface SteamUtils009 / Utils
Game 244210 method call count for IClientUtils::RecordSteamInterfaceCreation : 22
Game 244210 method call count for IClientUtils::GetSteamUILanguage : 1
Game 244210 method call count for IClientUtils::GetAppID : 24
Game 244210 method call count for IClientUser::GetSteamID : 1
Uploaded AppInterfaceStats to Steam
Removing process 1999 for gameID 244210
Removing process 1994 for gameID 244210
Removing process 1991 for gameID 244210
Removing process 1984 for gameID 244210
Removing process 1976 for gameID 244210
Removing process 1958 for gameID 244210
Removing process 1951 for gameID 244210
Removing process 1949 for gameID 244210
Removing process 1948 for gameID 244210
BuildCompleteAppOverviewChange: 322 apps

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment