OpenRiot v7.9.14 — The One Where the Wallpaper Actually Showed Up

“The background was there. The code just wasn’t looking for it.” — The OpenRiot Crew, after discovering that 01.png had been .webp for six releases.


Release Overview

v7.9.13 asked before downloading half a gigabyte of RTS. v7.9.14 fixes the bug that made fresh installs show a black desktop instead of a wallpaper, and handles snapshot library mismatches without leaving users stranded.


Wallpaper: Look for What Exists

--wallpaper-load hardcoded 01.png as the fallback. The repo has been shipping .webp backgrounds for multiple releases. On a fresh install there is no state file, so Load() fell back to a file that didn’t exist. feh got an invalid path. The desktop stayed black.

The fix: findFirstBackground() scans the directory and returns the first image it finds (.jpg, .jpeg, .png, .webp). No more hardcoded filenames.

File Change
source/backgrounds/backgrounds.go findFirstBackground()
  replaces hardcoded 01.png

Found by divadgnol227-del.


Snapshot Library Mismatches

On -current, pkg_add fails with library version mismatches when base and package builds drift. The installer only detected signature errors and told users to sysupgrade -s. Most of the time pkg_add -u is sufficient.

The installer now detects library mismatch keywords (bad major, incompatible, mismatch, depends on, missing, qt, library) and gives the same clear instruction: run doas pkg_add -u, then re-run the installer.

File Change
source/installer/packages.go isLibraryMismatch() +
  combined drift error handler

Games Cleanup

kdiamond was removed from the games module and rofi menu. It pulled in heavy Qt6/KDE dependencies that frequently broke on snapshots.

File Change
install/packages.yaml Removed kdiamond
config/rofi/games.txt Removed kdiamond entry

Since v7.9.13 (Recap)

Zero A.D.: Respect the User’s Time

Double confirmation before installing ~500MB package. 60-minute timeout for 0ad only. Heartbeat every 5 minutes. Skipped 0ad is removed from the games menu.

File Change
source/installer/packages.go confirm0ad(); strip0adFromGames();
  60m timeout; 5m heartbeat

Since v7.9.12 (Recap)

WireGuard — Removed ReconnectWifi() from Start/Stop; added Restart(). Privacy — Update check interval 3600s → 14400s; offline shows up-to-date icon. Config Preservation — Transmission settings.json survives reinstall.

Since v7.9.11 (Recap)

Polybar — IPC-gated startup. xenodm — Display mirroring. Night Lightsct replaces redshift. Test InfrastructureTMPDIR=$(HOME)/.tmp.


🧾 Files Changed

File Change
source/backgrounds/backgrounds.go findFirstBackground()
source/installer/packages.go Library mismatch detection;
  confirm0ad(); strip0adFromGames()
source/theme/colors.go Suppress missing colors.toml
  warning when running as root
install/packages.yaml Removed kdiamond
config/rofi/games.txt Removed kdiamond entry

🗣️ Final Words

“v7.9.10 made sure your packets went to the right router. v7.9.11 made sure you could click the bar. v7.9.12 made sure the tunnel didn’t eat your routes. v7.9.13 made sure you wanted that RTS. v7.9.14 makes sure your desktop isn’t a void.”

Thanks to divadgnol227-del for catching the wallpaper bug.

Ship it.