33
submitted 2 days ago* (last edited 2 days ago) by SaltyIceteaMaker@lemmy.ml to c/linux@lemmy.ml

So, I discovered weird behavior when trying to play games on an NTFS file system in Linux.

When i auto mount the drive through a fstab entry, it is only able to launch Linux native games (I think I read somewhere that this is a permission issue).

However, if I mount it through steams "select a drive" option, it works without a problem (so far at least).

I assume this is again a permission issue, as when I mount the drive through steam, I get a Polkit password prompt.

Anyone got a clue what's going on, and/or maybe a way to make the auto mount work, so I don't have to manually mount it after every boot?

Distro:

Arch

Kernel (according to neofetch):

6.11.1-zen1-1-zen

NTFS driver:

ntfs-3g

Proton version:

GE-Proton9-10

tested games:

  • Terraria (Tmodloader)
  • Project Wingman
  • Hades II

fstab entry:

#/dev/nvme1n1p1

UUID=E01A2CEC1A2CC180 /mnt/games ntfs nofail 0 3

full system update a few hours ago

date for future visitors (dd.mm.yyyy):

01.10.2024 at 14:44 (02:44 pm)

edit: formatting and adding proton version

you are viewing a single comment's thread
view the rest of the comments
[-] rtxn@lemmy.world 2 points 1 day ago* (last edited 1 day ago)

NTFS doesn’t support symlinks

It does. You can create them on Windows using the mklink command. It creates a file link if no switch is passed, directory link with /D, directory junction (different thing) with /J, and hardlink with /H. The ntfs-3g driver has complete support for links.

Some Windows programs, like the Scoop package manager, make extensive use of symlinks and directory junctions.

[-] muhyb@programming.dev 1 points 1 day ago

Huh, interesting. Didn't know about mklink. So with this, can Steam games be used from NTFS directory?

[-] rtxn@lemmy.world 2 points 1 day ago* (last edited 1 day ago)

Not really, because some files in the wineprefix will have invalid names.

When an NTFS volume is mounted, it implicitly uses the windows_names option, which restricts the character set that can be used in filenames, in order to preserve compatibility with Windows. The specific character in question is the colon -- it is permitted by NTFS, but it's a reserved character in Windows, which means it is also restricted by the windows_names mount option. This prevents Wine from creating its c: and z: symlinks, which are required for Wine to operate.

You could try some symlink fuckery, like linking .../steamapps/common to the NTFS drive, since all of the problematic files are located outside of that, in .../steamapps/compatdata. Or you could mount the NTFS volume directly to the common directory. If you do, I'd love to hear the results.

Relevant issue: https://github.com/storaged-project/udisks/issues/713

[-] muhyb@programming.dev 1 points 1 day ago

That makes sense. Thanks for the detailed reply.

Though you could ask this to OP, they might try it. Personally I don't use NTFS even on my external HDDs.

this post was submitted on 01 Oct 2024
33 points (94.6% liked)

Linux

47544 readers
645 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS