Announcement

Collapse
No announcement yet.

Proposed Reflink Support Would Provide Big Space Savings For Wine

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Proposed Reflink Support Would Provide Big Space Savings For Wine

    Phoronix: Proposed Reflink Support Would Provide Big Space Savings For Wine

    When sticking to Wine recommendations of maintaining separate prefixes per-application, a lot of system files get duplicated for each game/application and in turn leading to significant bloat. With the current state of Wine it can mean hundreds of megabytes per prefix in duplicated files. But proposed reflink patches for Wine are aiming to cut down on this severe bloat...

    https://www.phoronix.com/scan.php?pa...r-Wine-Patches

  • #2
    This is very interesting for Steam/Proton, with each game having its own prefix.

    Comment


    • #3
      I wonder why symlinking is a problem. When you do copy a file on top of a symlink with the same name, symlink will be just replaced by that file without touching the original, right? So even Winetricks should not have impact on original files (especially when Wine is installed system wide from package manager in folders without write permissions).

      Comment


      • #4
        Seems like this should be an important consideration for the steamdeck.. I wonder what filesystem it will use BTRFS I guess.

        Comment


        • #5
          Originally posted by V1tol View Post
          I wonder why symlinking is a problem. When you do copy a file on top of a symlink with the same name, symlink will be just replaced by that file without touching the original, right? So even Winetricks should not have impact on original files (especially when Wine is installed system wide from package manager in folders without write permissions).
          They say the problem with using symlinks is if a program tries to write to an existing file, it will try to modify the original file which the symlink points to.

          Comment


          • #6
            One notable thing not mentioned: apparently ZFS doesn't support reflinks (at least, not in the same way)

            If you have ZFS block deduplication turned on then you might actually get better savings (working block-by-block instead of file-by-file), depending on how the reflinks implementation you're comparing to works (whether it copies the whole file or works incrementally; dunno, first time I've encountered it).

            You might also not need the deduplication turned on at all, depending on whether ZFS copies the whole file or just altered blocks when a copied file is written to.

            Comment


            • #7
              I'm considering using a BTRFS partition to share my data and game library between Linux and Windows.
              Does anyone know how stable and secure WinBtrfs is? Risks of data loss?

              Comment


              • #8
                Originally posted by landeel View Post
                This is very interesting for Steam/Proton, with each game having its own prefix.
                Well, yes and no.

                Of course these space savings are nice, especially if the space was unnecessarily occupied.
                However, most games bring GBs to the disk, in some cases even tens or hundreds of GBs, so saving 300MB won't be a big deal.
                Oh and HDDs and even SDDs are pretty cheap these days, too.
                In some corner cases it might really help, though.

                Comment


                • #9
                  Originally posted by Developer12 View Post
                  One notable thing not mentioned: apparently ZFS doesn't support reflinks (at least, not in the same way)
                  Right, it doesn't.

                  Originally posted by Developer12 View Post
                  If you have ZFS block deduplication turned on then you might actually get better savings (working block-by-block instead of file-by-file), depending on how the reflinks implementation you're comparing to works (whether it copies the whole file or works incrementally; dunno, first time I've encountered it).
                  FWIW, the patchset uses copy_file_range, where you pass a data range to copy, and if the filesystem supports reflinks, it will try to share the blocks. So you can kinda say it works block-by-block too, although I'm not sure if that has any benefit in the context of the wine patches discussed.


                  Originally posted by Developer12 View Post
                  If you have ZFS block deduplication turned on then you might actually get better savings
                  AFAIK the in-band deduplication requires lots of resources — lots of memory at least, though I assume it might be CPU-heavy too. It is definitely not something a usual user would make use of. For usual users there is less heavier out-of-band deduplication, which is basically when you run an utility over a some directories (e.g. I use duperemove), and it searches similar blocks and tries to share them. However, last time I looked that wasn't supported by ZFS.
                  Last edited by Hi-Angel; 25 July 2021, 01:36 PM.

                  Comment


                  • #10
                    Originally posted by Berniyh View Post
                    Well, yes and no.

                    Of course these space savings are nice, especially if the space was unnecessarily occupied.
                    However, most games bring GBs to the disk, in some cases even tens or hundreds of GBs, so saving 300MB won't be a big deal.
                    Oh and HDDs and even SDDs are pretty cheap these days, too.
                    In some corner cases it might really help, though.
                    Many games need additional dlls. Most of my Proton prefixes have 500+ MB.
                    Also, there are very small games (1-100MB). The prefix shouldn't take more space than the game itself.
                    So, 10 games installed = 3-5 GB of bloat.
                    It does make a huge difference for people who buy the 64 GB model of Steam Deck.

                    Comment

                    Working...
                    X