Steam directory in linux
Like the Title says, I need help setting up steam to run the same Games (that are compatible of course) between Linux and Windows. I’m running Windows 8.1 (where the steam games were installed and i’m running Ubuntu Gnome 14.04LTS. I’ve gotten Write & Read Partitions and everything working, the only thing that i haven’t figured out yet was how to get both the Linux and Windows Executeables to be in the Steam Directory. This is the error that gets thrown up when i try to launch any of my steam games. Also, the «Games» Drive you see mounted on the desktop is the drive i already have steam setup to read
Hi there, spongeyperson!
The main problem for your task will be that both operation systems are using different executable files. They are not compatible. You can run them inside of an emulator or a virtual machine — but never directly. This will be the reason why a simple sharing that way just won’t work. (There may be exceptions — idk — maybe with Flash/Java games… or when games _always_ deliver the executables for all operating systems — but that’s hypothetical.
Second: sadly, although this emulator workaround exists (namely ‘Wine’ on Linux) You can not have all games of different operating systems in only one Steam client as normal Steam games!
The most you can do is creating ‘external links’ which works in a few cases — mostly it doesn’t.
Valve, instead of relying on Wine introduced this streaming solution (in home streaming, right?).
But if you want to _start_ Windows games on Linux you need to use two different Steam clients (one for Linux native — one for Linux-Wine for the Windows-games.)
That’s it in short I think… I hope you find your way to work your best solution out of this!
Good luck!
You can actually get the same library to be shared across Windows and Linux games, the downside part being that depending on the site you store the games (for simplicity reasons, the Windows partition is the likely one) you may end up with a bit of a performance hit when the games load, due to increased CPU utilization due to NTFS and NTFS-3g being a userspace filesystem driver in Linux (which works beautifully, but does eat up some CPU cycles), so depending on the game you may notice increased loading times, and such.
Generally speaking, though, you’re best off with games which actually may share some data across OSes (say same game assets, with different binaries and executables).
So for instance Source based games you can actually have both vesions installed, but the Windows version will use the hl2.exe excutables, and the Linux version would use the hl2-linux executable. The way to do it.
Make sure you have your Windows drive mounted at boot-up. Depending on your distribution, this usually is the case, however, you can make sure about this by inspecting the file /etc/fstab with any text editor (like gedit), bear in mind, though, that if you do require to make changes to the file you will need to open it as root or with administration privileges, like so:
What you should see in the file are basic references to your computer’s filesystems, partitions and this does heavily depend on your distribution, for instance, on mine (I’m running Fedora 20 with a custom partition layout mine looks like so:
I have my basic partitions set (/, /boot, /home, and two others for storage purposes, think of the mountpoints as their lables, and they actually match).Notice that those partitions created at system installation time, have a UUID, you can identify partitions and drives this way with the aid of the UUID userpace utilities or you can address them in their device-node notation (/dev/sd*), as I did with my SWAP partition, which I had to manually add, since for some odd reason Anaconda (Fedora’s installer) wouldn’t add it; you can also address a particular partition (provided there is no repetition in the other partitions) by label, so something like:
Would also be acceptable for Windows NTFS partition whose label is WinDrv and the mountpoint (directory under /) is /windrv. Suppose you’d rather use the UUID approac, then you’d simply generate the UUID with the command-line utility uuidgen , supposing, since Windows mandates to be installed on the first drive of the computer for it to properly boot, that your Windows partition is /dev/sda2 (because you have a hidden recovery partition); in that case this would be:
The fourth, fifth and sixth columns of the file instruct the system what to do with the partition once identified and where it should be mounted, for example, what options, if any should the drive be given, like umask, group, etc. You can check all those options in a Windows NTFS mounted drive, assuming you already have one with the ‘mount’ command, note the pipe to ‘grep’ to filter the output, like so:
Here you can see what are the default parameters established for my ext4 filesystems, and interestingly enough which perms are given to the NTFS drive. Usually since I have more than one user on my computer what I’d do is to copy those options and use them in fstab, with pertinent changes to group_id, as I make all users who have actually access to the drive part of a group, for which I create one and then add users to, for example in the uers and groups tool, I create the group win, so that all users part of this group are able to read-write to the drive, and all others are only allowed to read from it, but not make any modification to the filesystem, you can play around with these options if you like. The mountpoint in the example above is due to the fact that I mounted the drive while I was inside my session and double-clicked it in the Nautilus devices section of the lateral pane, hence the /run/media/$USER/ format.
So I’ll assume you have Steam already installed and have run it at least once, so that all the pertinent configuration and «local» installation has been performed, and you can start tinkering around.
Steam creates a series of directories under your home directory for its configuration and games, namely .steam and .local/share/Steam, note the dot preceding those? This makes those directories «hidden» directories, they will not come up in Nautilus or the shell, unless you explicitly state so (ctrl+h in Nautilus or ‘ls -a’ in the command-line). For simple warming fuzzy feeling inside sake, I’ll go with the command-line route, which is pretty generic for any Linux system:
- Make sure these directories exist:
/.local/share/Steam, Fedora has an alias for the form ‘ls -l’ as ‘ll’, which I’m not sure is present in other distros:
/.steam/SteamApps directory, the idea behind having a unified library is that you will have all your games under ONE directory (SteamApps in your Windows drive installation) and LINK that directory to your Linux installation in such a way that both systems will have access to the same pool of games. A note of warning: Windows has no CaSe SeNSiTIviTY at all, and since Linux does, things could go south if Windows does make changes to files whose names may change to which the Linux version does not compensate for. You can save up to a file the output of the last command (so you can copy the links later in an easier way) with a trailing > to redirect the output:
Now procede to create the link:
If all goes OK, you may not require to re-do the links in
/.local/share/Steam/SteamApps, and you can finally remove the renamed SteamApps_bak directory (if within Nautilus, use shift+del to bypass the trash, or rm -rf SteamApps_bak from a command-line).I have this approach working with a third location for Windows Steam games played under Wine, with a «central games repository» in one of my storage drives, and links to the SteamApps under both the Windows installation under the .wine prefix and the .steam directory for the native client. I do not have native games installed under the wine installation, though, so I can’t attest to the certainty principle that all files will retain integrity were it on a «true» Windows environment separated by a reboot.
Источник
Steam directory in linux
Steam for Linux
I’m currently writing a small cross-platform app which needs to find Steam’s ‘steamapps’ directory. At the moment I’m assuming it’s ‘$HOME/.steam/steam/steamapps’ for everyone, but I got a feeling that this could differ between distros and legacy installs.
Any info would be appreciated.
/.steam/ contains symlinks to some steam directories (running Ubuntu 14.04, but earlier home directory from 12.04 where steam was installed Jan 2013 for my other steam account):
$ ls -l .steam
total 32
lrwxrwxrwx 1 efflandt efflandt 27 Aug 16 16:46 bin -> /home/efflandt/.steam/bin32
lrwxrwxrwx 1 efflandt efflandt 45 Aug 16 16:45 bin32 -> /home/efflandt/.local/share/Steam/ubuntu12_32
lrwxrwxrwx 1 efflandt efflandt 45 Aug 16 16:45 bin64 -> /home/efflandt/.local/share/Steam/ubuntu12_64
-rw-rw-r— 1 efflandt efflandt 6911 Aug 16 16:47 registry.vdf
-rw-rw-r— 1 efflandt efflandt 6638 Oct 20 2015 registry.vdf.bak
lrwxrwxrwx 1 efflandt efflandt 33 Aug 16 16:45 root -> /home/efflandt/.local/share/Steam
lrwxrwxrwx 1 efflandt efflandt 41 Aug 16 16:45 sdk32 -> /home/efflandt/.local/share/Steam/linux32
lrwxrwxrwx 1 efflandt efflandt 41 Aug 16 16:45 sdk64 -> /home/efflandt/.local/share/Steam/linux64
lrwxrwxrwx 1 efflandt efflandt 33 Aug 16 16:45 steam -> /home/efflandt/.local/share/Steam
-rwxrwxr-x 1 efflandt efflandt 8860 Dec 30 2014 steam_install_agreement.txt
-rw-rw-r— 1 efflandt efflandt 5 Aug 16 16:45 steam.pid
prw——- 1 efflandt efflandt 0 Aug 16 16:46 steam.pipe
/.steam/ contains symlinks to some steam directories
that’s exactly what I was looking for, thank you. I was expecting a legacy version located in the .local/share folder, now that’s confirmed 🙂
Find might work too. What language are you coding in?
-type d -iname «*steamapps*» -print
this could work as well, but I’d prefer looking through an array of predefined locations.
Источник
Steam directory in linux
Steam for Linux
I want to copy my TF2 files to Steam in ubuntu but linux file folder naming is a complete mess. Where is this located? And please be thorough. I know almost nothing about Unix systems.
(Example: if you say «you need to enable folder function 1» please tell me where)
Open your Home Folder. Press Ctrl+H to show hidden files (so called dotfiles because they start with a .) Go to .local/share/steam
EDIT: Or take Wouters advice. My Steam Install is pretty old they changed the location during the beta. It’s one of the two.
as they said before me
after you copy the TF2 cgf files make them start with Uppercase
example:
source 2007 shared materials.gcf
to
Source 2007 Shared Materials.gcf
Yes the location is /home/username/.steam/steam/
As Tipo says correctly make sure to edit the name. Everything is case sensetiv in UNIX like systems.
Open your Home Folder. Press Ctrl+H to show hidden files (so called dotfiles because they start with a .) Go to .local/share/steam
EDIT: Or take Wouters advice. My Steam Install is pretty old they changed the location during the beta. It’s one of the two.
Источник
Where are Steam games installed?
I want to buy a new notebook in the near future to play games on it. I’m looking forward for the new Steam for Linux client. My question is that where does the Steam install the games, on the home partition, or in the usr folder, or somewhere else? I do not use pre-release (i.e. beta) versions of either Steam or Ubuntu.
10 Answers 10
In newer versions of Steam, games seem to be located at:
Don’t know when this changed, but Steam is no longer in
/.steam/steam is just a symbolic link to
/.local/share/Steam (which is the real folder).
/.steam/steam is a real folder, and
/.local/share/Steam doesn’t exist. As obvious from other answers, YMMV.
/.steam path as a symlink, or not seeing the
/.local at all is that when Valve were transitioning they linked it for a little while. They also at the very tail end in a SteamBeta (that I can no longer find) did a symlink of .local/share/Steam to .steam on new installs. Going forward since then though, only
/.steam/ has existed. So for those writing tools/scripts beware that it may be in either and to check both.
The default install location appears to be
/.local/share/Steam . This is where Valve games are installed by default, which can’t be changed using the Steam Libraries system.
The setup of this directory mirrors how Windows Steam is laid out, with the SteamApps folder containing both the .gcf files shared across Steam accounts and the individual steam account directories.
/ brings you to /home/ of the current user — so you don’t need to explain to people to replace «username» with their username and without the <> ect. please don’t edit things to be harder for people.
It install in this path:
Where $
/Steam is only for log files Downloaded data (client updates, etc) seam to go to
If you don’t want to pollute your $HOME, you can create a folder somewhere on a partition, give it your own user accounts’s ownership and access rights and create some symlinks.
I personally did before launching the Steam Client second time:
After installing and updating the client, all game and Steam client data ended up under /opt/SteamFiles and installing games directly pointed me to my created file system.
This can easily shared between multiple Linux installations on the same PC.
As other users have already said, Steam is installed under
/.local/share/Steam (where the
/ means /home/ ). The games themselves are installed in
Источник