bottlesdevs / Bottles

Run Windows software and games on Linux
https://usebottles.com
GNU General Public License v3.0
6.34k stars 266 forks source link

Reduce size of Bottles by using symbolic links #2821

Open ElbertCode opened 1 year ago

ElbertCode commented 1 year ago

Currently, each bottle consumes a lot of disk space even without programms installed; with the latest soda, it's almost half a gigabyte on my system, which definitely adds up if you install a lot of programmes. I'm no expert on this, but couldn't you use symbolic links between the bottles for recurring files, for example the Windows system files? That way you would only need the redundant files once per runner and then only have to replace the symbolic link with the corresponding changed "real" file when one of these files changes in a bottle. I remember reading that Steam does this automatically with the Proton prefixes, but I don't know if that's true.

SuperSamus commented 1 year ago

Steam doesn't use symlinks, it uses filesystem deduplication, supported by Copy On Write filesystems (BTRFS, ZFS, etc.).