Commit Graph
55 Commits
Author SHA1 Message Date
theupriser 321bf9bfcb feat: Power-off fix as its own sub-option, drop the kernel pin, feature versions
The power-off fix becomes an opt-out sub-option of Steam Machine
support. The kernel pin is no longer offered: an existing pin (and HDMI
refresh boost, which needs it) is unticked so a normal run removes it.
Components record a feature version on each successful run; installs
with an older version are ticked and updated, and new default
sub-options are ticked where their parent is on.
2026-09-27 12:20:56 +02:00
theupriser 443dbcdfb8 feat: Power-off fix for the Steam Machine; the kernel pin is optional
Kernels >= 7.2 keep the firmware's S4/S5 wake bit on GPIO pin 18, so the
Steam Machine starts again right after powering off. Steam Machine
support now builds a DKMS module (patches/steamify-fremont-poweroff.c)
that clears it before power-off, for every kernel. The kernel pin is no
longer ticked by default. Module sources and patches move to patches/,
embedded by the single-file build.
2026-09-27 12:13:23 +02:00
theupriser 617f5aa613 feat: HDMI refresh boost per display, with a Saved displays screen
Rates are saved per display (EDID ID) and loaded by the hotplug script
for whichever display is connected. The item is on only while the
connected display is boosted; unticking removes just that one. The app
lists the saved displays and removes any of them (hdmi-forget).
2026-09-26 16:13:45 +02:00
theupriser 8840e24d1a feat: HDMI refresh boost only for the display it was set up for
The EDID override moves off the kernel command line to a hotplug script
(boot unit + udev rule) that loads it only while the display it was
tested on is connected, identified over DDC; other displays get their
own EDID.
2026-09-26 16:04:02 +02:00
theupriser eb8d06879d fix: HDMI-CEC on the Steam Machine 2026-09-26 11:29:34 +02:00
theupriser 66213f55de feat: The Steamify shortcut opens the app
Steamify CachyOS on the desktop and in the launcher starts the newest app
(in Konsole the first time, while 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 (same id) alone.
2026-09-25 21:32:24 +02:00
theupriser 5efe448a51 feat(ui): HDMI refresh boost in the app
Set up… opens a screen with the display, its resolution and the rates on
offer. The display's own faster mode is switched to right away; the other
rates can each be tried live (wait for the picture, keep within 15 s or it
switches back) and ticked; Install installs the ticked ones through
apply --hdmi. All rates are loaded when the screen opens, so a try is only a
mode switch. Also fixes switching back to a rate like 59.97 Hz.
2026-09-25 21:21:13 +02:00
theupriser e9cd578c9b feat(ui): HDMI refresh boost in the app, off only
The app gets its texts and the same rules as the menu: unticking Steam
Machine support or the kernel pin unticks it. It can't be turned on from
the app, as each step needs someone at the keyboard to confirm the picture.
2026-09-25 20:39:00 +02:00
theupriser 3974481e9e feat: HDMI refresh boost and Update BIOS under Steam Machine support
Both are sub-options of Steam Machine support now, shown only while it is
ticked. Unticking it unticks them; unticking the kernel pin unticks the
HDMI refresh boost, which only works with the pinned kernel.
2026-09-25 20:37:56 +02:00
theupriser f28e880c04 feat: HDMI refresh boost (Steam Machine, pinned kernel)
The pinned 7.1.6 kernel doesn't read the extra EDID block (HDMI Forum
EEODB) 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).
2026-09-25 20:32:46 +02:00
theupriser 57ec2726cb fix: Quote the backend's done event for shellcheck 2026-09-25 16:00:12 +02:00
theupriser 23a171c937 feat: BIOS update in the app, with both warnings
bios_enable split into bios_prepare (download, checksum, fwupd check) and
bios_flash; the terminal flow is unchanged. The app: check, warning 1,
warning 2 (type UPDATE, or hold A/OK for 5 seconds), flash, restart.
2026-09-25 15:53:30 +02:00
theupriser 387991dff3 feat: Steamify app (v2 UI), first working version
ui/steamify-ui (PySide6 + QML): menu, review, password, applying and done
screens from the design, scaled to the window. Controller via evdev,
keyboard, TV remote (cecd). steamify.sh --backend status|apply (lib/backend.sh)
drives the same components; sudo asks through an askpass helper.
2026-09-25 15:46:02 +02:00
theupriser 9802beb8d8 fix: No lock screen in single user mode before a restart
The screen locker only read kscreenlockerrc at the next login, so the PC
still locked after idling until then. Reload it over D-Bus.
2026-09-25 14:01:00 +02:00
theupriser 3f5c8b28b0 chore: Version 1.1.3 2026-09-25 13:17:02 +02:00
theupriser 17be6bdb18 fix: Repair HDMI-CEC set up by 1.1.0/1.1.1
It only counts as on with the steam-launcher drop-in; installed without it,
the menu ticks it, so a normal run adds it.
2026-09-25 13:16:48 +02:00
theupriser d211e09795 fix: Show the HDMI-CEC settings in Steam
CachyOS's gaming mode script sets STEAM_ENABLE_CEC=0. A drop-in for
steam-launcher.service overrides it with a later EnvironmentFile=.
2026-09-25 13:16:48 +02:00
theupriser fac9277206 fix: Steam's HDMI-CEC settings reach cecd on a first run
HDMI-CEC runs before Steam Machine support, which installs steamos-manager,
so its configure-cecd unit couldn't be enabled. Link them from Steam Machine
support too.
2026-09-25 11:13:53 +02:00
theupriser 2aa5751ec0 fix: No LED warnings when the kernel pin just replaced the running kernel 2026-09-25 10:08:06 +02:00
theupriser 58f156c6ae perf: Pinned kernel before the LED driver; steamos-manager after cecd
With the kernel pin ticked, install 7.1.6-1 before the LED driver, so DKMS
builds it once. steamos-manager checks for cecd only at its start: order it
after cecd.
2026-09-25 10:04:18 +02:00
theupriser 8eaf3353f5 feat: HDMI-CEC ticked by default on a Steam Machine 2026-09-25 09:18:28 +02:00
theupriser d9d4f3e3f8 fix: Restart steamos-manager after HDMI-CEC changes
It only offers Steam its HDMI-CEC settings when cecd was there at its start.
2026-09-25 09:17:05 +02:00
theupriser 72a18232a5 feat: HDMI-CEC with Valve's cecd, on any PC
Opt-in menu item: cecd, cec-audio-control and inputattach-cec-units from
Valve's holo repository (SHA-256 checked). Works with any /dev/cec*.
2026-09-25 09:11:44 +02:00
theupriser d3496bbd02 fix: No second sudo password prompt while installing yay
makepkg -si installs with sudo -k, which forgets the cached password.
Build with makepkg, install with sudo pacman -U.
2026-09-25 08:35:54 +02:00
theupriser ebfffe81e7 feat: No more KDE wallet password prompts in single user mode
Valve's empty, password-less wallet, like SteamOS. The user's wallet is
moved aside and restored when single user mode is off; the single user
wallet is kept and reused next time.
2026-09-25 08:27:50 +02:00
theupriser 66286744df feat: Kernel files from our own release, checked before install
The kernel-7.1.6-1 release is the first download source. Every file must
match the SHA-256 in the script and have a valid CachyOS signature.
2026-09-25 08:08:28 +02:00
theupriser e50cc6fc92 feat: Pin the kernel to 7.1.6-1 on a Steam Machine
Sub-option of Steam Machine support, ticked along with it: newer CachyOS
kernels make the Steam Machine reboot instead of shutting down. Packages
are kept in /var/cache/steamify/kernel and reinstalled from there; else
pacman's cache, the CachyOS archive or mirror, or PINNED_KERNEL_URL.
2026-09-25 07:58:02 +02:00
theupriser 8975346019 Enhance kernel installation and header management
Updated kernel installation process to include header symlink setup and improved logging messages.
2026-09-24 22:01:54 +02:00
theupriser b81e30babf Implement kernel installation and locking function
Adds a function to install and pin a specific CachyOS kernel with verification and locking.
2026-09-24 21:39:15 +02:00
theupriser c862da789f fix: Messages say which way it boots
"boot into: gamescope (from the next boot)" instead of "turn off: Boot into the desktop instead of gaming mode"; also in the progress line and the Done overview.
2026-09-24 13:30:56 +02:00
theupriser 942de7f615 feat: 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.
2026-09-24 13:28:14 +02:00
theupriser 438e6aeacd feat: "Boot into" is a sub-option of the conversion
Shown indented under the SteamOS conversion, and only while it's ticked.
2026-09-24 13:27:02 +02:00
theupriser bee06251c1 feat: Boot into gamescope or the desktop
- Menu row "Boot into: [gamescope] / desktop" under the conversion; gamescope is the default.
- Desktop: steamify-boot-desktop.service sets the autologin session to Plasma at every boot, before the login manager; switching back and forth keeps working.
- VERSION 0.10.0.
2026-09-24 13:24:52 +02:00
theupriser 176f27b44f fix: LED driver for every kernel on a fresh install
The DKMS override was written to /etc/dkms before dkms was installed, when that folder doesn't exist yet: the write failed silently and other kernels (e.g. LTS) built against the running one and failed. Create the folder first and stop on a failed write. VERSION 0.9.1.
2026-09-24 12:55:38 +02:00
theupriser af9638ec06 feat: The shortcut's window closes itself after a countdown
- 10-second countdown after the wizard ends (Enter closes right away); after an error it waits for Enter.
- pipefail, so a failed download counts as an error.
2026-09-24 12:40:48 +02:00
theupriser 00b863fc9e feat: The script is now steamify.sh
- setup-gamescope-boot.sh renamed to steamify.sh; all references updated.
- Releases publish the bundle as steamify.sh and, for older install commands, setup-gamescope-boot.sh.
- The Steamify shortcut runs steamify.sh.
2026-09-24 12:33:43 +02:00
theupriser f3955c438c chore: Repository renamed to steamify-cachyos
All URLs point to github.com/theupriser/steamify-cachyos (the old ones redirect). The script and internal names (state dir, shortcut files) keep their names so old download URLs and existing installs keep working.
2026-09-24 12:27:45 +02:00
theupriser 0b4a1555b7 feat: Rename to Steamify CachyOS
Menu header, shortcut, release titles, README and AGENTS.md. Repository, script and URLs keep the name cachyos-gamescope-boot.
2026-09-24 12:24:50 +02:00
theupriser 0607be86ac feat: Wizard shortcut on the desktop and in the launcher
- Menu item: desktop icon + launcher entry that run the newest release in Konsole.
- Icon: Valve's return icon with a gear (assets/steam-gaming-settings.svg), published with each release.
- Desktop files are written already executable, so Plasma runs them.
- VERSION 0.9.0.
2026-09-24 11:46:25 +02:00
theupriser 207c62e12f fix: Kernel legend only mentions the LEDs on a Steam Machine 2026-09-24 10:54:33 +02:00
theupriser 0c50170a37 fix: Shorter BIOS labels so the menu fits 80 columns 2026-09-24 10:51:53 +02:00
theupriser 0cb9f8b9ca fix: BIOS dry run also walks through the restart choices
A dry run counts as staged, so [m]/[r] and the restart question on q show up; restarting only prints in dry-run mode.
2026-09-24 10:48:39 +02:00
theupriser 2e6d20a3f0 feat: Menu comes back after each run, BIOS dry run, version 0.8.0
- After a run the menu returns; [m] back to the menu or [r] restart now when a restart is needed; q quits.
- A staged BIOS update greys the item out until the restart.
- WIZARD_BIOS_DRY_RUN=1: whole BIOS flow without the device check, never flashes.
- VERSION 0.8.0; CHANGELOG: BIOS work moved to 0.8.0; README: BIOS update step by step.
2026-09-24 10:40:16 +02:00
theupriser 68981821a3 fix: shellcheck in the bundle, and the docs for the BIOS checks
- Rename a variable in lib/bios.sh that clashed with lib/state.sh's array in the bundle.
- README, AGENTS.md and CHANGELOG.md for the greyed-out item, the device check and the aligned warning box.
2026-09-24 10:30:24 +02:00
theupriser fe20a7d871 fix: BIOS update only when newer, device check first, aligned warnings
- Greyed out and not tickable unless Valve has a newer BIOS (component_selectable).
- Download, SHA-256 and a fwupd device check (get-details) before the warnings.
- Warning box with a solid block frame (a coloured row of # renders narrower in Konsole); menu Now column aligned.
2026-09-24 10:29:46 +02:00
theupriser 176bd52957 feat: Opt-in BIOS update for the Steam Machine
- Menu item (Fremont only, never preselected) with the current and newest BIOS version.
- Two warnings and two confirmations (y/N, then typing UPDATE); checksum-verified download
  of Valve's fremont-hw-support; installed with fwupd, written at the next restart.
- Menu actions: one-off items that are never preselected, re-applied or listed as on/off.
2026-09-24 10:22:15 +02:00
theupriser 9d27239d00 ci: Version and changelog in the release notes
- Release title shows VERSION; notes include that version's CHANGELOG.md section.
- Rename a variable in steamos-extras.sh that shellcheck confused with lib/state.sh's array in the bundle.
2026-09-24 10:02:30 +02:00
theupriser 259a72068a docs: Version 0.7.0 and CHANGELOG
- VERSION in the entry point, shown in the menu header and the bundle.
- CHANGELOG.md with every commit per version (older versions numbered per merged PR).
- README and AGENTS.md updated for the cachyos-vapor theme, the SteamOS extras and the LED driver.
2026-09-24 10:01:08 +02:00
theupriser c797bff322 fix: LED driver for every kernel, kernel headers at boot, console power button, kernel overview
- The leds-valve Makefile builds against uname -r, so every other kernel
  (e.g. linux-cachyos-lts) failed: add /etc/dkms/leds-valve-dkms.conf with
  MAKE[0]="make KVERSION=${kernelver}". DKMS now builds it for every
  installed kernel and rebuilds it on kernel updates.
- ensure-kernel-headers.service installs missing -headers for newly added
  kernels at boot, which makes DKMS build the driver for them.
- Console-like power handling on mains power: power button sleeps, no
  automatic suspend (journaled powerdevilrc).
- Menu: overview per installed kernel (headers, Steam controller driver,
  LED driver built, running kernel) and whether the LEDs are loaded.
- Menu: the selected row's highlight no longer stops after the green x.
- Theme label in the menu: "Vapor look (cachyos-vapor)".
2026-09-24 10:00:32 +02:00
theupriser 130998345a feat: SteamOS theme from cachyos-vapor with its desktop layout, plus SteamOS desktop extras
- Install CachyOS's cachyos-vapor package instead of extracting Valve's
  steamdeck-kde-presets into ~/.local/share, and remove it again on disable
  if the wizard installed it.
- Apply the Vapor global theme with "Desktop and window layout"
  (lookandfeeltool --resetLayout): 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.
- Restore the real previous color scheme (CachyOS's inline BreezeDark colors
  have no scheme name), and clear ColorScheme before plasma-apply-colorscheme,
  which otherwise skips an already named scheme.
- Register Vapor as the dark theme, so Plasma's Dark Mode toggle shows on.
- Drop the SteamOS desktop defaults (GTK, Konsole, gsettings, panel tweaks).
- New lib/steamos-extras.sh, downloaded from Valve's newest
  steamdeck-kde-presets (checksum verified) into /usr/local: Add to Steam,
  Nested Desktop, the gaming-return icon for Return to Gaming Mode, the
  Steam Keyboard window rule and an empty KWallet (only without a wallet).
- single_launcher: re-apply single user's launcher settings after the
  layout reset replaces the launcher.
2026-09-24 10:00:32 +02:00