ValveSoftware / ValveSoftware/Proton

Wiki NTFS edit: alternative to compatdata symlink

Open Beginner friendly
#7,034 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
32.8k
Forks
1.6k
PR merge metrics
PR metrics pending

Description

This edit concerns the "Preventing NTFS Read Errors" section, which is actually very terribly named because it's a write error! Replace it with the following:


## Preventing compatdata creation error

Windows applies [restrictions to file names](https://docs.microsoft.com/windows/win32/fileio/naming-a-file#naming-conventions) that is not present on NTFS proper. `udisks` 2.8.2 has decided to enabled the `windows_names` option to prevent the creation of Windows-incompatible names.  This causes an issue with `:` (colon) character in filenames that Proton creates on the NTFS disk.

If you check Steam's console output, you're likely to see `OSError: [Errno 22] Invalid argument: '../drive_c'`. There are two ways to fix this (ONLY use one at the same time):

* Turn off `windows_names`.
* Use a symlink to redirect `/compatdata` elsewhere.

### Turning off `windows_names`

Simply follow the instructions in [Create a Mount Point][#Create a Mount Point] above to make a permanent fstab entry for your game drive. The recommended fstab line in the above tutorial does not have `windows_names`, so it will work.

If you do not wish to create your own `fstab` entry, you can disable the new udisks behavior by writing the following to `/etc/udisks2/mount_options.conf`:

```ini
[defaults]
ntfs:ntfs_defaults=uid=$UID,gid=$GID
```

Fstab is the better option because it is more selective and can co-exist with other options, such as case insensitivity (see section below).

Doing any one of the above will allow windows-incompatible file names to be created. Windows will not have any trouble with the files until it accesses it, which results in a clean failure in recent Windows versions. Windows `chkdsk` will, however, move badly-named files into hidden folders named `\found.nnn`. Proton can recreate the symlinks just fine, but you may want to go through the `found` folders once in a while and clean them out.

### Symlinking
**THERE HAS BEEN A REPORT THAT THIS MAY CAUSE DATA LOSS**

Create the `compatdata` folder on the mounted NTFS disk as a symlink that points to a folder on a Linux partition.

Creating the symlink:
```
$ mkdir -p ~/.steam/steam/steamapps/compatdata
$ 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!*

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Search the repository wiki for the “Preventing NTFS Read Errors” section and compare it with the replacement text in this issue. Update that section with the supplied heading, explanations, commands, warnings, and links, then review the rendered page to confirm the Markdown formatting and instructions are intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
documentation, operating-systems
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
70/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.