Commit Graph
100 Commits
Author SHA1 Message Date
theupriser dc1abd912b fix(ui): Never write the sudo password to a file; Update label on the progress screen
The askpass helper reads the password from a named pipe that the app
feeds from memory each time sudo asks, instead of from a file.
2026-09-27 12:33:47 +02:00
theupriser 40a121f4d1 feat: Update badge on components that get a newer version 2026-09-27 12:31:29 +02:00
theupriser 2fa347be73 feat: Feature versions are Steamify versions; Steam Machine support is 2.2.0 2026-09-27 12:27:55 +02:00
theupriser 38642dc6db fix: Remove whatever is left of HDMI refresh boost, pin or no pin 2026-09-27 12:27:08 +02:00
theupriser 997cd0744d docs: Drop the kernel pin and HDMI refresh boost descriptions 2026-09-27 12:25:08 +02:00
theupriser 28555175bb docs: Power-off fix texts cover every affected kernel, not just 7.2 2026-09-27 12:23:54 +02:00
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 b2c4a0a00a Merge pull request #24 from theupriser/feat/hdmi-per-display
Feat/hdmi per display
2026-09-26 16:49:56 +02:00
theupriser a4781d4e39 feat(ui): Manage button for HDMI refresh boost
The item's switch becomes a Set up / Manage button. Manage lists the
saved displays, removes one with its Remove button, and sets up the
connected display when it has no saved rates.
2026-09-26 16:48:21 +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 2149adf995 Merge pull request #23 from theupriser/fix/fremont-cec
fix: HDMI-CEC on the Steam Machine
2026-09-26 11:30:29 +02:00
theupriser eb8d06879d fix: HDMI-CEC on the Steam Machine 2026-09-26 11:29:34 +02:00
theupriser 5d03b2a214 Merge pull request #22 from theupriser/docs/disclaimer
docs: Non-affiliation disclaimer in the README
2026-09-26 10:54:06 +02:00
theupriser 02872423ac docs: Non-affiliation disclaimer in the README 2026-09-26 10:53:42 +02:00
theupriser 69e184c303 Merge pull request #21 from theupriser/feat/app-shortcut
feat: The Steamify shortcut opens the app
2026-09-25 21:33:14 +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 4c3186109f Merge pull request #20 from theupriser/feat/v2-ui
Feat/v2 UI
2026-09-25 21:24:11 +02:00
theupriser 441a931540 Merge remote-tracking branch 'origin/main' into feat/v2-ui
# Conflicts:
#	AGENTS.md
#	CHANGELOG.md
#	lib/hdmi-refresh.sh
#	steamify.sh
2026-09-25 21:21:31 +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 881330c3a6 fix(ui): The details panel scrolls instead of overflowing
Long texts (e.g. HDMI refresh boost) ran out of the card. The details are
in a Flickable now, which starts at the top for each item.
2026-09-25 20:42:08 +02:00
theupriser fe6798d951 chore: Version 2.0.0 for the v2 app 2026-09-25 20:39:57 +02:00
theupriser 17cbb6ed1c Merge pull request #19 from theupriser/feat/hdmi-refresh-boost
Feat/hdmi refresh boost
2026-09-25 20:39: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 bb07d4a5d1 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:47 +02:00
theupriser 4dffcef60f 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:33:46 +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 b9999182d5 feat: Preview builds of feat/v2-ui; the app stretches to the window
Pushes to feat/v2-ui publish the pre-release v2-ui-preview (never latest);
its steamify-app.sh downloads that build (STEAMIFY_RELEASE). The app's
1280x720 layout now stretches to the window's shape, so the bars reach the
edges; re-apply resets when back on the menu.
2026-09-25 16:04:59 +02:00
theupriser 7060a6dae1 fix(ui): Review and progress lists scroll; progress follows the running step 2026-09-25 16:02:19 +02:00
theupriser 57ec2726cb fix: Quote the backend's done event for shellcheck 2026-09-25 16:00:12 +02:00
theupriser ad3e7ac80e feat: GitHub builds the app; run it with curl
steamify-app.tar.gz (ui/, steamify.sh, lib/, icon) and its launcher
steamify-app.sh in every release: it installs to ~/.local/share/steamify/app,
installs PySide6 if needed, adds a launcher entry and starts the app.
STEAMIFY_BRANCH=<branch> runs a branch before it's released.
2026-09-25 15:59:47 +02:00
theupriser fdb49f2503 fix(ui): Applying got stuck: the ticked items came in as a JS value
Convert QML's array; if starting fails anyway, show the done screen with
the reason instead of staying on the progress screen.
2026-09-25 15:56:41 +02:00
theupriser 0c99ba325d feat(ui): BIOS check runs invisibly, then the warnings, then the progress bar 2026-09-25 15:55:15 +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 232b51e379 fix(ui): Controls aligned on the right, sub-items fold instead of the list jumping 2026-09-25 15:48:38 +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 224aede84b Merge pull request #18 from theupriser/fix/no-lock-before-restart
fix: No lock screen in single user mode before a restart
2026-09-25 14:10:52 +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 b13466ada8 Merge pull request #16 from theupriser/fix/cec-steam-ui
Fix/cec steam UI
2026-09-25 13:18:52 +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 6c2a1bef55 Merge pull request #15 from theupriser/fix/cec-steam-settings
fix: Steam's HDMI-CEC settings reach cecd on a first run
2026-09-25 12:19:54 +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 eb5a088f03 Merge pull request #14 from theupriser/perf/pin-kernel-first
Perf/pin kernel first
2026-09-25 10:09:27 +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 7ad20956a3 Merge pull request #13 from theupriser/feat/hdmi-cec
Feat/hdmi cec
2026-09-25 09:53:29 +02:00
theupriser 7ab275d82b docs: README's Steam Machine part lists its features, HDMI-CEC included 2026-09-25 09:50:55 +02:00
theupriser 31e438673b docs: CEC.md, which PCs have HDMI-CEC and how to add it 2026-09-25 09:47:22 +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 ebbc70b213 chore: Version 1.0.0 2026-09-25 08:44:49 +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 3e3ededc62 docs: Add LICENSE.md (MIT) 2026-09-25 08:22:11 +02:00
theupriser e68776b454 docs: README links to the files it mentions; drop setup-gamescope-boot.sh
The release no longer publishes the bundle under its pre-0.9.0 name.
2026-09-25 08:18:40 +02:00
theupriser d296f20cac docs: Shorter README, with a Steam Machine section
How it works moved to TECHNICAL.md, problems to TROUBLESHOOTING.md.
2026-09-25 08:17:07 +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 0a17f2a336 Merge pull request #11 from theupriser/feat/boot-into-desktop
Feat/boot into desktop
2026-09-24 13:35:24 +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 40dfaee0b5 Merge pull request #10 from theupriser/bugfix/dkms-for-leds
Bugfix/dkms for leds
2026-09-24 12:57:33 +02:00
theupriser cda7dbe49f feat: Restart question on quit is "Restart now? [Y/n]"
When a restart is needed, q asks with yes as the default; n goes back to the menu and the next q asks again. Ctrl+C quits without restarting; scripted input that runs out never restarts.
2026-09-24 12:55:51 +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 102cc97893 Merge pull request #9 from theupriser/fix/use-cachyos-vapor
Fix/use cachyos vapor
2026-09-24 12:41:23 +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 38c7c98eed docs: Shorter README intro 2026-09-24 12:34:43 +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 528f46a35e Merge pull request #8 from theupriser/fix/use-cachyos-vapor
Fix/use cachyos vapor
2026-09-24 10:57:03 +02:00
theupriser c82af166e4 fix: Merge remote-tracking branch 'origin/main' into fix/use-cachyos-vapor 2026-09-24 10:55:55 +02:00
theupriser 69ac9d3b7b docs: 0.7.0 was released on its own (#6, #7) 2026-09-24 10:55:55 +02:00
theupriser 7382ca6be3 docs: Last commit hash in the changelog 2026-09-24 10:55:27 +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 eacc6368db Merge pull request #7 from theupriser/fix/use-cachyos-vapor
Fix/use cachyos vapor
2026-09-24 10:11:31 +02:00
theupriser b306a72255 ci: The latest tag follows the newest version tag
When v$VERSION is released, move the latest tag and release to it and replace its bundle, so the older install URL keeps giving the newest version.
2026-09-24 10:09:26 +02:00
theupriser b2858d3d60 docs: Versioning and release rules in AGENTS.md 2026-09-24 10:08:22 +02:00
theupriser 04891ee2cd ci: A release per version (tag v0.7.0, ...) instead of overwriting "latest"
- Publish release v$VERSION with its CHANGELOG.md section; never overwrite an existing version.
- Pull requests warn when VERSION is already released.
- Install URL: releases/latest/download/setup-gamescope-boot.sh (newest release).
2026-09-24 10:07:56 +02:00
theupriser b0563e0b30 Merge pull request #6 from theupriser/fix/use-cachyos-vapor
Fix/use cachyos vapor
2026-09-24 10:06:21 +02:00
theupriser b469324fbd docs: Commit hashes in the changelog 2026-09-24 10:04:55 +02:00
theupriser 2d80e16e6f chore: Move the bundle tool to .github/tools/bundle.sh
Update its repo-root path and all references (workflow, README, AGENTS.md).
2026-09-24 10:04:29 +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