StarryNotes Posted July 2 Report Posted July 2 I hope this is the right category - I've tried to follow like six tutorials on installing Dotnet 10 via script and while it updated the DOTNET_ROOT, it didn't actually update which version my deck is using and I have no idea why - attached is the dotnet --info output. I have already added the necessary lines to the bashrc and restarted my deck.
isupor Posted Thursday at 12:25 AM Report Posted Thursday at 12:25 AM I'm having the same issue, did you ever find a solution? If not, the flatpack for VS works despite me not having dotnet10 for whatever reason.
Diff Posted Thursday at 12:53 AM Report Posted Thursday at 12:53 AM 26 minutes ago, isupor said: I'm having the same issue, did you ever find a solution? If not, the flatpack for VS works despite me not having dotnet10 for whatever reason. Flatpak's probably the easiest solution. It works because Flatpaks bundle everything they need inside (more or less).
Dilan Rona Posted Thursday at 04:28 PM Report Posted Thursday at 04:28 PM I still got dotnet 8 as the default on my system, added dotnet 10 directly to the vintage story folder, and added an environment variable that points to the location export DOTNET_ROOT=./dotnet # Manually set dotnet 10 variables export PATH=$PATH:./dotnet Then the scrip start vintage story just fine.
Dark Thoughts Posted Thursday at 08:56 PM Report Posted Thursday at 08:56 PM 20 hours ago, isupor said: I'm having the same issue, did you ever find a solution? If not, the flatpack for VS works despite me not having dotnet10 for whatever reason. Flatpaks are, for better or worse, sandboxed applications that inherently ship with all their necessary dependencies inside of the package.
Teh Pizza Lady Posted Thursday at 09:42 PM Report Posted Thursday at 09:42 PM 45 minutes ago, Dark Thoughts said: Flatpaks are, for better or worse, sandboxed applications that inherently ship with all their necessary dependencies inside of the package. this. Minecraft used to ship with it's own copy of Java for the same reason... just in case you didn't have Java.
MirthOfManus Posted Thursday at 10:16 PM Report Posted Thursday at 10:16 PM I have had some success downloading DOTNET 10 as the root user which then the rest of the system used. I can't remember exactly what I did for the environment variable but it ended up working. I am unfortunately not incredibly familiar with steamos version of Linux but I will update this reply if I can recreate what I did.
Diff Posted Thursday at 10:51 PM Report Posted Thursday at 10:51 PM 32 minutes ago, MirthOfManus said: I have had some success downloading DOTNET 10 as the root user which then the rest of the system used. I can't remember exactly what I did for the environment variable but it ended up working. I am unfortunately not incredibly familiar with steamos version of Linux but I will update this reply if I can recreate what I did. Did that solution survive OS updates?
Dilan Rona Posted Friday at 04:47 AM Report Posted Friday at 04:47 AM (edited) Yes it did. Its a local install in the vintage story folder itself. And as long as the environment variable is right, and pointing at the correct location, it will work. Edited Friday at 04:49 AM by Dilan Rona
Diff Posted Friday at 10:18 AM Report Posted Friday at 10:18 AM Then I'm confused, if it was installed locally to the folder why install as the root user?
Dilan Rona Posted Friday at 01:23 PM Report Posted Friday at 01:23 PM Cause I'm still on fedora 40 on this laptop, and cant install dotnet 10 globally. Besides for what I need to do, dotnet 8 is actually fine globally.
Diff Posted Friday at 02:24 PM Report Posted Friday at 02:24 PM (edited) Oh wait you're not MirthOfManus, my bad. MirthOfManus said they installed it globally as the root user on SteamOS, I was asking about that because SteamOS often wipes changes to the root partition on OS updates. Edited Friday at 02:26 PM by Diff
Dilan Rona Posted Friday at 04:17 PM Report Posted Friday at 04:17 PM Will still work on SteamOS with the local install. He has to make sure the environment variables are in place for the game to run. #!/bin/bash # Get the absolute directory path of where the script is located SCRIPT_DIR="$(dirname "$(realpath "${BASH_SOURCE[0]}")")" # Required for the game to load its own fonts (must be absolute path) export FONTCONFIG_FILE="$SCRIPT_DIR"/fonts.conf # Change directory to where the game executable should also be cd "$SCRIPT_DIR" # try to use the more powerful/dedicated GPU if available - set this if by default it uses your integrated graphics card # export DRI_PRIME=1 # Manually set dotnet 10 variables export DOTNET_ROOT=./dotnet export PATH=$PATH:./dotnet # Run the game, pass along all arguments given to the script ./Vintagestory "$@" Thats my entire script for Vintage Story 1.22.7. And the way I got mine setup, I got 1.20.12, 1.21, and 1.22 installed. 1.20 being my megabuild map (that depends on dotnet 8 for the plugins).
Dilan Rona Posted Friday at 04:31 PM Report Posted Friday at 04:31 PM On 9/10/2026 at 2:53 AM, Diff said: Flatpak's probably the easiest solution. It works because Flatpaks bundle everything they need inside (more or less). Not exactly a fan of flatpacks. Updates I do manually.
Teh Pizza Lady Posted Friday at 07:00 PM Report Posted Friday at 07:00 PM 2 hours ago, Dilan Rona said: Not exactly a fan of flatpacks. Updates I do manually. Why is that? Just curious. I always thought they were great because they just work! I see them as self-contained venvs which are pretty much necessary for running Python applications since some of them might use different packages than others.
MirthOfManus Posted Friday at 08:16 PM Report Posted Friday at 08:16 PM (edited) 21 hours ago, Diff said: Did that solution survive OS updates? Unfortunately, no. Are you attempting to run a VS server on your deck or just trying to play on the deck? If the former, I had success putting the export DOTNET_ROOT=/home/vintagestory/.dotnet export PATH=$DOTNET_ROOT:$DOTNET_ROOT/tools:$PATH from the /.bashrc file into the server.sh file but I am not sure how helpful that is for someone just running the game. In case this does help, another change I made was further in the server.sh file. INVOCATION="/home/vintagestory/.dotnet/dotnet ${SERVICE} --dataPath \"${DATAPATH}\" ${OPTIONS}" PGREPTEST="/home/vintagestory/.dotnet/dotnet ${SERVICE} --dataPath ${DATAPATH}" This had solved my problem of not being able to run commands for my vintagestory user while in my main user. There is almost certainly a better way of doing this but I am not very knowledgeable about steamos/Linux. Hopefully this helps! If not, hopefully it'll help someone else attempting to do something similar. Edit: From reading, it seems like Dilan Rona seems to have a good script. Edited Friday at 08:18 PM by MirthOfManus
Dilan Rona Posted Saturday at 04:54 AM Report Posted Saturday at 04:54 AM (edited) 8 hours ago, MirthOfManus said: Edit: From reading, it seems like Dilan Rona seems to have a good script. the script is the default run script from vintage story. SCRIPT_DIR="$(dirname "$(realpath "${BASH_SOURCE[0]}")")" That line above was a suggestion from me via ticket, for usage cases where the game was launched from a shortcut, to guarantee the game launches from the right folder. And as per that partial screenshot, I got a local install of dotnet. cd "$(dirname "$(readlink -f "$0")")" cd "$(dirname "$(readlink -f "$0")")" Above line was another suggestion from me. Edited Saturday at 04:59 AM by Dilan Rona
Recommended Posts