ChimeraOS / chimeraos

A Steam Big Picture based couch gaming OS
MIT License
1.67k stars 116 forks source link

Btrfs compression #889

Closed NeroReflex closed 7 months ago

NeroReflex commented 8 months ago

Enable btrfs compression at build-time as well as run-time.

The image boots and game just fine and I haven't seen any noticeable slowdown or system load in any of my device.

Chosen compression levels are to achieve minimal image size when building in github and installing to the end-user system and fast write speed for the user (since subvolumes are mounted with a much less aggressive compression ratio).

alkazar commented 8 months ago

My understanding was that compression requires copy on write, which we have disabled.

NeroReflex commented 8 months ago

My understanding was that compression requires copy on write, which we have disabled.

I haven't read that. Can you point me to it? Beside is it disabled in github ci too?

Edit: nevermind, I have read that now. Can I ask why is cow disabled?

honjow commented 8 months ago

A glaring mistake, it should be "compress-force" instead of "force-compress."

NeroReflex commented 7 months ago

A glaring mistake, it should be "compress-force" instead of "force-compress."

Thank you for spotting that!

@pastaq and @alkazar I have also removed nodatacow to effectively allow compression and defragmented the resulting filesystem, when nothing is being run from it.

A subvolume created without nodatacow can be mounted with that flag and vice-versa.