SteamOS icon indicating copy to clipboard operation
SteamOS copied to clipboard

Not enough free space for steamos-unminimize on 3.7.2

Open V10lator opened this issue 9 months ago • 4 comments

Your system information

  • Steam client version: 1744067266
  • SteamOS version: 3.7.2
  • Opted into Steam client beta?: Yes
  • Opted into SteamOS beta?: Yes
  • Have you checked for updates in Settings > System?: Yes

Please describe your issue in as much detail as possible:

Running steamos-unminimize --dev fails with:

error: Partition / too full: 23342 blocks needed, 48 blocks free
error: not enough free disk space
error: failed to commit transaction (not enough free disk space)

Steps for reproducing this issue:

  1. Reflash SteamOS with latest recovery image
  2. Opt into SteamOS preview and Steam client beta
  3. Wait for all SteamOS and Steam client updates to finish (this requires multiple reboots)
  4. Go into desktop mode, open a terminal and execute:
sudo su
steamos-devmode enable
steamos-unminimize --dev

V10lator avatar Apr 08 '25 10:04 V10lator

sounds similar to https://github.com/ValveSoftware/SteamOS/issues/1733 since rootfs size has continued to grow a bit

matte-schwartz avatar Apr 08 '25 18:04 matte-schwartz

continues to be an issue on SteamOS 3.8, leaving no way to build packages targeting SteamOS:

warning: no /var/cache/pacman/pkg/ cache exists, creating...
error: Partition /var too full: 1593603 blocks needed, 193992 blocks free
error: failed to commit transaction (not enough free disk space)
Errors occurred, no packages were upgraded.

matte-schwartz avatar Jun 18 '25 19:06 matte-schwartz

Hi,

if you want a way to build packages for SteamOS 3.8 maybe it's easier to set up an SDK in your laptop, build everything there and then install the packages in the deck.

Since the repositories are public you can do something like this from a regular Arch installation (or Arch VM):

  1. Create /tmp/pacman.conf with the following contents:
[options]
HoldPkg     = pacman glibc
Architecture = auto
ParallelDownloads = 10
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional

[jupiter-main]
Include = /etc/pacman.d/mirrorlist-steam

[holo-main]
Include = /etc/pacman.d/mirrorlist-steam

[core-main]
Include = /etc/pacman.d/mirrorlist-steam

[extra-main]
Include = /etc/pacman.d/mirrorlist-steam

[community-main]
Include = /etc/pacman.d/mirrorlist-steam

[multilib-main]
Include = /etc/pacman.d/mirrorlist-steam
  1. Create /etc/pacman.d/mirrorlist-steam
Server = https://steamdeck-packages.steamos.cloud/archlinux-mirror/$repo/os/$arch
  1. Download the latest holo-keyring package from https://steamdeck-packages.steamos.cloud/archlinux-mirror/holo-main/os/x86_64/

  2. Install the base system in a temporary directory (e.g. /target):

$ pacman -U holo-keyring-*.pkg.tar.zst
$ pacman -S arch-install-scripts
$ mkdir -p /target
$ pacstrap -C /tmp/pacman.conf -P /target base base-devel holo-keyring
$ mv /etc/pacman.d/mirrorlist-steam /target/etc/pacman.d/
$ arch-chroot /target pacman -Scc

And that should be enough, you can create a container or a VM with the contents of /target, you can also run run arch-chroot /target if you want to make further tweaks to the system, etc.

bertogg avatar Jun 20 '25 12:06 bertogg

thank you so much @bertogg! was just able to build gamescope with SteamOS libs following those directions, working on importing it into distrobox now. much appreciated!

matte-schwartz avatar Jun 20 '25 17:06 matte-schwartz

