Screen remains dark after booting

After the last apt update/upgrade, the display of my Reform Classic (RK3588) remains dark after booting (from eMMC).

When I log in with my username and password in this state, so to speak, flying blind, the desktop (sway) appears at the usual brightness (~40%).

When I boot from an SD card, the screen brightness is normal.

I am grateful for any advice.

If it’s helpful, here is the history.log file.


Start-Date: 2025-10-12  20:32:00
Commandline: apt upgrade
Requested-By: micha (1000)
Upgrade: libv4lconvert0t64:arm64 (1.32.0-1, 1.32.0-2), libreoffice-calc:arm64 (4:25.8.1-1, 4:25.8.2-1), libsmartcols1:arm64 (2.41.2-3, 2.41.2-4), libimobiledevice-1.0-6:arm64 (1.3.0+git20250228-2, 1.3.0+git20250907-1), zstd:arm64 (1.5.7+dfsg-1.1, 1.5.7+dfsg-2), python3.13:arm64 (3.13.7-1, 3.13.8-1), libreoffice-gnome:arm64 (4:25.8.1-1, 4:25.8.2-1), python3-gi:arm64 (3.50.0-7, 3.50.0-8), uno-libs-private:arm64 (4:25.8.1-1, 4:25.8.2-1), libreoffice-base-core:arm64 (4:25.8.1-1, 4:25.8.2-1), openssh-client:arm64 (1:10.0p1-8, 1:10.2p1-1), libreoffice-uiconfig-impress:arm64 (4:25.8.1-1, 4:25.8.2-1), libreoffice-core:arm64 (4:25.8.1-1, 4:25.8.2-1), pipewire-pulse:arm64 (1.4.8-1, 1.4.9-1), libreoffice-common:arm64 (4:25.8.1-1, 4:25.8.2-1), libreoffice-uiconfig-writer:arm64 (4:25.8.1-1, 4:25.8.2-1), libuno-sal3t64:arm64 (4:25.8.1-1, 4:25.8.2-1), libv4l-0t64:arm64 (1.32.0-1, 1.32.0-2), ure:arm64 (4:25.8.1-1, 4:25.8.2-1), vim:arm64 (2:9.1.1230-2, 2:9.1.1846-1), libsasl2-2:arm64 (2.1.28+dfsg1-9, 2.1.28+dfsg1-10), libpython3.13-stdlib:arm64 (3.13.7-1, 3.13.8-1), at-spi2-core:arm64 (2.58.0-1, 2.58.1-1), vim-common:arm64 (2:9.1.1230-2, 2:9.1.1846-1), libreoffice-draw:arm64 (4:25.8.1-1, 4:25.8.2-1), libjavascriptcoregtk-4.1-0:arm64 (2.50.0-2, 2.50.1-1), libplist-2.0-4:arm64 (2.6.0-2+b1, 2.7.0+git20250820-1), libmount1:arm64 (2.41.2-3, 2.41.2-4), gir1.2-javascriptcoregtk-4.1:arm64 (2.50.0-2, 2.50.1-1), evolution-plugins:arm64 (3.56.2-4, 3.56.2-5), gir1.2-webkit2-4.1:arm64 (2.50.0-2, 2.50.1-1), libevolution:arm64 (3.56.2-4, 3.56.2-5), libreoffice-uiconfig-calc:arm64 (4:25.8.1-1, 4:25.8.2-1), libdb5.3t64:arm64 (5.3.28+dfsg2-9, 5.3.28+dfsg2-10), pipewire:arm64 (1.4.8-1, 1.4.9-1), libusbmuxd-2.0-7:arm64 (2.1.0-1+b1, 2.1.1-1), libjavascriptcoregtk-6.0-1:arm64 (2.50.0-2, 2.50.1-1), libsasl2-modules-db:arm64 (2.1.28+dfsg1-9, 2.1.28+dfsg1-10), dracut-install:arm64 (108-5, 108-6), libpython3.13-minimal:arm64 (3.13.7-1, 3.13.8-1), libpoppler-cpp2:arm64 (25.03.0-10, 25.03.0-11), libreoffice-impress:arm64 (4:25.8.1-1, 4:25.8.2-1), libzstd1:arm64 (1.5.7+dfsg-1.1, 1.5.7+dfsg-2), libgraphite2-3:arm64 (1.3.14-10, 1.3.14-11), util-linux:arm64 (2.41.2-3, 2.41.2-4), libdouble-conversion3:arm64 (3.3.1-1, 3.3.1-2), fonts-opensymbol:arm64 (4:102.12+LibO25.8.1-1, 4:102.12+LibO25.8.2-1), libgpg-error0:arm64 (1.55-2, 1.56-2), poppler-utils:arm64 (25.03.0-10, 25.03.0-11), libatspi2.0-0t64:arm64 (2.58.0-1, 2.58.1-1), fdisk:arm64 (2.41.2-3, 2.41.2-4), libcurl3t64-gnutls:arm64 (8.16.0-2, 8.16.0-4), libfdisk1:arm64 (2.41.2-3, 2.41.2-4), eject:arm64 (2.41.2-3, 2.41.2-4), pasystray:arm64 (0.8.2-1+b2, 0.8.2-1.1), libreoffice-style-colibre:arm64 (4:25.8.1-1, 4:25.8.2-1), libatk-adaptor:arm64 (2.58.0-1, 2.58.1-1), libpython3.13:arm64 (3.13.7-1, 3.13.8-1), libgstreamer-plugins-bad1.0-0:arm64 (1.26.5-2+b1, 1.26.6-5), libspa-0.2-bluetooth:arm64 (1.4.8-1, 1.4.9-1), libreoffice-writer:arm64 (4:25.8.1-1, 4:25.8.2-1), libuuid1:arm64 (2.41.2-3, 2.41.2-4), uuid-runtime:arm64 (2.41.2-3, 2.41.2-4), gstreamer1.0-pipewire:arm64 (1.4.8-1, 1.4.9-1), libpoppler147:arm64 (25.03.0-10, 25.03.0-11), libreoffice-uiconfig-draw:arm64 (4:25.8.1-1, 4:25.8.2-1), login:arm64 (1:4.16.0-2+really2.41.2-3, 1:4.16.0-2+really2.41.2-4), libcurl4t64:arm64 (8.16.0-2, 8.16.0-4), pipewire-audio:arm64 (1.4.8-1, 1.4.9-1), pipewire-bin:arm64 (1.4.8-1, 1.4.9-1), libatk1.0-0t64:arm64 (2.58.0-1, 2.58.1-1), libwebkit2gtk-4.1-0:arm64 (2.50.0-2, 2.50.1-1), distro-info-data:arm64 (0.66, 0.67), evolution:arm64 (3.56.2-4, 3.56.2-5), vim-runtime:arm64 (2:9.1.1230-2, 2:9.1.1846-1), gir1.2-atk-1.0:arm64 (2.58.0-1, 2.58.1-1), libqt6svg6:arm64 (6.9.2-2, 6.9.2-3), gnome-shell-extension-manager:arm64 (0.6.4-1, 0.6.5-1), rfkill:arm64 (2.41.2-3, 2.41.2-4), mount:arm64 (2.41.2-3, 2.41.2-4), libspa-0.2-modules:arm64 (1.4.8-1, 1.4.9-1), gir1.2-gst-plugins-bad-1.0:arm64 (1.26.5-2+b1, 1.26.6-5), cron-daemon-common:arm64 (3.0pl1-199, 3.0pl1-200), python3.13-minimal:arm64 (3.13.7-1, 3.13.8-1), sway:arm64 (1.11-2, 1.11-3), libpipewire-0.3-0t64:arm64 (1.4.8-1, 1.4.9-1), libreoffice-uiconfig-common:arm64 (4:25.8.1-1, 4:25.8.2-1), cron:arm64 (3.0pl1-199, 3.0pl1-200), libblkid1:arm64 (2.41.2-3, 2.41.2-4), curl:arm64 (8.16.0-2, 8.16.0-4), libmpg123-0t64:arm64 (1.33.2-1, 1.33.3-1), gstreamer1.0-plugins-bad:arm64 (1.26.5-2+b1, 1.26.6-5), libpoppler-glib8t64:arm64 (25.03.0-10, 25.03.0-11), libreoffice-gtk3:arm64 (4:25.8.1-1, 4:25.8.2-1), libpipewire-0.3-modules:arm64 (1.4.8-1, 1.4.9-1), libuno-cppu3t64:arm64 (4:25.8.1-1, 4:25.8.2-1), libwebkitgtk-6.0-4:arm64 (2.50.0-2, 2.50.1-1), libuno-cppuhelpergcc3-3t64:arm64 (4:25.8.1-1, 4:25.8.2-1), libatk-bridge2.0-0t64:arm64 (2.58.0-1, 2.58.1-1), bsdutils:arm64 (1:2.41.2-3, 1:2.41.2-4), at-spi2-common:arm64 (2.58.0-1, 2.58.1-1), libuno-purpenvhelpergcc3-3t64:arm64 (4:25.8.1-1, 4:25.8.2-1), libuno-salhelpergcc3-3t64:arm64 (4:25.8.1-1, 4:25.8.2-1), python3-gi-cairo:arm64 (3.50.0-7, 3.50.0-8), gir1.2-atspi-2.0:arm64 (2.58.0-1, 2.58.1-1), bsdextrautils:arm64 (2.41.2-3, 2.41.2-4), libayatana-indicator3-7:arm64 (0.9.4-1+b1, 0.9.4-2), pipewire-alsa:arm64 (1.4.8-1, 1.4.9-1), evolution-common:arm64 (3.56.2-4, 3.56.2-5)
End-Date: 2025-10-12  20:32:52

