mirror of
https://github.com/theupriser/steamify-cachyos.git
synced 2026-10-03 17:41:58 +02:00
25 KiB
25 KiB
Changelog
All notable changes, per version and per commit. Versions follow
Semantic Versioning; the current one is VERSION in
steamify.sh. Versions before 0.7.0 were numbered afterwards,
one per merged pull request.
2.5.1 - 2026-09-27
- fix: Add as non-Steam game asks Steam to close again every 15 s (a Steam that was still starting ignored it)
3a0692fdocs: README screenshot at 2.5.1 with Add as non-Steam gamee86ddccfeat: Add as non-Steam game: Steamify in the Steam library, under the shortcut; controller works when started from Steam389bc33fix(ui): B never quits (Steam sends Esc for it), Ctrl+Q does; started from Steam, the hints show the Steam Controller's buttonsc6c1150fix(ui): Enter selects (a Steam Controller's A in Steam's desktop layout); Ctrl+Enter reviews and applies98e2efffix(ui): Started from Steam, the app runs without Steam's overlay (Qt aborted) and stays in the foreground, so Steam Input gives it the controller431515bfeat(ui): Review & apply greyed out while nothing would change; the Done screen shows why a run stopped
2.5.0 - 2026-09-27
- docs: README: what the VRAM booster says with NVIDIA's closed driver; shorter unsupported text in the app
32c33e4fix: An option left unticked stays off: it came back ticked as "new" on the next run (since 2.3.0)2dd0f3afeat: VRAM booster with NVIDIA says what to do: update, switch to the open driver (chwd command), or not supported by the card57995bcdocs: VRAM booster works with NVIDIA's open kernel modules (driver 615+); only the closed driver is greyed outd57e8d8docs: AGENTS.md and changelog for the vidmem detection5a34633feat: VRAM booster also for drivers that name their region vidmem (or numbered), NVIDIA included once its driver registers it479b70bfeat: Everything in the home folder under steamify (state, scripts, icon), moved once from the old name2e0881bfix: fill takes values literally; the notifier path is quoted in its unitcce31e1refactor: DKMS confs in patches/; an existing leds-valve DKMS override is kept and restoredbd4fa3arefactor: The session sync and kernel headers scripts in patches/8ffa0f2refactor: systemd units in services/, read with service_file like patches/8a2601ddocs: README screenshot at 2.5.0 with Update notifications; AGENTS.md: retake it when rows change572417bfix: Open Steamify from the notification starts the app (own scope), the same way it was last used (app or terminal)cf73229feat: Update notifications: a notification and tray icon when there's a new Steamify
2.4.1 - 2026-09-27
- chore: Version 2.4.1
6f598d1docs: README screenshot shows every option9bbe5fadocs: Screenshot of the app's menu in the README
2.4.0 - 2026-09-27
03a8b8cchore: Version 2.4.0e699a3frefactor(ui): One QML file per screen; the HDMI boost's setup screens and backend commands removed
2.3.0 - 2026-09-27
86b9744feat: VRAM booster greyed out with an NVIDIA card, with whyb0947d7feat: VRAM booster only for GPUs with at least 2 GB of their own VRAM3f97c85feat: VRAM booster for every supported GPU, not only the Steam Machinefd162c1feat: New badge for default sub-options added in this version54ebddffeat: VRAM booster for the Steam Machine
2.2.0 - 2026-09-27
ef585c0docs: Changelog entries per commit for 2.2.032795bdfeat(ui): Update badge on the progress screen3c8ca65fix(ui): Never write the sudo password to a file; Update label on the progress screen- The app gave
sudothe password through a short-lived file; the helper now reads it from a named pipe the app feeds from memory each time sudo asks. The progress screen showed "undefined" for an update.
- The app gave
11a91effeat: Update badge on components that get a newer version- The menu (terminal and app) shows "(update)" / an Update badge after the name of a component a normal run will update.
163f790feat: Feature versions are Steamify versions; Steam Machine support is 2.2.0- Each component records the Steamify version of what it set up; when a release changes a component, installs with an older version are ticked and updated by a normal run ("update" in the plan and the app's review). A setup from before counts as 2.1.0, so Steam Machine support (2.2.0) is updated on machines set up with 2.1.0. New default sub-options (like the power-off fix) are ticked where their parent is on.
e121b06fix: Remove whatever is left of HDMI refresh boost, pin or no pin- HDMI refresh boost needed the pinned kernel and is retired (newer kernels do HDMI 2.1 themselves): whatever is left of it (saved displays, also ones not connected, its hotplug script, the old kernel parameter) is unticked and removed by the next run.
19ca966docs: Drop the kernel pin and HDMI refresh boost descriptions56fb908docs: Power-off fix texts cover every affected kernel, not just 7.26df19ebfeat: Power-off fix as its own sub-option, drop the kernel pin, feature versions- The power-off fix is a sub-option of Steam Machine support, ticked along with it (opt-out). The kernel pin is no longer offered: an existing pin is shown unticked, so the next run removes it and brings back CachyOS's current kernel.
7694c97feat: Power-off fix for the Steam Machine; the kernel pin is optional- With recent kernels (newer 6.x, 7.0 and 7.1 updates, 7.2 and probably later ones) the Steam Machine started again right after shutting down: they keep the wake bit the firmware sets on GPIO pin 18, which Valve's own kernel clears in a patch that won't reach CachyOS. A small module, built with DKMS for each installed kernel, clears it right before power-off. Tested with CachyOS 7.2.8: stays off, and without the module it rebooted.
- Module sources and patches live in
patches/instead of inside the shell code; the single-file build and the app package include them. The Steam Machine CEC driver change is nowpatches/cros-ec-cec-single-port.patch.
2.1.0 - 2026-09-26
- feat(ui): Manage button for HDMI refresh boost
- The item's switch is a button: Set up… while no display is saved, Manage after that. Manage lists the saved displays (connected or not), removes one with its Remove button, and sets up the connected display when it has no saved rates yet.
4cc87aafeat: HDMI refresh boost per display, with a Saved displays screen36d0a9dfeat: HDMI refresh boost only for the display it was set up for- The EDID override was on the kernel command line, so any display on that
HDMI port got the first display's timings. Rates are now saved per
display and loaded at boot and at every hotplug for the display that's
connected (its ID read over DDC); a display without saved rates, or
unplugging, puts the port back on the display's own EDID. No initramfs
or boot loader change any more. An existing setup is moved over when
re-applied (
a). - The item shows on only while the connected display is boosted, so a new display can be set up by ticking it; unticking removes only that one.
- The EDID override was on the kernel command line, so any display on that
HDMI port got the first display's timings. Rates are now saved per
display and loaded at boot and at every hotplug for the display that's
connected (its ID read over DDC); a display without saved rates, or
unplugging, puts the port back on the display's own EDID. No initramfs
or boot loader change any more. An existing setup is moved over when
re-applied (
2.0.3 - 2026-09-26
- fix: HDMI-CEC on the Steam Machine
- Mainline's
cros_ec_cecdriver doesn't know the Steam Machine, so there was no/dev/cec0. HDMI-CEC now builds Valve's version of the driver with DKMS (steamify-cros-ec-cec) for every installed kernel, with a fix so it finds amdgpu's HDMI port even though amdgpu loads first. An existing HDMI-CEC install is ticked in the menu to add it.
- Mainline's
2.0.2 - 2026-09-26
badfd84docs: Non-affiliation disclaimer in the README- States that the project isn't affiliated with Valve or CachyOS, and that Steam and SteamOS are Valve's trademarks.
2.0.1 - 2026-09-25
2b3f1defeat: The Steamify shortcut opens the app- "Steamify CachyOS" on the desktop and in the launcher starts the newest app (in Konsole the first time, if PySide6 still has to be installed). The terminal menu is "Steamify Terminal" in the launcher. A shortcut from before 2.0.1 is ticked in the menu, so a normal run replaces it.
- steamify-app.sh leaves the shortcut's launcher entry alone (it has the
same id,
steamify-ui.desktop, and always starts the newest release).
2.0.0 - 2026-09-25
- feat: Steamify app (v2 UI)
- A graphical app for controller, keyboard and TV remote, driving the same
components through
steamify.sh --backend; the BIOS update with both warnings; built by GitHub and run with curl.
- A graphical app for controller, keyboard and TV remote, driving the same
components through
- feat(ui): HDMI refresh boost in the app
- "Set up…" opens its own screen: the display, its resolution and the rates on offer (its own mode, calculated tens, the HDMI 2.0 limit). The display's own faster mode is switched to right away; every other rate has a Try button (switch live, wait for the picture, then keep it within 15 s or it switches back) and a tick box. Install installs the ticked rates. All rates are loaded when the screen opens, so a try is only a mode switch.
- Unticking Steam Machine support or the kernel pin unticks it, as in the menu.
- fix(ui): The details panel scrolls instead of overflowing
- fix: Switching back to a rate like 59.97 Hz
hdmi_set_modecompared it as a whole number and printed an error.
1.2.0 - 2026-09-25
- feat: HDMI refresh boost (Steam Machine, pinned kernel)
- The pinned 7.1.6 kernel doesn't read the extra EDID block where monitors
list their fast modes, and does no HDMI 2.1, so HDMI displays often stay
at 60 Hz. The new menu item reads the display's EDID over DDC,
calculates the highest rate that fits HDMI 2.0 at the desktop resolution
(rounded down to ten, plus the hundred below as a safe option), tests
each step live with a confirmation, and makes the confirmed ones
permanent through
drm.edid_firmware(Limine, sdboot-manage or GRUB).
- The pinned 7.1.6 kernel doesn't read the extra EDID block where monitors
list their fast modes, and does no HDMI 2.1, so HDMI displays often stay
at 60 Hz. The new menu item reads the display's EDID over DDC,
calculates the highest rate that fits HDMI 2.0 at the desktop resolution
(rounded down to ten, plus the hundred below as a safe option), tests
each step live with a confirmation, and makes the confirmed ones
permanent through
- feat: HDMI refresh boost and Update BIOS under Steam Machine support
- Both are sub-options now, shown only while Steam Machine support is ticked. Unticking it unticks them; unticking the kernel pin unticks the HDMI refresh boost.
1.1.4 - 2026-09-25
- fix: No lock screen in single user mode before a restart
- The screen locker only read the new settings at the next login, so the PC still locked after 5 minutes idle until then. Turning single user mode on or off now tells it to reload them right away.
1.1.3 - 2026-09-25
- fix: HDMI-CEC settings shown in Steam
- CachyOS's gaming mode script sets
STEAM_ENABLE_CEC=0, which hides Steam's HDMI-CEC settings (and its CEC volume buttons). HDMI-CEC now adds a drop-in forsteam-launcher.servicethat overrides it withSTEAM_ENABLE_CEC=1(/etc/steamify/steam-cec.env). - HDMI-CEC set up by 1.1.0-1.1.2 shows as off and ticked, so a normal run (Enter) adds this.
- CachyOS's gaming mode script sets
1.1.2 - 2026-09-25
- fix: Steam's HDMI-CEC settings reach cecd on a first run
- HDMI-CEC runs before Steam Machine support, which installs
steamos-manager; so steamos-manager's
configure-cecdunit couldn't be enabled and cecd ran without Steam's settings. Steam Machine support now links them once steamos-manager is there.
- HDMI-CEC runs before Steam Machine support, which installs
steamos-manager; so steamos-manager's
1.1.1 - 2026-09-25
- perf: Pinned kernel before the LED driver
- With the kernel pin ticked, Steam Machine support installs kernel 7.1.6-1 first, so DKMS builds the LED driver once, for that kernel, instead of for the current kernel first and then again. The LED driver then loads after the restart, which it now says instead of warning.
- fix: steamos-manager starts after cecd
- It checks only at its start whether cecd runs; if it was first, Steam's
HDMI-CEC settings were missing until it restarted. A drop-in
(
/etc/systemd/user/steamos-manager.service.d/) orders it after cecd.
- It checks only at its start whether cecd runs; if it was first, Steam's
HDMI-CEC settings were missing until it restarted. A drop-in
(
1.1.0 - 2026-09-25
- feat: HDMI-CEC (experimental, on every PC; ticked by default only on a
Steam Machine)
- Valve's
cecd,cec-audio-controlandinputattach-cec-unitsfrom its SteamOS repository (SHA-256 checked): use Steam with the TV remote, and the TV turns on and off with the PC. On a Steam Machine, steamos-manager configures it from Steam's settings. - Works with any
/dev/cec*(GPU or USB adapter); the menu lists them. CEC.md: which PCs have CEC (NVIDIA doesn't, AMD/Intel only over some DisplayPort adapters), and USB adapters for your own build.- Restarts steamos-manager, which only offers Steam its HDMI-CEC settings when cecd was there at its start.
- The README no longer says Steam Machine support alone gives HDMI-CEC:
cecdwasn't installed, so it didn't.
- Valve's
1.0.0 - 2026-09-25
- feat: Pin the kernel to 7.1.6-1 on a Steam Machine
- New sub-option under Steam Machine support, ticked along with it (opt
out): newer CachyOS kernels make the Steam Machine reboot instead of
shutting down. Installs
linux-cachyosand-headers7.1.6-1 and adds them toIgnorePkg; unticking removes the pin and updates the system. - The packages are kept in
/var/cache/steamify/kerneland reinstalled from there without downloading; else from pacman's cache, the CachyOS archive, the CachyOS mirror, orPINNED_KERNEL_URL. - First download source: the
kernel-7.1.6-1release of this repo, a one-off release that always has these files. - Every file is checked against its SHA-256 (in the script) and its CachyOS signature before it's installed; a bad file is deleted.
- Installed kernel headers are no longer updated by the wizard, so the pinned kernel keeps matching headers.
- The BIOS item moves down one (9 on a Steam Machine).
- New sub-option under Steam Machine support, ticked along with it (opt
out): newer CachyOS kernels make the Steam Machine reboot instead of
shutting down. Installs
- docs: Shorter README, with a Steam Machine section
- How it works moved to
TECHNICAL.md, problems toTROUBLESHOOTING.md; the README links to them and to the files it mentions.
- How it works moved to
- feat: No more KDE wallet password prompts in single user mode
- Uses Valve's empty, password-less wallet, like SteamOS; apps such as Brave no longer ask for the wallet password after autologin.
- Your own wallet is moved to
kdewallet.kwl.bak-steamifyand comes back, unchanged, when single user mode is off; the single user wallet is kept and reused next time. - Moved from the SteamOS theme, where it only helped without any wallet.
- fix: No second sudo password prompt while installing yay
makepkg -siinstalls withsudo -k, which forgets the cached password; yay is now built with makepkg and installed withsudo pacman -U.
- docs: LICENSE.md with the MIT license the README already named.
- chore: No more
setup-gamescope-boot.shrelease asset- Only
steamify.shis published; the old name from before 0.9.0 is gone.
- Only
0.10.0 - 2026-09-24
0f503ddfeat: Boot into gamescope or the desktop- New menu row under the conversion, "Boot into: [gamescope] / desktop"; gamescope stays the default and is never changed on a first run.
- Desktop:
steamify-boot-desktop.servicesets the autologin session to Plasma at every boot, before the login manager starts; Return to Gaming Mode and Steam's Switch to Desktop keep working. Back to gamescope removes it. Choosing desktop turns the conversion on; turning the conversion off resets it to gamescope. - The later menu items move down one (BIOS is now 8 on a Steam Machine).
4895de3feat: "Boot into" is a sub-option of the conversion- Shown indented under the SteamOS conversion, and only while it's ticked.
bd90e29feat: Left/Right arrows choose on the "Boot into" row- Left = gamescope, right = desktop (Space still switches); the row says "←/→ choose" and the key help lists Left/Right.
- fix: Messages say which way it boots
- "This will: boot into: gamescope (from the next boot)" instead of "turn off: Boot into the desktop instead of gaming mode", and the same in the progress line and the "Done" overview.
0.9.1 - 2026-09-24 (#10)
2e107e5fix: LED driver for every kernel on a fresh install- The DKMS override was written to
/etc/dkmsbeforedkmswas installed, when that folder doesn't exist yet, so it silently failed and the build for other kernels (e.g. LTS) failed as in 0.6. The folder is created first now, and a failed write stops with an error.
- The DKMS override was written to
5ab83d6feat: Restart question on quit is "Restart now? [Y/n]"- When something needs a restart,
qasks with yes as the default;ngoes back to the menu and the nextqasks again. Ctrl+C quits without restarting; scripted input that runs out never restarts.
- When something needs a restart,
0.9.0 - 2026-09-24 (#9)
The wizard is now called Steamify CachyOS, and can put a shortcut to itself on the desktop.
f01aa93feat: Wizard shortcut on the desktop and in the launcher- New menu item: a desktop icon and app launcher entry
that open the newest release of the wizard in Konsole (
curl | bash). - Its icon: Valve's Return to Gaming Mode icon with a gear instead of the
arrow (
assets/steam-gaming-settings.svg), published with every release and downloaded from there. - Desktop files are written already executable, so Plasma runs them instead of opening them in an editor.
- New menu item: a desktop icon and app launcher entry
that open the newest release of the wizard in Konsole (
be874b8feat: Rename to Steamify CachyOS- Menu header, the shortcut ("Steamify CachyOS", menu item "Steamify shortcut"), release titles, README and AGENTS.md.
1c34a97chore: Repository renamed to steamify-cachyos- All URLs point to
github.com/theupriser/steamify-cachyos(the old ones redirect). The script keeps its name,setup-gamescope-boot.sh, so the old download URL keeps working; internal names such as~/.local/state/cachyos-gamescope-bootstay, so existing installs can still be turned off.
- All URLs point to
69a420bfeat: The script is now steamify.shsetup-gamescope-boot.shis renamed tosteamify.sh; releases publish the bundle under both names, so.../download/setup-gamescope-boot.shkeeps working. The Steamify shortcut runssteamify.sh.
b0553aedocs: Shorter README introafc05b0feat: The shortcut's window closes itself after a countdown- After the wizard ends, a 10-second countdown closes the Konsole window (Enter closes it right away); after an error it stays open until Enter.
- A failed download now counts as an error (
pipefail) instead of running an empty script.
0.8.0 - 2026-09-24 (#8)
An opt-in BIOS update for the Steam Machine, and a menu that comes back after every run.
2f9b2a5feat: Opt-in BIOS update for the Steam Machine- New menu item (Steam Machine only, never ticked by default) showing the
current BIOS version and the newest from Valve's
fremont-hw-support. - Two large warnings and two confirmations (y/N, then typing
UPDATE), checksum-verified download, installed with fwupd; the wizard then offers the restart that writes it, with a warning to keep the power on.
- New menu item (Steam Machine only, never ticked by default) showing the
current BIOS version and the newest from Valve's
40c9ee6fix: BIOS update only when newer, device check first, aligned warnings- The item is greyed out and can't be ticked unless Valve has a newer BIOS.
- Before any warning: SHA-256 of Valve's package, then fwupd confirms the firmware fits this machine's hardware; otherwise it stops.
- Warning box drawn with a solid red frame whose edges line up, and the menu's "Now" column aligned.
b70c9d6fix: shellcheck in the bundle, and the docs for the BIOS checks- A variable name in
lib/bios.shclashed withlib/state.shin the bundle (CI's shellcheck would fail); README, AGENTS.md and this changelog updated.
- A variable name in
54fc9e3feat: Menu comes back after each run, BIOS dry run, version 0.8.0- After a run the menu returns with the new state; quit with
q. When something needs a restart, choose between back to the menu (m) and restart now (r); quitting asks once more. - A staged BIOS update greys the item out until the restart.
WIZARD_BIOS_DRY_RUN=1walks through the whole BIOS update (download, checksum, both warnings) but only prints the install and never flashes.- README: the menu loop and the BIOS update step by step.
- After a run the menu returns with the new state; quit with
45a8757fix: BIOS dry run also walks through the restart choices- A dry run counts as staged, so
[m]/[r]and the restart question onqshow up; in dry-run mode restarting only prints what it would do.
- A dry run counts as staged, so
429e840fix: Shorter BIOS labels so the menu fits 80 columns- "now F7F0107, newest F7F0108 (own risk)", "F7F0108 waits for a restart", "F7F0107 is up to date"; shorter dry-run line.
99a95abfix: Kernel legend only mentions the LEDs on a Steam Machinec0014eedocs: Last commit hash in the changelog; 0.7.0 was released on its own (#6, #7)
0.7.0 - 2026-09-24 (#6, #7)
The SteamOS theme comes from CachyOS's cachyos-vapor package, applied with
Vapor's own desktop layout, and gains the SteamOS desktop extras. The Steam
Machine LED driver works on every installed kernel and survives kernel updates.
978f5a1feat: SteamOS theme from cachyos-vapor with its desktop layout, plus SteamOS desktop extras- Installs
cachyos-vaporinstead of extracting Valve'ssteamdeck-kde-presetsinto~/.local/share; removes it on disable if the wizard installed it. - Applies the Vapor global theme with "Desktop and window layout": Steam Deck wallpaper, SteamOS panel and launcher icon. Layout files are backed up and restored; every key from Vapor's defaults goes through the undo journal.
- Restores the real previous color scheme on disable (CachyOS's BreezeDark colors have no scheme name), instead of falling back to light Breeze.
- Registers Vapor as the dark theme, so Plasma's Dark Mode toggle shows on.
- Drops the extra SteamOS desktop defaults (GTK, Konsole, gsettings, panel tweaks).
- New SteamOS desktop extras, downloaded from Valve's newest
steamdeck-kde-presets(checksum verified) into/usr/local: Add to Steam, Nested Desktop, the SteamOS Return to Gaming Mode icon, the Steam Keyboard window rule and an empty KWallet (only when there is no wallet yet). - Single user mode's launcher settings are re-applied after the layout reset.
- Installs
7802d90fix: LED driver for every kernel, kernel headers at boot, console power button, kernel overview- DKMS override (
/etc/dkms/leds-valve-dkms.conf) so the LED driver builds for every installed kernel (the LTS kernel failed) and on kernel updates. ensure-kernel-headers.serviceinstalls missing kernel headers at boot, so a newly added kernel gets the LED driver too.- Power button sleeps and no automatic suspend on mains power (Steam Machine).
- Menu shows every kernel with its headers, Steam controller driver and LED driver, plus whether the LEDs are loaded.
- The selected menu row is highlighted in full.
- DKMS override (
10b5164docs: Version 0.7.0 and CHANGELOGVERSIONin the entry point, shown in the menu header and the bundle.- README and AGENTS.md updated for the theme, the extras and the LED driver.
eb3169eci: Version and changelog in the release notes- The
latestrelease's title shows the version, and its notes include this version's section ofCHANGELOG.md. - Fix a shellcheck warning in the bundle (a variable name shared with
lib/state.sh), which would have failed the CI check.
- The
d7231ebchore: Move the bundle tool to .github/tools/bundle.sh5c00504docs: Commit hashes in the changelog8aab946ci: A release per version (tag v0.7.0, ...) instead of overwriting "latest"- Each push to
mainpublishes releasev$VERSIONwith that version's changelog; an already released version is never overwritten (pull requests get a warning whenVERSIONwasn't bumped). - Install with
.../releases/latest/download/setup-gamescope-boot.sh, which always points to the newest release.
- Each push to
1604ed1docs: Versioning and release rules in AGENTS.md6afef78ci: The latest tag follows the newest version tag- When a new version is released, the
latesttag and release move to it (bundle replaced), so the older.../releases/download/latest/...URL also always gives the newest version.
- When a new version is released, the
0.6.2 - 2026-09-23
a501df2Update steam-machine.sh: install and enableinputplumbernext tosteamos-manager.
0.6.1 - 2026-09-23 (#5)
c0bd16efix: Use curl | bash in the docs:bash <(...)doesn't work in fish.
0.6.0 - 2026-09-23 (#4)
d654d44fix: Single-file build for curl, published by GitHub Actions:tools/bundle.shinlineslib/*.sh; CI publishes it to thelatestrelease.
0.5.0 - 2026-09-23 (#3)
b91fa4bfix: Replace the question flow with a menu that turns components on and off3d7f376fix: Interactive checkbox menu: arrow keys to move, Space to select, Enter to run.
0.4.0 - 2026-09-23 (#2)
a0bc385fix: Add single user no password option with SDDM, fetch newest Vapor presets
0.3.0 - 2026-09-23 (#1)
4ad6c2cfix: Fix setup bugs, add SteamOS desktop look and LED driver, split into modules
0.2.0 - 2026-09-07
151a3bfadd steam keyboard to desktop1999b6eAutomatically change theme
0.1.0 - 2026-09-06
First version of the script.
16a7739,97ee6f3,6be1051commit the scripte1aee45,25bc8c0change return to gaming mode logo to original logo