zamtoid Posted June 10, 2023 Report Posted June 10, 2023 12 minutes ago, Denigirl said: So funnily enough, yes everything was updated and the newest version. I just decided to reinstall the game, and then i had resolution issues so i had to change the config file and put the resolution in. added the parameter you mentioned, and yeah now it works flawlessly! Thanks for prompting me to update/reinstall, im looking forward to playing :)) awesome!
1Joachim1 Posted June 10, 2023 Report Posted June 10, 2023 Sadly doesn't work for me. Tried to uninstall, delete everything, restarted the steam deck. Installed game, added it to steam, added all parameters (including the env=mesa_glthread=false at the end) and the buttons indeed work but the game freezes anyways at random..
mard Posted June 13, 2023 Author Report Posted June 13, 2023 Thank you very much for all your input. I'm facing the classic case of "works on my machine". Everything seems to be in order either with mesa_glthread flag enabled or disabled, I also never used Beta branch of SteamOS etc. I'll need a fresh Steam OS installation on my Steam Deck to troubleshoot. Maybe if I'll have some more time later down this week, I'll backup my Steam Deck data and try to follow the guide step by step to see what can be done to fix the issue.
mard Posted July 24, 2023 Author Report Posted July 24, 2023 (edited) 1 hour ago, Antiquitas said: Vintage Story wasn't working with all the work arounds I'm very sorry to hear this. As of SteamOS 3.4.8 and VS 1.18.6 I can't personally replicate the issue. The VS flatpak loads and runs all fine for me, in singleplayer, multiplayer, modded and vanilla, with both mesa_glthread set to true or false, with default sandbox permissions for the Flatpak. Also, shader precaching is enabled in Steam. I use the following launch options: run --env=mesa_glthread=false --env=LC_ALL= --env=LD_PRELOAD= --branch=stable --arch=x86_64 --command=vintagestory at.vintagestory.VintageStory Apart from that, I don't see how my environment could radically differ from others. My OS is not radically altered in any way, but I indeed have tons of other flatpaks installed (Heroic Launcher, GZDoom, etc.) but it is not clear to me how they could cause any interference. I also have old freedesktop 21 flatpak dependencies deleted. I promised some time ago to wipe my deck clean and investigate the subject to the best of my ability. Unfortunately life got in the way and I wasn't able to find enough time and peace to back up my device. Maybe soon... This thread have been quiet for a while. If you find any clues or solutions, please let me know. Edited July 24, 2023 by mard
Antiquitas Posted July 24, 2023 Report Posted July 24, 2023 I deleted my reply because I got it to work. On hindsight I should have probably left it up and then explained why I got it working. Here's what I did to get it to work. I followed the tutorial. The part where it said to fix the graphics. You know, fullscreen, VSync on...all of that. Turns out the role of Village Idiot will be played by Antiquitas. It was such a basic thing and I can't believe I missed the most basics of basics. I am the dumb. That was literally it. Adjust graphics to match what you had on screen. Done. Works perfectly now. Works so well I have a bajillion mods added and it still works. Works wonderfully too. Seriously...VSync on...lower shadows...Fullscreen. How am I this dumb? 1
mard Posted July 24, 2023 Author Report Posted July 24, 2023 11 hours ago, Antiquitas said: Adjust graphics to match what you had on screen. Done. Works perfectly now. I'm super glad you were to figure it all out! It's very helpful so I added a necessary disclaimer in the original post so others won't miss it. 11 hours ago, Antiquitas said: Works so well I have a bajillion mods added and it still works. Works wonderfully too. Yes, the VS flatpak should handle all the mods now, it's shipped with complete Mono runtime which wasn't the case a few months before and many mods crashed the game. Just as a reminder - if you run the game through with Steam, consider adding the --env=LD_PRELOAD= parameter. It will invalidate the additional binary injected by Steam that is recognized by Vintage Story as a mod and in some situations it could interfere with the mod loading process, especially when joining multiplayer games.
Antiquitas Posted July 24, 2023 Report Posted July 24, 2023 3 minutes ago, mard said: Just as a reminder - if you run the game through with Steam, consider adding the --env=LD_PRELOAD= parameter. It will invalidate the additional binary injected by Steam that is recognized by Vintage Story as a mod and in some situations it could interfere with the mod loading process, especially when joining multiplayer games. Yup. I've already got it added. So knock on all the wood that this keeps chugging along. Thanks again for the help. And I'm just happy to be able to play this at my desk while I should be working and doing my job and totally not slacking off and playing this game. I've said too much. Don't tell HR. 1
mard Posted August 12, 2023 Author Report Posted August 12, 2023 (edited) Vintage Story 1.18.8 Flatpak has been published on Flathub and is available to update through the Discover app. It was a major change for the package, as it now utilizes the new .NET 7 instead of the dated Mono runtime. Dropping .NET Framework in favor of a much newer .NET (Core) brings noticeable performance improvements in some areas. Vintage Story now loads noticeably faster on Steam Deck and also shuts down properly. However, as is often the case with major upgrades like these, there could be some new problems, like this one. Some of these issues might be specific to the Steam Deck (Steam + Flatpak) setup. If you suspect so, please provide feedback below in this thread. In case of any problems, first see the original post, which I always try to keep up to date with the new information. Pay special attention to launch options and graphics settings parts, in my experience these are most common points of failure for players trying to run the game on Steam Deck. Edited August 12, 2023 by mard
TheCrowArtist Posted November 27, 2023 Report Posted November 27, 2023 On 4/3/2023 at 2:42 PM, mard said: It's easy. When you're in game, you can press STEAM button, then you go to Controller settings. then the big button just under the Current Layout caption. You should be able to see available controller layout on the list. You can see how it looks like on this video. You can bring up the keyboard by pressing STEAM + X buttons at the same time. I tried to boot up the game, and the keyboard will not show up. I do hear the sound of it appearing when I press STEAM + X, but it’s like it appears behind the game. I tried all the inputs, but they all insert the keys from the Mark 1 layout.
mard Posted December 7, 2023 Author Report Posted December 7, 2023 (edited) On 11/27/2023 at 3:00 AM, TheCrowArtist said: I tried to boot up the game, and the keyboard will not show up. I do hear the sound of it appearing when I press STEAM + X, but it’s like it appears behind the game. I tried all the inputs, but they all insert the keys from the Mark 1 layout. I never noticed any problems with the virtual keyboard in the regular Gaming Mode, but in the Desktop Mode it was always very buggy and I always have some kind of problems with it. It's enough for getting things done, but it's hit or miss when it comes to prolonged usage. As a workaround, you can connect a Bluetooth keyboard, or a regular USB keyboard using an USB-C hub or USB-A to USB-C adapter. Until then, fingers crossed that the virtual keyboard problems get resolved soon. Edited December 7, 2023 by mard
mard Posted January 3, 2024 Author Report Posted January 3, 2024 40 minutes ago, Meowlory said: So, when I try and run the commands listed in OP to downgrade the version, I get 404 errors. Has something changed in regards to access...? That's a good observation. This is because the test artifacts from continous integration (GitHub's flathubbot) have a limited timespan and are deleted after a certain period of time, hence the 404 Not Found error. They are meant to be used to test upcoming versions, not historical ones. If you want to downgrade to any previous version that was already published on flathub, Just follow the Downgrading section of the guide in the original post. I have further clarified it to avoid any confusion if you have a test version already installed in place. Just make sure that the commit id/hash is correct, otherwise you will encounter 404 errors as well.
mard Posted February 18, 2024 Author Report Posted February 18, 2024 It's a bit off-topic, but I think it needs to be addressed. Recently, I've noticed that some users who have difficulty with something turn to this thread asking for help, then delete their posts after they find a solution. Instead of deleting the post, you can simply edit it and explain what you did wrong and how you solved it. It can be helpful for others, as well as for me, because I could use your input to improve the guide. I've been a Steam and Linux user for around one and a half decades. Some things are obvious to me, but not so much for others. I did my best to convey all the information as clearly as possible, but if you struggle with something, please let me know so I can explain things a bit better.
Dentro Posted May 8, 2024 Report Posted May 8, 2024 Anyone else not seeing the community layout [Mark 1] on the deck? Without installing this it seems that none of the controls are working after following the guide. Thank you.
GyroZ Posted May 14, 2024 Report Posted May 14, 2024 On 5/8/2024 at 2:34 AM, Dentro said: Anyone else not seeing the community layout [Mark 1] on the deck? Without installing this it seems that none of the controls are working after following the guide. Thank you. I just tried it an it seems its missing aswell. Have you been able to find a solution for this perhaps?
mard Posted May 14, 2024 Author Report Posted May 14, 2024 (edited) On 5/8/2024 at 2:34 AM, Dentro said: Anyone else not seeing the community layout [Mark 1] on the deck? 8 hours ago, GyroZ said: I just tried it an it seems its missing aswell The layout was made in April 2022, I asked the author to reupdate/reupload. Make sure that: 1. The non-Steam game name is exactly Vintage Story because the layout was made exactly for this game 2. When navigating to Community Layouts tab on Steam Deck, notice the option Show All Layouts on the bottom panel, enable it (make sure the Community Layouts tab is highlighted to see the option) When all else fails, you can access this URI on desktop mode: steam://controllerconfig/2485963017/3246456598 To invoke it, you can try a web browser, but the best way is to go to desktop mode, open Konsole app and type xdo-open steam://controllerconfig/2485963017/3246456598 The Steam window should open up and you should now be able to apply the layout. I'll update the OP with information above. Edited May 14, 2024 by mard
conninator2000 Posted June 5, 2024 Report Posted June 5, 2024 (edited) Hey! Just picked up a steam deck and this is basically the first thing I am putting on. For the most part its a pretty painless install, your guide does a great job covering the bases. Only ran into two issues big issues so far. So issue #1 was when I was running in desktop mode. Initially froze the mouse and the steam keyboard could appear but it would basically be invisible. You can technically interact with it using the buttons but since you cant see it, its a bit of a headache to type anything. Luckily the mouse was fixed by your mention of the env gitthread launch property, and there was a steam guide that gave a quick answer to making the keyboard appear which i will link here Basically edit a setting and bam the keyboard appears without any issue. So two issues down and I can log in, set the settings, and launch the game to give it a test. Game loads up fine, all of the controls seem to work minus the left stick to move using the controller configuration. So I figure that its probably just a steam deck desktop mode oddity, you recommended using big picture mode anyways so time to give that a shot. I boot up big picture mode, and since it has all the same launch config and that keyboard fix I did, it should be right as roses and let me get down to the root of this issue (and without having to be in hell every time i have to press the x key). Launch the game and it logs in but I can't bring up the keyboard overlay and also can't interact with it at all. The controller layout is set just like before but no inputs seem to do anything while the game putters on in the title screen. Any ideas on fixes or things to look into? It might be worth linking that guide for those that want to be able to use desktop mode to at least get into the title screen to change settings. Also it might be worth adding the selecting the layouts tab to get the button to show hidden layouts to the guide proper - i didnt have any issues until double checking it in big picture mode and its a little more picky there about what you have selected to show hidden layouts than it was in desktop mode. Edited June 5, 2024 by Connor Black
mard Posted June 5, 2024 Author Report Posted June 5, 2024 36 minutes ago, Connor Black said: Hey! Just picked up a steam deck and this is basically the first thing I am putting on. For the most part its a pretty painless install, your guide does a great job covering the bases. Only ran into two issues big issues so far. So issue #1 was when I was running in desktop mode. Initially froze the mouse and the steam keyboard could appear but it would basically be invisible. You can technically interact with it using the buttons but since you cant see it, its a bit of a headache to type anything. Luckily the mouse was fixed by your mention of the env gitthread launch property, and there was a steam guide that gave a quick answer to making the keyboard appear which i will link here Basically edit a setting and bam the keyboard appears without any issue. So two issues down and I can log in, set the settings, and launch the game to give it a test. Thank you for your comment and valuable feedback. VS was amongst the first things I installed on my Deck as well. Launching it mostly from the gaming mode I never encountered major problems, but over the years I was able to identify some edge cases where it might break. Good job finding the GLThread hack, it was required previously but during my last audit I found out it's not needed anymore so I removed it from the setup section. As far as I know, virtual keyboard went through some overhauls since the original Steam Deck release. One thing have been common for its every iteration - invoking the virtual keyboard always have been rather buggy and unreliable for me. What usually helps is a reboot straight into the gaming mode, only then I can invoke the keyboard with STEAM+X reliably. 37 minutes ago, Connor Black said: Game loads up fine, all of the controls seem to work minus the left stick to move using the controller configuration. So I figure that its probably just a steam deck desktop mode oddity, you recommended using big picture mode anyways so time to give that a shot. Just to say, there's quite a difference between a big picture mode in Desktop Mode and so called Gaming Mode, which works completely outside the built-in desktop environment (KDE Plasma). While I found Vintage Story to be playable in Desktop Mode with physical keyboard and mouse, for built in controls I can always recommend logging out into the Gaming Mode first and foremost. 38 minutes ago, Connor Black said: It might be worth linking that guide for those that want to be able to use desktop mode to at least get into the title screen to change settings. Maybe I'll pay some proper attention to Desktop Mode in my spare time. Desktop Mode was never my focus during my testing, and when it was, I always had it docked with external keyboard and mouse already connected so I had not much exposure to issues with virtual keyboard. 39 minutes ago, Connor Black said: Also it might be worth adding the selecting the layouts tab to get the button to show hidden layouts to the guide proper - i didnt have any issues until double checking it in big picture mode and its a little more picky there about what you have selected to show hidden layouts than it was in desktop mode. Show all layouts option only shows up only if you navigate to it and you don't any item focused on the list below. I can add this disclaimer to the caption that is already existing, all with emboldened red text already present there.
conninator2000 Posted June 6, 2024 Report Posted June 6, 2024 Thats a fair point, it seems in all my years doing tech related stuff, I forgot the first step of turning it off and turning it back on again. Restarted the deck just down and loaded up the game in the gaming mode and the control scheme works fine + mouse control is all good. Might be worth putting in that after all the setup is done, it is worth giving it a restart. Oddly enough it still doesnt map the left stick correctly to moving (same issue i ran into) on desktop mode, but gaming mode looks like a charm! Which means its time to get adding some mods Did you ever notice any issues with performance? On my pc I generally found mods being a hog with RAM, though I did have it installed on a HDD for way longer than I should have. After swapping it to SSD a few days ago i noticed the performance picked up a bit or at least was much more consistent with frame rates. Again, thanks for your guide! Really helpful and honestly was the tipping factor to get a deck when i saw it - the switch has always been a bit ehh and vintage story has been a consistent game to return to when I need a break from the steam library. 1
mard Posted June 6, 2024 Author Report Posted June 6, 2024 5 hours ago, Connor Black said: Did you ever notice any issues with performance? On my pc I generally found mods being a hog with RAM The performance greatly improved after the VS codebase was migrated .NET 7 and some later SteamOS updates to itself. Deck comes with 16 GB of shared RAM/VRAM memory. It's way more than enough for the base game and will definitely handle a bunch of mods. But I wouldn't really expect it to run an internal server with hundreds of mods installed. You can play heavily modded multiplayer servers rather fine, though. 5 hours ago, Connor Black said: Oddly enough it still doesnt map the left stick correctly to moving (same issue i ran into) on desktop mode You've probably noticed by now that desktop mode has its own mapping for the Deck controls. For example, left stick is mapped to arrow keys, but in VS you need WASD keys to move around. That's exactly the thing that makes you immobile because arrow keys do nothing in VS. I was under impression that launching the game in Desktop mode from Steam would apply the WASD mapping set in the Gaming mode, but that's apparently not the case. That's why I recommend playing in Gaming mode if you're not using external mouse and keyboard.
conninator2000 Posted June 7, 2024 Report Posted June 7, 2024 Good catch on the desktop remapping to arrow keys. I guess that means you could rebind it to run there without many issues - though the decks gaming mode makes that a bit redudnant. Its pretty interesting what you can do with it since the steamOS/linux distro just basically makes the steam deck a switch sized laptop. That being said i noticed with ~40 ish mods on desktop i would run into some stutters with 32gb of ram even since the .net 7 update. But i think most of that was just due to an HDD that has seen a few years of work. The mods might have not even been the culprit there - i did love a good bit of chiseling which I heard can have a bit of a hit on RAM if there is a lot in one location. But all of that was on a pre .Net 7 version too... But either way, good job on the guide and being willing to keep it up to date! Very useful information. Now if only there was some kind of way to automatically sync saves between pc and deck- i suppose something like github would do the trick :) 1
mard Posted June 7, 2024 Author Report Posted June 7, 2024 (edited) 18 minutes ago, Connor Black said: But either way, good job on the guide and being willing to keep it up to date! Very useful information. Now if only there was some kind of way to automatically sync saves between pc and deck- i suppose something like github would do the trick Thank you, I really appreciate it. I can give you a hint regarding automatic sync for worlds: Decky (a community-made extension to Steam Deck's gaming mode) has a plugin for managing a piece of software called Syncthing (open source peer-to-peer file synchronization, which requires Syncthing GTK flatpak to be installed and configured in Desktop Mode). If I ever needed a way to synchronize gigabytes of singleplayer worlds between two online machines, this is what I would use. However, it's just easier (and more convenient) for me to just host a private dedicated server, so I can't say anything about the Decky/Syncthing setup because it never really was my use case. But if you manage to establish a convenient save sync setup sometime in the future, feel free to describe your experience and I'll link it in the OP. Good luck! Edited June 7, 2024 by mard typos
conninator2000 Posted June 11, 2024 Report Posted June 11, 2024 (edited) Ok so good news, I managed to get it working with syncthing to sync a folder - though it was a bit of a hassle as all networking things are. Ill format it below in case you either want to link to this message or to just add it to the guide since I figure it might help a fair amount of users that are coming from PC. So before we get into the nitty gritty, lets first talk about whats to be expected and what some alternatives might be. This can be a bit of a setup and things can go wrong that will take a bit of extra time if you aren't careful. I doubt anything will have any huge issues, the worst I ran into was having to reinstall and reconfigure some things or do a fair bit of googling and forum crawling to find a fix. Expectations Spoiler What is expected: you can sync practically everything with vintage story data wise as long as both devices have access to any network Mods/their config files Saves Maps relating to those saves Player data (for multiplayer purposes) Its pretty seamless as long as you give them time to update files. It doesn't take long but might mean waiting a few minutes between swapping devices in case its slow What you can't do: Update this data on demand without having both devices running this at the same time - this isn't hosted on the cloud though in theory, it could be (we can get into that later) If you want to interact with the same files on both devices at the same time playing the same save on both PC and deck at the same instance or without waiting for them to update properly In case this doesn't really cover what you need, there are some alternatives Host a dedicated server - this fixes practically all of those issues but requires a computer or device to always be hosting this It can be a bit difficult for users to do since it can sometimes get a bit technical, need IP addresses, etc Websites do exist that you can pay to host games like this, but they will need a bit of extra setup if you want to use mods Use some manual file transferring There are some platforms that could help with this like google drive, github, etc. Anywhere that can host a file can cover a use case Problem is that whenever you finish playing, you HAVE to remember to move the files over to the cloud. The nice part is that you can pull the save down whenever and put it up when you are done 99% of this is done by using syncthing though, so doing this method may be a easy fallback but it can be a lot of extra legwork for something computers can do with minimal issue But this use case is probably more useful if you have extremely unreliable access to the internet With that out of the way, lets get down to business. Ill give a bit of a technical overview here - but please know that its just technical mumbo jumbo. I'll do my best to walk through this with a good bit of detail since i already spent one sleepless night figuring this out so it wouldn't be fair to take up your entire night now would it? Basically we are going to use syncthing to create a folder on our PC that we are going to share with out deck. It shares through syncthing-gtk and will go through syncthing (a plugin for decky loader). At the end of the day that means you can leave your pc running sync thing while your deck can have an easy switch to toggle it on/off in gaming mode! So you can do a bit of work here to avoid having to touch desktop mode as much. Now going forward ill use a style in the headers. If it starts with SD we will be using the steam deck for this part. If it starts with PC we will be using your desktop/laptop or really, any other device that can handle syncthing. Its actually a pretty portable piece of hardware, but since I run windows 10, ill keep most of my work down to that platform. Other platforms seem to work very similar especially when using the web UI. SD-Initial Setup Spoiler So first thing on the agenda, downloading things! Most of the steam side of things is going to be using desktop mode so I will mention when we have to cut over to gaming mode. But for the time being everything on the deck is going to be in desktop mode. Since you have already become a pro by downloading vintage story through flathub, open it back up and look for a flatpak called "syncthing-gtk" - this will be how our deck communicates with other syncthing applications. Some important things to note is that you want to set it to "listen to all instances". This means you have to put in a username and password. Please... REMEMBER THESE. I'll admit that I forgot that i even created them by the time I figured out the final piece of the puzzle to connect it to decky - which is why we will be doing that first so you don't forget and have to reinstall and reconfigure syncthing, you can thank me later. With that installed, lets download (but not install) decky loader from here. Now its important to note that we don't install it because decky loader and its plugins thrive off being able to use a feature in steam called "CEF Remote debugging" which lets its plugins use chromium (what chrome was built on and popularized) with its plugins. So just to make sure we have that feature off, go to the steam settings in gaming or desktop mode and look for the option under System called "Enable Developer mode". If it is off, then continue to the next paragraph. If it is on, scroll down the side bar to the setting tab "Developer" and make sure CEF is off. I left it on during setup but apparently other users had this issue (though it looks like gtk updated to fix the default port it uses more recently). I'll remind you when we get back to setting up decky to turn CEF back on, but for now we don't need it. SD-Configuring Syncthing-GTK Spoiler Now that we have it installed syncthing, lets start running it. It should boot up and show you a GUI without issue. If you have issues connecting to the daemon, I can't give much advice here since it would have to the a GTK issue. If that's the case, there are 2 other flatpaks for syncthing that you can use and try to follow their functionality as if it was gtk. With it started up we are going to left click on the box at the top left of the window. Ignore the stuff in the background, we will get up to that point. But press that box, and open the Web Interface. https://cdn.discordapp.com/attachments/700710862750482492/1250165788262924348/Screenshot_20240611_150951.png?ex=6669f31e&is=6668a19e&hm=1bdbc5112d3376fa38011ee9594d66a95848f874a9ba7c6b7cadad699fbaeb8b&= This interface is a very nice way to get into the settings exactly how your PC will. I set up most of it without it, but it is required for some things that can be a bit obtuse. With it open, we can get 2 pieces of important information. Again ignore the folder and remote device in the background, we will get to that very soon. Click the top right actions and go to show ID. Copy this and find a way to send it to a platform your PC can get easily. My era of copying down codes like that by hand ended in the late 2000s when I stopped buying games on disk. I used a discord DM to quickly pass it over. Next step is we want to open the settings tab. Go to the GUI header and change the GUI listen address from 0.0.0.0:8081 to 0.0.0.0:8384. This is the common port for syncthing to use, I'm not sure why gtk thought it would be fun to just switch it up for half the application. With that changed, we have one little issue. The application pointed to the GUI address set in its file, so the website and the application will stop working. Right click the tray icon for syncthing, in all its 8 bit high res glory, and click Quit, Restart the application and everything should be working again getting you to that first UI we showed. Lets leave it there while we start working on the other end of the connection. PC-Setup Spoiler Luckily, syncthing on PC is a piece of cake so head over to syncthing and download the file for your device. Make sure its the correct one! But I bet 99% of the people reading this will probably be on AMD/INTEL x64 bit for windows. If you aren't sure, feel free to consult your system settings to find out if you run 64 bit and if your processor is AMD or Intel. The setup for pc is much easier, just install it and launch it. Get into the web UI which should look identical to the web UI we had on the deck. Click on the bottom right where it says Add Remote Devices and copy over the ID you got from your deck and paste it into the device ID field. Don't forget to name it something fun... like petunia or killgore! Or I guess just steam deck or something boring like that. Now it should have added a remote device below. Your steam deck will get an alert in a few minutes saying that someone is trying to connect to it. Accept the connection and name the device accordingly. If this message doesn't come up after a few minutes, try adding the device through the steam deck using the PC syncthing ID. Only difference if you are using the gtk app and not the web UI is that the Add Device button is under the hamburger button (3 stacked lines) in the top right of the window. The first time I connected I had zero issues, but the second time I had to manually have my switch recognize the PC version but it was working after that. Next step is to take the data we want to be sharing, so back to the PC. Create a shared folder by clicking the Add Folder button on the middle left side of the screen. Swap over to your file explorer and point it to your VintageStoryData folder. This will generally be in C:\Users\[YOUR USER]\AppData\Roaming which you can get to by typing %appdata% into the folder path and pressing enter. Once you find this folder, notice how it holds saves, maps, mods, everything that persists with your data in vintage story. This is the dream we have been looking for! So with that path, copy it and paste it into the Folder Path box. Name the shared folder in the label and switch over to the Ignore Patterns tab. This is where you get into the specifics of telling it what NOT to copy over. But its your lucky day! I spent a little bit of time looking at the files and folders and came up with this pattern - with comments no less! Half the programming community is already on their knees shaking and crying. Check the "Add Ignore Patterns" button and click save. Now your window will look like this (with a different folder name of course) So feel free to use this ignore pattern, its very clear and to the point. Copy it and paste it in the text box. Basically all it does is tell syncthing that we want to copy over any mod/mod information, player data, maps, saves, etc. Everything that doesn't get caught by that will hit the last line that will catch everything that isn't already specified. All that means is anything that isn't what we noted will be ignored since its system specific (like crash logs) while what we did specify will be open for being checked and synced up. Spoiler //Mod folders and data/settings for them !ModConfig !ModData !ModProfiles !Mods // note - mods like xLeveling also keep data in the save folder since its world specific //Data specific to the player (worlds, maps, etc) !Maps !Playerdata !Saves !Playerdata //Optionally if you want to remember which mods are enabled/disabled you could uncomment this line... but //please know that this can absolutely mess up your controls. If your PC version has custom key bindings set //its almost guaranteed that it will break something. Unfortunately key bindings are coupled with the disabled mods //list. Its much easier to just disable mods in game than it is to do this method //!clientsettings.json //lets not carry over any other files outside of what we specified, this will catch all the other folders/files * Now before we get too carried away, lets head back to the steam deck. SD-Establishing the connection Spoiler Now before we connect the two, we have one really exciting issue. Flatpaks are designed to be safe and portable for linux systems. Which has served us very well so far but it has a bit of a caveat. That safe part works by restricting file access. So where our vintage story flatpak has its own app data (where the VintageStoryData folder is) that is protected and out of view from the syncthing-gtk flatpak. As a result, the syncthing can't actually find the vintage story data folder - trust me I tried. So this is where my googling skills and zero knowledge of linux get put to the test. In order to give file permission there are a few things we need first. First we need a sudo password - in case you already set that up, you can skip this part. In case you are a fresh steam deck user like me, then we should probably set it up so we can remember it. Now, the steam deck comes with a user already programmed into it Steam Deck User with the password steamdeck already configured. Now you can go through the system to create your own user, but just know that the user (admin) shares the password with sudo (super user do commands, which gives you admin privileges). The easiest way to do this is to open up the command line on your steam deck. We can skip this phase, but if you just got your steam deck, it might be best to set this up in case you ever need to do any admin related stuff in the future. If you don't want to do this, skip this password part and just use "steamdeck" as the password later. We will be using "fish" since its honestly the first one I found. Konsole works too, we just need a command line interface. With that command line, type in passwd This will prompt us to change the password. If it asks for the existing password, use "steamdeck", and change it to something you will remember. NOTE: linux hates the left and right arrow keys, DONT USE THEM unless you know how they work. They are not like the windows command line that lets you move back and forward to fix a spelling mistake before you send it through. They seem to be used as escape characters rather than what seems straight forward... grumble grumble. Now with the password set up, we can get to the fun part. Lets give file permissions! On the command line type in sudo flatpak override me.kozec.syncthingtk --filesystem="/home/deck/.var/app/at.vintagestory.VintageStory/" Basically, tells flatpak that me.kozec... (syncthing gtk) should have filesystem access outside of its normal operations to the path that we installed vintage story at. It will ask for the admin password, enter what you just set or use "steamdeck" if you just skipped to this part. I hope that was enough fun in the command line, because that's all we have to do there (thank god). PC-Sharing the Folder and checking that it works Spoiler Optionally, if you want to test things and don't care if you lose vintage story save data/mods you have on your steam deck, this is a safe way to test it properly. You can just skip this if you already have a world you want to keep Spoiler First step here is actually to stay with the steam deck for a minute and head to the file path we just gave access to (aka your vintage story install folder). Inside of that folder, look for the Config folder. Inside we should see a VintageStoryData folder that looks identical to the one we had on PC. Now the real kicker, if you want to test that its working fully, delete all the contents of this folder. All of it is generated on game launch anyways, only thing you would lose is persistent information like existing worlds, installed mods, etc. I personally like this method because it means you can tell really quick if syncthing is working and it will basically make sure your version matches up to the PC data at first. Now we can go about sharing the folder to the steam deck. From the PC, click on the folder you created and click on the "edit" button that drops down. Switch to the sharing tab and you should see a check box to share it with your deck. Check it and watch your deck for a notification that the PC wants to share a folder with you. Accept it and in the menu that pops up, give it a name, and at the folder path, click "browse" and browse to "/home/deck/.var/app/at.vintagestory.VintageStory/config/VintageStoryData/". Click ok to set that folder as the sync file path. I highly recommend that you check the setting to monitor the filesystem for changes, it will greatly reduce the amount of work the deck will have to do passively and just check regularly if any file has had an updated create/edit timestamp rather than fully scanning everything every x seconds. If you cleared the folder, uncheck the "receive only" box and save. Otherwise, it might be worth leaving that checked for now. We can uncheck it shortly but please wait until we have put the ignore pattern on the deck version of the folder as well. On the deck we can right click the new folder that has appeared on the left side of the screen (in the app, or if using the web GUI its identical to the windows instructions), and open the edit ignore patterns. Copy and paste the ignore patterns I listed above by passing them between devices or by just visiting this site on your switch and copying them that way. Paste them in and save. If you had to leave the receive only box checked, now you can go back and uncheck it. We could have set up the ignore preferences from that original share screen, but since we did it this way, it means that while you were getting the pattern it was able to start downloading in the background. SD-And Voila! Kinda... Spoiler Once the folder and devices are synced (they will show as green in the app. Switch back to gaming mode and launch vintage story. you will notice all your mods and saves ported over! So lets give them a good test now. Create a world and interact with the world in some way. I dug a small hole underneath me so I would be able to tell that something has changed. Then save and exit. Switch back to desktop mode, start syncthing-gtk and notice that your PC version is now updating! So switch to PC once it is done, launch vintage story and find the save you just used. Open it and you should notice that the steam decks changes persisted! This is because after the deck saved and launched syncthing gtk, it told your PC that a new save is around, sent it over, and now both platforms have the most up to date. Make a small change on the PC save and save and exit. Load the deck version after its updated and notice that the changes are there too! So we now know it communicates both ways successfully. Now one thing to be careful with, if you read over the ignore pattern you will notice I said a lot about the clientsettings.json. Thats because it holds your keybindings (which we don't want ported over) but also the mod enabled list (which we do unfortunately). We can't really decouple these two, so any mods you have off you will have to manually turn off on the deck version. Not a huge issue, but something important to remember. SD-But you told me this would be seamless Spoiler And it is! Well... with a little more work, but this is the home stretch. Just hang in there and it will all be over soon. Remember how we downloaded decky earlier on? Well now its time to put it to use. Install decky and lets go back to the syncthing-gtk web UI one last time. Lets head to the advanced tab and open the GUI menu. Take a picture or take note of the Api key it gives. This is specific to your device and will be needed very shortly. With decky installed, turn on the CEF option we turned off before and restart the steam deck to bring it back into gaming mode. When you are loaded up, press the quick menu button (...) below the right hand track pad. You will notice a silly lil plug icon at the bottom, lets head over to this now. With that tab selected there is a little market stall icon at the top, click that and type into the search bar "syncthing". Install that plugin and go back to the quick menu. Now the decky menu should have a syncthing plugin, tap it to open it. Click on the wrench and type in your API key. Notice how the syncthing port matches the GUI we set it to before. Enter the user and password below as well so we can get access to the GUI. It is up to you if you want to have it always running on startup, it makes it much more seamless since you never have to interact with the plugin other than to troubleshoot. With all those settings configured, go back and press the power button. This launches syncthing in the background (so we don't have to do that manually). If you get any errors and you did it correctly, you can ignore them and press on the little website icon next to the power button. This will take you to the web GUI we looked at earlier! Neato! So with this, it will always be running on the steam deck and occasionally checking for updated files and being alerted to updates that the PC folder has. That took you a night of suffering? Spoiler Well... yeah... there is a fair bit that isn't explained or not explained well, so I hope this guide has been able to help you. Some important things to remember - they can only ever update/interact when both the deck and your other device are running them. Luckily they don't take a lot of power so it doesn't hurt to leave the PC running in the background and the deck running from that automatic startup setting. Otherwise just remember to launch them both before swapping platform. What happens if you don't? Well its actually a pretty nifty system that handles conflicts well. If it notices that two files have been changed, it will take the newest file and keep it, while taking the older conflict file and adding "syncconflict-[date]-[time]-[device]" to the end of its name. So if there ever is a conflict, you have both files to chose from to revert the save. But you promised me more! Where was that cool idea to get around needing both running? Spoiler Honestly, don't bother with this if you aren't a person who is comfortable with hosting things. I'm not and generally this overs my use case pretty well. But if you wanted to be able to have one system be able to update to the cloud, and then the other system pull it down without both ever needing to be online at the same time, there is a pretty easy way to do it. As long as you can host a dedicated platform that runs syncthing, you can use it as an intermediary. Basically your deck has a connection that it shares with the dedicated platform and the PC has a connection to the dedicated platform as well. So an updates switch version goes up to the dedicated platform, the platform can then contact the PC whenever it is available to send the information back down. It would need a little bit more work but could be nifty if your internet isn't always reliable between having the deck and the PC on at the same time. So long and thanks for all the fish I hope that was able to help you, if you have any issues feel free to reach out and ask. This can be pretty daunting for people especially those that aren't comfortable with computer mumbo jumbo. I hope you were able to get it working and enjoy the vintage story! Edited June 11, 2024 by Connor Black security 1
Onehit97 Posted July 13, 2024 Report Posted July 13, 2024 (edited) Has anybody ran into an issue with the mouse cursor not appearing? The game seems to run fine on my steam deck but I can't tell what I'm doing because I can't see my mouse cursor. I can still interact with the UI but I can't see where the cursor is. The virtual keyboard works fine so there's that at least. Also, I can only see the cursor when i use the touchpad on the steam deck Any ideas on how to fix this problem? Forgot to mention that the trackpads show the cursor while in desktop mode but not in gaming mode. Edited July 13, 2024 by Onehit97
conninator2000 Posted July 14, 2024 Report Posted July 14, 2024 On 7/13/2024 at 12:27 AM, Onehit97 said: Has anybody ran into an issue with the mouse cursor not appearing? The game seems to run fine on my steam deck but I can't tell what I'm doing because I can't see my mouse cursor. I can still interact with the UI but I can't see where the cursor is. The virtual keyboard works fine so there's that at least. Also, I can only see the cursor when i use the touchpad on the steam deck Any ideas on how to fix this problem? Forgot to mention that the trackpads show the cursor while in desktop mode but not in gaming mode. Take a peek at my comment up above (not my last one but the one before that) since i ran into the same issue. Tldr: i think its following the step to add a launch param to the game on the deck. Its in the guide as an optional thing and if i remember correctly it disables the graphics threading or something like that
Recommended Posts