Start-Date: 2025-10-12  20:40:48
Commandline: apt install mc
Requested-By: micha (1000)
Install: mc-data:arm64 (3:4.8.33-1.1, automatic), mailcap:arm64 (3.75, automatic), mc:arm64 (3:4.8.33-1.1)
End-Date: 2025-10-12  20:40:51

Start-Date: 2025-10-14  19:10:58
Commandline: apt upgrade
Requested-By: micha (1000)
Install: libsimdutf26:arm64 (7.4.0-1, automatic)
Upgrade: gir1.2-adw-1:arm64 (1.8.0-1, 1.8.1-1), orca:arm64 (49.1-1, 49.3-1), libreoffice-calc:arm64 (4:25.8.2-1, 4:25.8.2-3), udev:arm64 (258-1, 258.1-1), libreoffice-gnome:arm64 (4:25.8.2-1, 4:25.8.2-3), uno-libs-private:arm64 (4:25.8.2-1, 4:25.8.2-3), libreoffice-base-core:arm64 (4:25.8.2-1, 4:25.8.2-3), gnome-user-docs:arm64 (49.0-1, 49.1-1), libreoffice-uiconfig-impress:arm64 (4:25.8.2-1, 4:25.8.2-3), libreoffice-core:arm64 (4:25.8.2-1, 4:25.8.2-3), libgtk-4-common:arm64 (4.20.1+ds-2, 4.20.2+ds-1), libglib2.0-bin:arm64 (2.84.4-3, 2.86.0-5), libgoa-1.0-common:arm64 (3.56.0-1, 3.56.1-1), libpam-systemd:arm64 (258-1, 258.1-1), libreoffice-common:arm64 (4:25.8.2-1, 4:25.8.2-3), libreoffice-uiconfig-writer:arm64 (4:25.8.2-1, 4:25.8.2-3), libuno-sal3t64:arm64 (4:25.8.2-1, 4:25.8.2-3), libvte-2.91-gtk4-0:arm64 (0.82.0-1, 0.82.1-1), ure:arm64 (4:25.8.2-1, 4:25.8.2-3), gir1.2-glib-2.0:arm64 (2.84.4-3, 2.86.0-5), libmanette-0.2-0:arm64 (0.2.12-2, 0.2.13-1), libgoa-1.0-0b:arm64 (3.56.0-1, 3.56.1-1), libreoffice-draw:arm64 (4:25.8.2-1, 4:25.8.2-3), gnome-system-monitor:arm64 (49.0-1, 49.1-1), libsystemd0:arm64 (258-1, 258.1-1), libreoffice-uiconfig-calc:arm64 (4:25.8.2-1, 4:25.8.2-3), libgoa-backend-1.0-2:arm64 (3.56.0-1, 3.56.1-1), libpoppler-cpp2:arm64 (25.03.0-11, 25.03.0-11.1), libreoffice-impress:arm64 (4:25.8.2-1, 4:25.8.2-3), libglibmm-2.68-1t64:arm64 (2.84.0-1, 2.86.0-2), gir1.2-gtk-4.0:arm64 (4.20.1+ds-2, 4.20.2+ds-1), libglib2.0-data:arm64 (2.84.4-3, 2.86.0-5), gnome-shell:arm64 (48.5-2, 48.5-3), fonts-opensymbol:arm64 (4:102.12+LibO25.8.2-1, 4:102.12+LibO25.8.2-3), systemd:arm64 (258-1, 258.1-1), libudev1:arm64 (258-1, 258.1-1), poppler-utils:arm64 (25.03.0-11, 25.03.0-11.1), libaspell15:arm64 (0.60.8.1-4, 0.60.8.1-5), libreoffice-style-colibre:arm64 (4:25.8.2-1, 4:25.8.2-3), libnorm1t64:arm64 (1.5.9+dfsg-3.1+b2, 1.5.9+dfsg-4), libvte-2.91-common:arm64 (0.82.0-1, 0.82.1-1), glycin-loaders:arm64 (2.0.0+ds-2, 2.0.0+ds-3), libreoffice-writer:arm64 (4:25.8.2-1, 4:25.8.2-3), dictionaries-common:arm64 (1.30.10, 1.30.11), gsettings-desktop-schemas:arm64 (49.0-1, 49.1-1), media-types:arm64 (13.0.0, 14.0.0), libpoppler147:arm64 (25.03.0-11, 25.03.0-11.1), gnome-online-accounts:arm64 (3.56.0-1, 3.56.1-1), libreoffice-uiconfig-draw:arm64 (4:25.8.2-1, 4:25.8.2-3), python3-setproctitle:arm64 (1.3.6-2, 1.3.7-1), gnome-shell-common:arm64 (48.5-2, 48.5-3), libqt6svg6:arm64 (6.9.2-3, 6.9.2-4), gnome-menus:arm64 (3.36.0-3, 3.36.0-5), libgtk-4-1:arm64 (4.20.1+ds-2, 4.20.2+ds-1), libsystemd-shared:arm64 (258-1, 258.1-1), libadwaita-1-0:arm64 (1.8.0-1, 1.8.1-1), gtk-update-icon-cache:arm64 (4.20.1+ds-2, 4.20.2+ds-1), systemd-sysv:arm64 (258-1, 258.1-1), libreoffice-uiconfig-common:arm64 (4:25.8.2-1, 4:25.8.2-3), python3-cups:arm64 (2.0.4-2+b2, 2.0.4-3), gnome-characters:arm64 (49.0-1, 49.1-1), libpoppler-glib8t64:arm64 (25.03.0-11, 25.03.0-11.1), libreoffice-gtk3:arm64 (4:25.8.2-1, 4:25.8.2-3), gir1.2-gdesktopenums-3.0:arm64 (49.0-1, 49.1-1), libuno-cppu3t64:arm64 (4:25.8.2-1, 4:25.8.2-3), wireplumber:arm64 (0.5.11-1, 0.5.12-1), libuno-cppuhelpergcc3-3t64:arm64 (4:25.8.2-1, 4:25.8.2-3), libuno-purpenvhelpergcc3-3t64:arm64 (4:25.8.2-1, 4:25.8.2-3), libuno-salhelpergcc3-3t64:arm64 (4:25.8.2-1, 4:25.8.2-3), libglib2.0-0t64:arm64 (2.84.4-3, 2.86.0-5), libwireplumber-0.5-0:arm64 (0.5.11-1, 0.5.12-1)
End-Date: 2025-10-14  19:12:02