It’s also a possibility to manually expand the partition size (at the expense of other partitions on the device); but doing so alone is not enough, it also needs the btrfs file system to be expanded using the btrfs filesystem resize command with an expansion size argument, on the mount point of the root file system. You’ll likely also need to do this on the other partset when an update comes. With my partition layout on a dual-booting Legion Go, I was able to give each rootfs partition an expansion to 14GiB; more than enough for the time being. Currently, the unminimised rootfs takes up less than 5GiB; the issue is that the tools such as pacman enforce a safety margin, which the rootfs exceeds when unminimising and adding dev packages.

DragRedSim avatar Sep 02 '25 07:09 DragRedSim

I don't know if it makes much sense to keep this open. As the rootfs continues to grow I think that the best way to develop for SteamOS is to have an SDK in another computer like the one I suggested.

If you have a SteamOS VM I suppose you could also use it for development if you remove the inactive root flesystem and expand the other one, like that you would have 10GB instead of 5:

# ls -l /dev/disk/by-partsets/self/rootfs 
lrwxrwxrwx 1 root root 13 Oct  9 00:57 /dev/disk/by-partsets/self/rootfs -> ../../../vda4

# fdisk /dev/vda

Command (m for help): d
Partition number (1-8, default 8): 5

Partition 5 has been deleted.

Command (m for help): e
Partition number (1-4,6-8, default 8): 4

New <size>{K,M,G,T,P} in bytes or <size>S in sectors (default 10G): 10G

Partition 4 has been resized.

Command (m for help): w
The partition table has been altered.
Syncing disks.

# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda4       5.0G  3.4G  1.4G  71% /

# btrfs filesystem resize max /
Resize device id 1 (/dev/vda4) from 5.00GiB to max

# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda4        10G  3.4G  6.4G  35% /

bertogg avatar Oct 09 '25 08:10 bertogg

Is there even a reason to keep steamos-unminimize around if that's the case? Or at least warn that it's meant to be run in a VM if you allocate extra space.

matte-schwartz avatar Oct 09 '25 08:10 matte-schwartz

I don't know if it makes much sense to keep this open. As the rootfs continues to grow I think that the best way to develop for SteamOS is to have an SDK in another computer like the one I suggested.

Not a developer here, I'm just dailying SteamOS with Steam Deck and reporting on bugs I find on Beta; stuff that other end users will see, etc. Of course extending the partition would be a solution, but that's banking on numerous Steam Deck owners to have the know-how and the guts to do so. As a lot of these new users are possibly migrating from Windows, I don't think it would be a good idea to leave them to going into the terminal to extend the partition when the end goal is to game in Desktop mode without the insistent notification popping up on the screen from the screenshots I posted in https://github.com/ValveSoftware/SteamOS/issues/2149

Saiyaken-PHOENIX avatar Oct 09 '25 08:10 Saiyaken-PHOENIX

I don't think it would be a good idea to leave them to going into the terminal to extend the partition when the end goal is to game in Desktop mode without the insistent notification

Wait wait wait, I'm talking about extending the partition on a VM so you can use it for development, which is what this issue is about.

This is not for end users, one should never change the partition layout on an actual Steam Deck and this has nothing to do with the "Low disk space" warning mentioned in the other issue.

bertogg avatar Oct 09 '25 08:10 bertogg

Wait wait wait, I'm talking about extending the partition on a VM so you can use it for development, which is what this issue is about.

This is not for end users, one should never change the partition layout on an actual Steam Deck and this has nothing to do with the "Low disk space" warning mentioned in the other issue.

Image

This is the only reason I brought it up here

Saiyaken-PHOENIX avatar Oct 09 '25 08:10 Saiyaken-PHOENIX

  • That's a screenshot from 1733, but 1733 and this one (1869) are about using steamos-unminmize for development.
  • 2149 is about a warning in desktop mode because the root filesystem does not have a lot of empty space.

bertogg avatar Oct 09 '25 08:10 bertogg

Was assuming you were speaking about 2149 since the previous one mentioning 1809 was from April. Apologies, should probably be kept split apart.

Saiyaken-PHOENIX avatar Oct 09 '25 08:10 Saiyaken-PHOENIX