aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2020-01-26-steam-on-ntfs.org
blob: 6dffb3d4e96515030c470a20c588997b00cc92d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#+title: Linux Gaming Tweak: Steam on NTFS Drives
#+date: 2020-01-26
#+description: Learn how to fix Steam NTFS issues on Linux.
#+filetags: :gaming:linux:

* Auto-Mount Steam Drives
#+caption: Steam Screenshot
[[https://img.cleberg.net/blog/20200125-the-best-linux-software/steam.png]]

If you want to see how to install Steam on Linux, see my other post: [[../linux-software/][Linux
Software]].

Are you having trouble launching games, even though they've installed correctly?
This may happen if you're storing your games on an NTFS-formatted drive. This
shouldn't be an issue if you're storing your games on the same drive that Steam
is on, but some gamers prefer to put Steam on their main drive and game files on
another SSD or HDD.

To fix this problem, you'll need to try a few things. First, you'll need to
install the =ntfs-3g= package, which is meant for better interoperability with
Linux.

#+begin_src sh
sudo apt install ntfs-3g
#+end_src

Next, you should set up the =/etc/fstab= file to automatically mount your drives
on boot. To automatically mount your drives when the computer boots up, you'll
have to create the folders you want to mount your drive to first. I store mine
in the =/mnt= folder using names that I'll recognize, but you can create your
folders wherever you want.

#+begin_src sh
mkdir /path/to/folder
#+end_src

For example:

#+begin_src sh
mkdir /mnt/steam_library
#+end_src

To automatically mount drives upon system boot, you will need to collect a few
items. The UUID is the identification number connected to whichever drive you're
using to store Steam games.

Drives are usually labeled similar to =/dev/nvme0n1p1= or =/dev/sda1=, so you'll
need to find the line in the output of the command below that correlates to your
drive and copy the UUID over to the =/etc/fstab= file.

#+begin_src sh
sudo blkid | grep UUID=
#+end_src

Next, you'll need your =uid= and =gid=. To find these, run the following
command:

#+begin_src sh
id -u && id -g
#+end_src

Now that you have collected the necessary information, open the =/etc/fstab=
file:

#+begin_src sh
sudo nano /etc/fstab
#+end_src

Each drive you want to mount on boot should have its own line in the
=/etc/fstab= file that looks similar to this:

#+begin_src config
UUID=B64E53824E5339F7 /mnt/steam_library ntfs-3g uid=1000,gid=1000 0 0
#+end_src

Now all you need to do is unmount your drive and re-mount it. You can unmount
the drive by doing this (be sure to use the correct drive name here):

#+begin_src sh
sudo umount /dev/sdxX
#+end_src

You can re-mount all your drives by executing the following:

#+begin_src sh
sudo mount -a
#+end_src

If you don't know what your drive name is, or you're nervous about unmounting
and re-mounting, simply reboot your computer, and it will be done for you
automatically.