I bought some real sd cards and they work fine without ext4. Once again the solution is to throw money at the problem.
The project this is forked from also got archived, so there's no way or reason to keep up with the changes to SteamOS.
Check out their new project: SteamOS BTRFS
Enables vfat (fat32) and exfat file systems on the steam deck.
Format sd cards as exfat
- Automatically given label "SDeck"
Automatically picks up sd cards already formatted to exfat or fat32 (good if you use the official microsd card formatter on a pc)
Have not tested fat32 since nobody should be using it anyways.
This script may or may not get updated as the steam deck gets updated. Should work regardless. Hopefully this hack becomes obsolete.
I straight up copied the btrfdeck downloader, but it should work regardless. Also not tested.
You'll want to be in konsole, sshd or some other terminal.
cd ~
git clone https://github.com/LeifMessinger/fatdeck
cd fatdeck
passwd deck
If you want to know what it does, read the code.
You may need to give the script execute permissions, so do chmod u+x fatdeck_post_update.sh
To run, you have to do ./fatdeck_post_update.sh
This is because linux will search the default path for an executible unless the command looks like a path. ./ means current directory, but you could just as well do /home/deck/Documents/fatdeck/fatdeck_post_update.sh to run the script.
At this point it should automatically mount the drive because both files were changed. If it does not here is how I would troubleshoot:
- Try ejecting the microSD card and reinserting. (Sometimes it'll take a few seconds to mount a large drive.)
- Restart Steam.
- Go to the desktop and check if it is mounted.
- If that doesn't work, try to format in the SteamUI again. I need to figure out where this logs to so I can add that here.
- You could try formatting manually, either through KDE Partition Manager or though the terminal.
- Lastly, if all else fails, you can follow the Undo the changes section below to make it as if you never made a change.
Don't remove password and run the exfat_post_update.sh script by right-clicking it and selecting "Run in Konsole".
passwd deck
sudo steamos-readonly disable
sudo rm /usr/lib/hwsupport/sdcard-mount.sh && sudo rm /usr/lib/hwsupport/format-sdcard.sh
cp ./backup/sdcard-mount.sh /usr/lib/hwsupport/sdcard-mount.sh
cp ./backup/format-sdcard.sh /usr/lib/hwsupport/format-sdcard.sh
sudo steamos-readonly enable
sudo passwd -d deck
Thanks to u/ClinicallyInPain on reddit for compiling some of the resources and to u/Hanntac and u/leo_vir for their contributions! Both of the last two credits helped me through PM so I am incredibly thankful for the both of them. Also to u/sporkyuncle for helping me make it more user-friendly.
The following Github users:
Sources:
- https://www.reddit.com/r/SteamDeck/comments/taixhw/new_user_questions_current_user_recommendations/
- https://docs.kde.org/trunk5/en/partitionmanager/partitionmanager/partitionmanager.pdf
- https://linuxhint.com/btrfs-filesystem-mount-options/
- https://www.reddit.com/r/SteamDeck/comments/t76wh6/compressing_storage_with_btrfs/
- https://www.reddit.com/r/SteamDeck/comments/t79fqj/comment/hziqcf5/
- https://serverfault.com/a/767079
- Trevo525#1