Start-Date: 2025-10-15  20:57:56
Commandline: apt install thunderbird
Requested-By: micha (1000)
Install: libtspi1:arm64 (0.3.15-1, automatic), librnp0:arm64 (0.18.0-3, automatic), thunderbird:arm64 (1:140.3.1esr-1), libbotan-3-7:arm64 (3.7.1+dfsg-2, automatic), libsexpp0:arm64 (0.8.7-4+b1, automatic), libotr5t64:arm64 (4.1.1-6, automatic)
End-Date: 2025-10-15  20:58:02

Start-Date: 2025-10-15  21:02:49
Commandline: apt install filezilla
Requested-By: micha (1000)
Install: libfilezilla-common:arm64 (0.51.1-1, automatic), libfilezilla48:arm64 (0.51.1-1, automatic), filezilla-common:arm64 (3.69.3-1, automatic), filezilla:arm64 (3.69.3-1), libwxbase3.2-1t64:arm64 (3.2.8+dfsg-2, automatic), libwxgtk3.2-1t64:arm64 (3.2.8+dfsg-2, automatic), libpcre2-32-0:arm64 (10.46-1, automatic), libpugixml1v5:arm64 (1.14-2, automatic)
End-Date: 2025-10-15  21:02:53

Start-Date: 2025-10-17  04:36:22
Commandline: apt upgrade
Requested-By: micha (1000)
Upgrade: libcodec2-1.2:arm64 (1.2.0-3, 1.2.0-4), python3.13:arm64 (3.13.8-1, 3.13.9-1), firmware-iwlwifi:arm64 (20250808-1, 20250917-1), libglx-mesa0:arm64 (25.2.4-1, 25.2.5-1), gstreamer1.0-plugins-ugly:arm64 (1.26.6-1+b1, 1.26.7-1), gnome-software:arm64 (49.0-1, 49.1-1), libblockdev-part3:arm64 (3.3.1-3, 3.4.0-1), gnome-software-common:arm64 (49.0-1, 49.1-1), libblockdev-swap3:arm64 (3.3.1-3, 3.4.0-1), libldb2:arm64 (2:2.11.0+samba4.23.1+dfsg-1, 2:2.11.0+samba4.23.2+dfsg-1), gir1.2-gstreamer-1.0:arm64 (1.26.6-2, 1.26.7-1), gstreamer1.0-gl:arm64 (1.26.6-3, 1.26.7-1), libgbm1:arm64 (25.2.4-1, 25.2.5-1), libgail-3-0t64:arm64 (3.24.50-2, 3.24.51-1), libpython3.13-stdlib:arm64 (3.13.8-1, 3.13.9-1), gnome-software-plugin-deb:arm64 (49.0-1, 49.1-1), firmware-atheros:arm64 (20250808-1, 20250917-1), libblockdev-fs3:arm64 (3.3.1-3, 3.4.0-1), papers-common:arm64 (49.0-3, 49.1-1), mesa-libgallium:arm64 (25.2.4-1, 25.2.5-1), libgstreamer-gl1.0-0:arm64 (1.26.6-3, 1.26.7-1), libwbclient0:arm64 (2:4.23.1+dfsg-1, 2:4.23.2+dfsg-1), dracut-install:arm64 (108-6, 108-8), papers:arm64 (49.0-3, 49.1-1), libpython3.13-minimal:arm64 (3.13.8-1, 3.13.9-1), libshumate-common:arm64 (1.5.0.1-1, 1.5.1-1), gir1.2-gtk-3.0:arm64 (3.24.50-2, 3.24.51-1), gir1.2-gst-plugins-base-1.0:arm64 (1.26.6-3, 1.26.7-1), libshumate-1.0-1:arm64 (1.5.0.1-1, 1.5.1-1), libgl1-mesa-dri:arm64 (25.2.4-1, 25.2.5-1), firefox:arm64 (143.0.3-1, 144.0-1), gnome-calculator:arm64 (1:49.0-1, 1:49.0-2), firmware-mediatek:arm64 (20250808-1, 20250917-1), libpython3.13:arm64 (3.13.8-1, 3.13.9-1), libblockdev-loop3:arm64 (3.3.1-3, 3.4.0-1), libgstreamer-plugins-bad1.0-0:arm64 (1.26.6-5, 1.26.7-1), gstreamer1.0-gtk3:arm64 (1.26.6-1+b1, 1.26.7-1), libblockdev3:arm64 (3.3.1-3, 3.4.0-1), libsmbclient0:arm64 (2:4.23.1+dfsg-1, 2:4.23.2+dfsg-1), firmware-realtek:arm64 (20250808-1, 20250917-1), gstreamer1.0-plugins-good:arm64 (1.26.6-1+b1, 1.26.7-1), gnome-maps:arm64 (49.1-1, 49.2-1), gstreamer1.0-plugins-base:arm64 (1.26.6-3, 1.26.7-1), gir1.2-shumate-1.0:arm64 (1.5.0.1-1, 1.5.1-1), libnss3:arm64 (2:3.116-1, 2:3.117-1), libblockdev-utils3:arm64 (3.3.1-3, 3.4.0-1), libtdb1:arm64 (2:1.4.14+samba4.23.1+dfsg-1, 2:1.4.14+samba4.23.2+dfsg-1), libnautilus-extension4:arm64 (49.0-1, 49.1-1), firmware-misc-nonfree:arm64 (20250808-1, 20250917-1), gnome-control-center-data:arm64 (1:49.0-1, 1:49.1-1), libblockdev-mdraid3:arm64 (3.3.1-3, 3.4.0-1), libgstreamer1.0-0:arm64 (1.26.6-2, 1.26.7-1), ocl-icd-libopencl1:arm64 (2.3.3-1, 2.3.4-1), libtevent0t64:arm64 (2:0.17.1+samba4.23.1+dfsg-1, 2:0.17.1+samba4.23.2+dfsg-1), gir1.2-gst-plugins-bad-1.0:arm64 (1.26.6-5, 1.26.7-1), samba-libs:arm64 (2:4.23.1+dfsg-1, 2:4.23.2+dfsg-1), python3.13-minimal:arm64 (3.13.8-1, 3.13.9-1), gnome-control-center:arm64 (1:49.0-1, 1:49.1-1), libppsdocument-4.0-6:arm64 (49.0-3, 49.1-1), libgtk-3-common:arm64 (3.24.50-2, 3.24.51-1), nautilus:arm64 (49.0-1, 49.1-1), nautilus-data:arm64 (49.0-1, 49.1-1), gnome-software-plugin-flatpak:arm64 (49.0-1, 49.1-1), libppsview-4.0-5:arm64 (49.0-3, 49.1-1), gstreamer1.0-plugins-bad:arm64 (1.26.6-5, 1.26.7-1), libegl-mesa0:arm64 (25.2.4-1, 25.2.5-1), libblockdev-smart3:arm64 (3.3.1-3, 3.4.0-1), libblockdev-nvme3:arm64 (3.3.1-3, 3.4.0-1), libgtk-3-0t64:arm64 (3.24.50-2, 3.24.51-1), libgstreamer-plugins-base1.0-0:arm64 (1.26.6-3, 1.26.7-1), gstreamer1.0-libav:arm64 (1.26.6-1, 1.26.7-1), libblockdev-crypto3:arm64 (3.3.1-3, 3.4.0-1), libtalloc2:arm64 (2:2.4.3+samba4.23.1+dfsg-1, 2:2.4.3+samba4.23.2+dfsg-1)
End-Date: 2025-10-17  04:37:20

