Hopefully this is my final edit before getting a full solution but I just want to say that if you are going to either resort to belittling me for not using better/newer hardware or you make it obvious that you haven’t fully read the post before commenting, I’m not going to respond to your comment.

In Windows, there’s a file/folder option called “Compress contents to save disk space”. What it does is it compresses the files, as the name suggests, but leaves them accessible as though they aren’t. This doesn’t really have much of a benefit on newer storage devices but on older storage devices, in addition to saving space, it allows files to potentially read faster.

As I have some old storage devices that I want to run games from, I think this will be a great option to have if I could find something similar for Linux. I tried looking online myself but search engines are terrible and I couldn’t find anything though them. So, I decided to post about this here, to see if anyone knows of anything I could try.

Edit: I have figured out how to use BTRFS and enable what it calls “transparent file compression”. Games are running decently well and I’m able to run games that are much larger than the devices original capacity (it seems to be around 2 to 2.5 times the original free space, on average), so I’m going to use that on most of my old storage devices at least for the time being. The only problem I’m having is that I want to use F2FS on my oldest storage device, as BTRFS takes up too much space on that device.

When formatted to BTRFS, there’s only about 40MB of free space and with compression it can hold around 100MB worth of files. Meanwhile, there’s about 80MB of free space with F2FS and I was told by multiple users that F2FS also supports transparent file compression, which should get me around 200MB worth of files on that device because it’s documented to support the same compression methods as BTRFS. But I can’t get files to compress and I’m not getting any error messages to try and diagnose the problem. Based on what the documentation says, I’m supposed to do something like this:

sudo mkfs.f2fs -f -O extra_attr,inode_checksum,sb_checksum,compression /dev/mmcblk0p1
sudo mount -o compress_algorithm=zstd,compress_extension=* /dev/mmcblk0p1 '/home/j/mountpoint/128mb'
chattr -R +c '/home/j/mountpoint/128mb'

The device will mount like this but files aren’t compressing when added, nor are they compressed if using the last command after they’ve been moved.

  • vortexal@lemmy.mlOP
    link
    fedilink
    arrow-up
    1
    ·
    21 hours ago

    I don’t remember exactly what I said but I did rewrite my post a little bit ago, it probably wont change your question though. Basically, what I meant was that I wanted to be able to run the most games from each device. Not as in hold the most games at a time, but more so hold a bigger game than it previously could while also being able to potentially load all games faster just in general. It just so happens that compression is capable of both in the right context, and in a way, it would also prolong the longevity of the devices as well, even if that’s not my main intention.

    I know that BTRFS can do this as it’s specified here and that works for me. But I was also told that F2FS could do this as well and I was linked to here. BTRFS is fine for most of my devices but there’s one device in particular that doesn’t have much space left when it’s formatted for BTRFS and therefor I’d like to get the compression in F2FS working if possible. Although, if I did get the compression in F2FS working correctly (assuming I wasn’t lied to), that’s probably what I’m going to end up using for most of my devices since most of them are flash storage devices.