How to Fix "Error: kernel does not support overlay fs" on Steam Deck
Step-by-Step Solution for SteamOS
Understanding the Error
If you're trying to use container tools like Podman or Docker on your Steam Deck with SteamOS, you might run into this annoying error:
This happens because SteamOS has a unique file system structure designed for gaming. The root filesystem uses Btrfs with read-only partitions, while your home directory is on an ext4 partition. The overlay driver doesn't work natively on this ext4 setup.
In this guide, I'll show you the permanent solution to fix this error and get your containers working correctly on the Steam Deck.
Solution Flowchart
The solution process follows these steps:
- Attempt to enable 'overlay' in the kernel.
- If it works, make it permanent.
- If it doesn't work, switch the storage driver to 'fuse-overlayfs'.
- Verify that the solution is working.
Step-by-Step Solution
A Enable Overlay Support in the Kernel
1 Enable Overlay Support Temporarily
Open the Terminal on your Steam Deck (in Desktop Mode) and run:
sudo modprobe overlay
2 Test Container Operation
Try running your container command again:
podman run hello-world
3 Make the Change Permanent
To ensure the change persists after reboots:
echo "overlay" | sudo tee /etc/modules-load.d/overlay.conf
sudo systemctl restart systemd-modules-load
B Change Storage Configuration
If enabling overlay didn't work, try one of these options:
1 Option B.1: Use Temporary Storage
mkdir -p ~/.config/containers
cat <<EOF > ~/.config/containers/storage.conf
[storage]
driver = "overlay"
graphroot = "/tmp/containers/storage"
runroot = "/tmp/containers/run"
EOF
2 Option B.2: Use FUSE OverlayFS (Recommended)
1. Install fuse-overlayfs:
# Download, make executable, and move
curl -LO https://github.com/containers/fuse-overlayfs/releases/download/v1.13/fuse-overlayfs-x86_64
chmod +x fuse-overlayfs-x86_64
mkdir -p ~/.local/bin
mv fuse-overlayfs-x86_64 ~/.local/bin/fuse-overlayfs
2. Configure storage:
mkdir -p ~/.config/containers
cat <<EOF > ~/.config/containers/storage.conf
[storage]
driver = "overlay"
mount_program = "$HOME/.local/bin/fuse-overlayfs"
EOF
C Verify the Solution
1 Check Kernel Support
lsmod | grep overlay
2 Test Container Operation
podman run --rm hello-world
You should see a success message.
Final Notes
Congratulations! You have successfully resolved the error. Option B.2 (fuse-overlayfs) is the most recommended solution.
These changes will survive SteamOS updates because they are saved in your home directory.
If you still have issues, you can reset your container storage with:
podman system reset
Steam Deck Container Solution | Published June 2025
This solution works on SteamOS 3.0+ and is compatible with Podman.
Comentarios