This sounds like what @UnlikelyLass was seeing in Uboot mystery value up to date, but not using it?, which sounds like was a stray extlinux directory in /boot. (She might have more info for you.)

Thank you very much.

But I still don’t quite understand.

Which keys do you press and when?

I forgot to mention: the boot messages are all visible.

The culprit is firmware-misc-nonfree. Downgrading that package back to version 20250808-1 makes gdm work again. I filed this as a bug with RC severity against firmware-nonfree here: https://bugs.debian.org/1118261

1 Like

In my case, the screen was entirely black, no text, no graphics. This sounds like the screen is visible, but “dim” instead of full brightness?

Yes, there are bright spots at the edges of the screen. Otherwise, it is black.

A version of firmware-misc-nonfree with this problem fixed is now in the MNT Debian repository and you should be able to grab it via apt update && apt upgrade.

Thank you, Josch! It’s working again.

What does that mean for me? Should I be a little more cautious with updates (update/upgrade)?

I do not think that there is any caution which would’ve helped here. You have the apt-listbugs package installed which warns you when you are about to install a version of a package with known release critical bugs. There are (at least) three problems with that:

  • somebody has to run into the bug first and file it before it can show up for others – that person may be you
  • even when a bug is filed, it may not have been marked as release critical (this is what happened here)
  • even when a bug is filed as release critical, it might not affect you at all (you still have to read the bug description to find out)

