Current state of NTFS compatibility? - eviltoast

Hi all. I’ve used Linux off and on for almost two decades now but most recently in a VM. I’m thinking I might make the permanent switch sometime before Windows 10 EOL. My concern is that I have over 12TB of data spanned across many drives, all in the NTFS file system. How is NTFS compatibility nowadays? For a time, I remember it being recommended to mount NTFS as read only. It seems infeasible to convert my current data to a Linux filesystem. Thoughts?

Edit: I don’t have time to reply to everyone but thanks for the information and discussion. I’m looking to rearrange some things on my drives to free up one drive entirely and then perhaps give Fedora Linux another spin on a secondary drive along with Windows on another. If all goes well, maybe Windows will get the boot or um never booted again.

  • teawrecks@sopuli.xyz
    link
    fedilink
    arrow-up
    3
    ·
    9 months ago

    Windows ext4 compatibility is awful. I have my steam library on an ext4 partition, and occasionally boot to windows for specific games that don’t work in linux. I tried mounting my ext4 partition using WSL (which worked fine), adding the steam lib folder to steam (worked fine), but all the games wanted to be verified before being run, and then i finally started one and got a BSOD. I thought maybe steam might complain that some files were wrong, but I didn’t expect that lol. But at least steam tried, Epic launcher just flat out refused.

    I haven’t tried btrfs in windows, I see WinBtrfs exists, I wonder how well it works.

    • bjorney@lemmy.ca
      link
      fedilink
      arrow-up
      3
      ·
      9 months ago

      Windows doesn’t have ext4 compatibility. When you mount a Linux partition through WSL you aren’t actually mounting the drive itself, you are booting a VM up and piping all I/O through that VM back to an emulated disk device on the host windows OS

      You would be better off having your steam library on an NTFS partition - at least your Linux OS can read the drive natively

        • desconectado@lemm.ee
          link
          fedilink
          arrow-up
          1
          arrow-down
          2
          ·
          9 months ago

          It doesn’t have issues. It just doesn’t work. You need your library on ext3/4 for the games to run on linux.

          • bjorney@lemmy.ca
            link
            fedilink
            arrow-up
            2
            ·
            9 months ago

            For what it’s worth I’ve never had an issue launching a game from a library on my NTFS partition

    • jrgd@lemm.ee
      link
      fedilink
      arrow-up
      1
      ·
      9 months ago

      In general, Microsoft doesn’t support many filesystem formats at all. In the same way you shouldn’t attempt to cross-run a steam library from Windows on Linux, you really shouldn’t do from Linux to Windows. It’s in part due to how permissions, execution flags, filesystem case sensitivity, file metadata, is interpreted by Windows applications vs. Unix-like applications. There will be issues going either way when using foreign filesystems in complex tasks.

      While it should be expected that the files will have the same contents where they are actually the same (i.e. a Proton game will be the same as a Windows game as it comes from the same steam depot), there is a good chance that translation of interpretation isn’t to be 1:1 on either side. Furthermore with using Steam libraries, Steam includes additional data beyond just the game files, which is likely why they are invalidated. A significant portion of visible cross-os portability issues is due to many applications like Steam using OS-specific file structures. More than likely Steam is going to intentionally make the library metadata not fully compatible between Linux and Windows Steam and force validation before launch because there is a good chance the games aren’t even compatible builds or otherwise have additional compatibility content dragged along (such as Proton WINE prefixes that are to be completely ignored when launching from actual Windows or having additional libraries, modded executable binaries that have platform-oriented patches).

      If you seriously want to run a cross-share of a Steam Library between Linux and Windows, you should really utilize Steam Cloud save. If you want to “deduplicate” your games, your best bet would be if you can open the foreign fs and have a compatible copy of the game, to simply clone the game files to the current filesystem and remove from remote rather than attempt to force a multi-os single-partition shared library. You are less likely to destroy your Steam library if you treat the actual libraries separate, but move the games like they were downloaded externally. Barring being able to do that, just don’t cross-share games. Simply reboot into the OS that has the game you want to play instead.

      • teawrecks@sopuli.xyz
        link
        fedilink
        arrow-up
        1
        ·
        9 months ago

        I accept that the powers-that-be don’t want me to do it, I understand that the foolproof user experience is to just play a game made for windows on windows, but if that’s how we lived, none of us would be gaming on linux in the first place.

        Outside of the download/update of a game, the files should be read only. As long as the files have the right data in them for a given OS, and the OS has proper support to read the files, then I should be able to load them and execute them. Any little permissions or metadata quirk that prevents that from happening is a bug as far as I’m concerned.

    • cygon@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      9 months ago

      I’m in the same boat. I’ve ended up using Paragon’s commercial ext4 drivers ($20) and while they absolutely work, they’re case sensitive and many Windows apps (especially Bethesda games) open their files with random upper/lowercase spellings that don’t match the files.