How to NTFS3 and Steam

BE AWARE, THIS IS A NEW DRIVER AND THERE MAY BE SOME POTENTIAL FOR CORRUPTION. There isnt any ive heard of yet but you have been warned

This is a guide based on the Valve version of how to share an NTFS drive for Steam. This uses the new NTFS3 driver instead of the slower NTFS-3G but if you want to use the old one follow here

First you need to make a mount point for your games disk/drive. This can be w.e you want the mount point to be but this example is just one option.

sudo mkdir /media/gamedisk


Find your UID and GIU, both are 1000 on default

UID

id -u

GID

id -g


Find what the disk is labeled as (I.E /dev/sda2) and its UUID

Partition label

sudo fdisk -l

UUID (I.E output /dev/sda2: UUID=“38CE9483CE943AD8” TYPE=“ntfs” )

sudo blkid


Edit your Fstab to mount the partition

sudo nano /etc/fstab

at the bottom add the following, change it to match your uuid,etc. based on previous info as this is just an example (needs to be all one line not 2 separate like this one formats to for some reason. (changing UUID, uid, and gid where needed)

UUID=38CE9483CE943AD8 /media/gamesdisk ntfs3 rw,uid=1000,gid=1000,noatime,prealloc 0 0

prealloc isnt needed afaik on SSDs its mostly for hard drives to reduce fragmentation so if its an SSD you can omit prealloc but it shouldnt hurt anything. it is required that the type be “ntfs3” for it to use the new driver not just ntfs.

Now reboot your system to mount the drive.


Preventing drive corruption

as per warning from Valve

THERE HAS BEEN A REPORT THAT THIS MAY CAUSE DATA LOSS

This step IS NOT OPTIONAL

Proton creates files with characters that Windows cant read and causes windows to think the drive is corrupted when it isnt.

Create a symlink from the /compatdata folder on Linux to the mounted NTFS disk.

mkdir -p ~/.steam/steam/steamapps/compatdata (skip this is campatdata already exists)

ln -s ~/.steam/steam/steamapps/compatdata /media/gamedisk/Steam/steamapps/

If the /compatdata folder already exists on the mounted disk BEFORE the symlink, DELETE IT!


Now you may notice if you attempt to browse the symlink in Nautilus for example the link appears to not work. but if you navigate to it in terminal

I.E
cd /media/gamedisk/Steam/steamapps/compatdata

Then the symlink works fine. and all the data thats in your compatadata folder in the home directory will be listed when you run

ls

The umask=000 is removed and options that ntfs-3g uses but not ntfs3 are also. umask=000 seems to break symlinks as when i tested it on a friends system it didnt work, I could just be stupid but it doesnt appear to be needed any longer.

Using this new drive has been shown so far in my testing with a friends system to fix game breakage when using NTFS drives

current games tested now working over NTFS that didnt before

No Mans Sky
Dying Light

I don’t use NTFS with Steam, but I did run into the exact data corruption you’ve outlined here. In my dual-boot, I use unison to sync some files between my Linux and Windows 10 systems. This has worked flawlessly for over 2 years…until today. After running my usual sync before rebooting to play Diablo 2, my entire Saved Games directory was corrupted; had to run a chkdsk from within Windows to get my files back.

It’s really too bad - with the new driver, my unison scans are 3-4 times faster; this is very noticeable when it’s checking a couple of large Sdks.

It likely wasnt “corrupted” but linux wrote a file name that windows doesnt understand. If it was actually corrupted im not sure a chkdsk could actually fix it but im just guessing. It needs more testing but so far my friend sharing an ntfs drive with windows hasnt encountered this and Im not going to make them test.

I know ntfs-3g does some different things compared to the ntfs3 driver besides fuse and that its still needed for the tools to work with ntfs drives because theyre bundled with it. When straight swapping from ntfs-3g to ntfs3 for instance it breaks symlinks as ntfs-3g makes its own kind of symlinks that dont work with ntfs3 did you have any symlinks maybe?

No symlinks. The files/directories in question were all written exclusively in Windows (Diablo II saved games); I only synced them to Linux so I could back them up (NTFS → BTRFS).

I did find that my shared VMs partition didn’t encounter any issues; again, no symlinks, but almost all the files were created in Linux.

hmmm…i wonder if windows may have been writing something the ntfs3 driver doesnt handle yet?

Thats a curious case indeed

@ajgringo619 try submitting a bug report for it, see if someone may know what might have caused that.

Will do, thanks.