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.

Developer Alex Xu sent out a set of patches today that would implement Reflink support within Wine. Alex explained, “ With a MinGW build of Wine without Mono or Gecko, new 32-bit prefixes are over 150 MB, and new 64-bit prefixes are over 300 MB. The vast majority of these files are byte-for-byte identical to Wine’s central DLL copies…When reflink is supported by the underlying filesystem, new Wine prefix sizes with Mono and Gecko disabled are reduced to less than 1 MB. The resulting Wine prefix is byte-for-byte identical to one created without reflink, but occupies less space on disk.

Reflinks are currently supported by Btrfs, XFS, and others but notably not supporting it is EXT4. Reflinks are used rather than hard/symbolic links since cases like Winetricks modifying a given Wine prefix would in turn modify the original copy used by the other prefixes while reflinks will still allow for independence between the prefixes.

So with these proposed 4 patches providing the Reflink support, Wine prefix size could drop from 150~300+ MB per prefix down to 1MB or less, assuming you are on a supported file-system, which will quickly add up if installing/managing many Windows games or applications on your system.