You are using Debian unstable and that’s a double edged-sword. On one hand:

  • You get the very latest software and when something breaks, a fix can land within 6 hours (the interval of mirror pushes)
  • Oftentimes, the very latest software is required for the SoMs we are using (I’m looking at you, mesa!)
  • Using Debian unstable is a great way to “give back” to the community because bugs can only be fixed after somebody has filed them

On the other hand:

  • Most bugs can only be filed after somebody has run into them – that person may have been you and then it is up to you to clean up your system
  • On very, very, very rare occasions bugs can be so bad that there is data-loss

If you don’t have time to file bugs or clean up after you ran into them, you may consider using Debian stable. But remember: if everybody uses Debian stable, then nobody will run into the bugs before the next stable release and then the bugs that nobody noticed will be part of the stable release. A large part of why Debian stable is stable is because people are using unstable, observe bugs, file them and we can get them fixed.

Thus, I’m very grateful to everybody who uses unstable, files bugs (including as a forum post) and is thus helping making the next Debian stable release better but I can also understand if you consider your life too short for always having to fix up your system after you ran into bugs like the one we had over here.

In general, if you use unstable, I think I can give these bits of advice:

  • don’t upgrade if you are in a hurry or short on time, just in case
  • always do backups!
2 Likes

Thank you for the comprehensive answer and some new perspectives!

Back in the day I found Debian Testing a nice in-between of Stable and Unstable.

Debian -- Debian Releases Says: The testing distribution contains packages that haven’t been accepted into a stable release yet, but they are in the queue for that. The main advantage of using this distribution is that it has more recent versions of software.

I’m on NixOS these days, on which a broken update is reverted with a sudo nixos-rebuild switch --rollback or by choosing a previous generation at boot (if bootloader menu is available).

Interesting. Which device? Which processor?

Using testing has another disadvantage though: you do not get any security related fixes in any timely manner. In the ideal case, packages (with security issues fixed) transition from unstable to testing within 3 days or 5 days if they do not have autopkgtests. But it takes just a single transitive dependency with an issue in testing for the package not to transition at all for weeks or longer. Additionally, if issues persist, packages will get removed from testing without warning. To give you an example, the package reform-tools will get removed from testing on November 14 not because reform-tools is buggy but because packages it depends on are buggy:

As the maintainer of reform-tools I now have until around the beginning of November (November 14 would be too late as the fix has to transition to testing) to either bug the maintainers of these packages until they fix the problem or roll up my sleave and fix problems in packages I am not at all familiar with to prevent my own packages from getting removed from testing. All of this is normal and this happens not only to reform-tools but also to the other tens of thousands of packages during the whole course of the release cycle. Testing is highly volatile and even if I wanted to, I’m unable to make urgent fixes reach testing quickly. If you use testing, your system and all the packages on it are subject to this high degree of volatility.

I would recommend to switch to testing a few months before a release to test the packages of the new release and find problems and report them. And then maybe you can even directly switch from testing to the next stable version.

I’m not trying to say that testing is worse than unstable. I’m trying to say that it’s not really a “in-between” of stable and unstable. It has very different properties compared to both.

My recommendation if you want stability and recent software is to use stable with backports. This is unfortunately getting more and more tricky the more packages we have which pull in Rust bits but that is a completely different topic. :slight_smile:

1 Like

A mix of home-servers, laptops and workstations:

FriendlyElec NanoPi R6C - RockChip RK3568

FriendlyElec NanoPC CM3588-NAS - RockChip RK3568

Raspberry Pi4 - Broadcom BCM2711

Purism Librem 5 - NXP i.MX8MQ

Lenovo T14s - Snapdragon X Elite X1E-78-100

Supermicro SYS-E100-9W-L - Intel i3-8145UE

Supermicro SYS-E100-12T-C - Intel Celeron 6305E

Lenovo ThinkPad P70 - Intel Xeon E3-1505M

LattePanda Sigma - Intel i5-1340P

Lenovo IdeaPad Duet 3i 10 - Intel Pentium N5030

Supermicro SYS-5018D-FN4T - Intel Xeon D-1540

NixOS enables me to manage these (and my daughter’s) from a single repository for OS and another one for home (with Home Manager - NixOS Wiki ). This way a configuration change at one device automatically transfers to the others. And it is all architecture-agnostic.

1 Like

I much appreciate your lengthy explanation, especially from your point of view as a Debian Developer. Thanks!