NOTE:
# = Root Terminal (you had to type sudo su, or just su to get here)
$ = User Terminal (requires sudo for root permissions)
When given the instructions to use the vim command you could substitute that with the nano command. nano can be simpler to use when editing files and commands to save and escape are simpler with ^X meaning Ctrl+X
Default user:pass is gamer:gamer
Download latest ChimeraOS ISO, put on ventoy flash drive
Boot up to live linux system and use ChimeraOS installer.
Once installed, ChimeraOS is a filesystem locked distro, meaning anything outside of /home
is Read-Only be default.
To make any edits or modifications to the OS that live outside of /home
you MUST unlock the filesystem. Edits outside of /home
, and outside of /etc
, will be lost upon upgrade/update as Chimera will rewrite the new image to the locked filesystems. Chimera updates about once a month.
To unlock the filesystem for edits (Only if you wish to do something unsupported) a command is required:
$ sudo frzr-unlock
From this point forward, we'll refer to “unlocking the filesystem” as a “FS Unlock”.
Some tweaks may require an update to the unstable or testing branch of ChimeraOS. The audio fix in these instructions require pipewire.
You can jump over to the unstable/testing branch using the following command:
$ sudo frzr-deploy chimeraos/chimeraos:unstable
After completion, you'll want to reboot and you'll be using the latest packages for the latest ChimeraOS image. Be warned. Unstable branch could result in a testing package that causes issues. If this bothers you, feel free to wait until the update. You could also revert to stable once the required fixes/updates are marked “stable”.
$ sudo frzr-deploy chimeraos/chimeraos:stable
Press CTRL+ALT+F2
to enter TTY2
Login using the username gamer
and password gamer
Now run the following command to get a list of options:
$ chimera-session
* desktop
desktop-xorg
gamepadui
opengamepadui
gamepadui-with-qam
These options all have different purposes
Then you can choose the session you prefer like
$ chimera-session steam-plus
This setting is “sticky” meaning after power off and/or reboot. You'll continue to use the gamepadui. If using desktop mode, reboot will take you back to desktop mode.
To return to Steam's GamepadUI from desktop mode:
Touch Activities
in the top left.
A bottom bar will appear, touch the grid of dots
for the app grid.
Then touch the Game Mode
icon and you'll exit the desktop back into GamepadUI (not with qam).
Device Quirks scripts are now built into ChimeraOS and have frzr support! This means quirks are automatically applied after every update!
The new installer should automatically apply software tweaks as needed, but just in case you need to manually launch the script to check our device and apply the proper tweaks automagically, this is how you would do it:
$ sudo frzr-tweaks
If you want to see the merged A1 and A1Pro scripts, you can find them here.
If you have need for firmware overrides, the new installer should have “Advanced Options” in the installer menu. You should enable firmware overrides there. Firmware overrides can override ACPI, DSDT, and EDID data if you device has such overrides documented and added to the device-quirks scripts. If this is an older install and you've updated to the latest Chimera OS release, you can enable overrides via config.
$ sudo nano /etc/device-quirks/device-quirks.conf
Now you'll edit the file and set USE_FIRMWARE_OVERRIDES=1
and press CTRL+S
(save) and CTRL+X
(exit).
$ sudo kernel-options-manager --append video=eDP-1:panel_orientation=left_side_up
kernel-options-manager is a script added as part of the device-quirks package. You shouldn't expect this to exist on other distros.
Wrong sound card is chosen by default? go into Settings > Audio, change the default output and input devices. If you're having hissing or white noise issues, continue further.
The sound card is known to have issues with the system automatically choosing the wrong audio format and rate. It works for a little while until you get a white noise static sound upon failure. We want “S16LE” format and “96khz” rate.
Arch and HoloISO can be a bit confusing because you're not configuring ALSA (Advanced Linux Sound Architecture), or PulseAudio (Audio Server and manager), or Pipewire (PulseAudio compatible replacement), but you're configuring WirePlumber that automatically configures Pipewire/PulseAudio and ALSA.
First we need to copy the Global Default files to the /etc directory. Since its no longer wiped during upgrades, this will allow our changes to survive upgrades and protect us if we mess up. Then we can edit the copy thats in the higher priority location.
$ sudo su
# cp -a /usr/share/wireplumber /etc/
# vim /etc/wireplumber/main.lua.d/50-alsa-config.lua
From here you'll scroll down to Line 137
and start making edits. You'll want to remove the double hyphen which is “commenting out” the line and edit them to look like this:
--["audio.channels"] = 2,
["audio.format"] = “S16LE”,
["audio.rate"] = 96000,
--["audio.allowed-rates"] = “32000,96000”,
If this doesn't fix your audio problem, there could be a kernel regression and jumping to Unstable or from Unstable to Stable branch could resolve your issue.
WARNING!! This tool is known to cause instability, lockups, hangs, long shutdowns and long boots! It is not recommended unless you know what you're doing
$ curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/main/dist/install_release.sh | sh
This will enable the use of the Fantastic
plugin in conjunction with the oxp-platform driver to create your own fan curves.
You could also add the ProtonDB Badges
plugin for better compatibility data of games.
WARNING!! This tool is known to cause instability due to not being updated to work with the latest version of Steam! It is not recommended unless you're a DEV or Contributor!
$ flatpak install --user space.crankshaft.Crankshaft
This will enable you to add plugins such as HandyPT
to control TDP, SMT, and more.
You could also add the ProtonDB Indicator
plugin for better compatibility data of games.
Adds to the A1/A1Pro: 40,48,50, and default 60hz. A1 and A1 Pro use the same screen, BUT the A1 Pro screen is better color calibrated.
Download the modified EDID binary for the screen and open a terminal.
We need to move the binary to the edid firmware folder.
$ sudo mkdir /lib/firmware/edid
$ sudo mv ~/Downloads/aokzoea1ar07_edid.bin /lib/firmware/edid/
Now that we have the modified EDID in the firmware folder we need to inject it into the initramfs so it can be read upon boot.
$ sudo vim /etc/mkinitcpio.conf
You'll need to edit the FILES line to include the EDID binary. It should look like this:
# vim:set ft=sh
MODULES=(dm_mod ext4 sha256 sha512 overlay)
BINARIES=()
FILES=(/lib/firmware/edid/aokzoea1ar07_edid.bin)
HOOKS=(base udev modconf block keyboard keymap filesystems fsck frzr-etc)
Now we have to update the initramfs to include the binary file, but to do that lets move some files around, perform the action, then put them back since they aren't in the typical location.
$ sudo su
# cp /boot/chimeraos-*/* /boot
# mkinitcpio -P
# cp -a /boot/initramfs-linux.img /boot/chimeraos-*/
OK, we've rebuilt and replaced the old initramfs. Now lets clean up our unneeded files in /boot.
# rm /boot/initramfs*
# rm /boot/vmlinuz-linux
Now our that our /boot is clean we need to update the syslinux.conf to force the EDID to load.
# vim /boot/loader/entries/frzr.conf
Now add the drm.edid_firmware=eDP-1:edid/aokzoea1ar07_edid.bin
so that the append
line looks similar to this:
options root=LABEL=frzr_root rw rootflags=subvol=deployments/chimeraos-422d7a34f quiet splash loglevel=3 rd.systemd.showstatus=auto rd.udev.logpriority=3 ibt=off split_lock_detect=off iomem=relaxed fbcon=rotate:3 drm.edid_firmware=eDP-1:edid/aokzoea1ar07_edid.bin
And reboot! Your A1 screen should now work properly at 60hz, 50hz, 48hz, and 40hz. Other refresh rates will likely have issues.
You don't. Chimera is a frozen system using systemd-boot. Attempting to manually upgrade the kernel will likely break the boot process. Attempting an upgrade in pacman WILL break the OS as pacman will recognize and pull kernel updates which won't setup systemd-boot to boot the expected kernel. Its not impossible to manually upgrade, but currently not worth the effort and doesn't survive ChimeraOS updates.
There is a reason for this. Some games are designed with 30fps or 60fps in mind and vsync. In some platformers, programmers have to know how fast character acceleration should occur when jumping, falling, etc. Otherwise you'll get moon-style hang times etc. So the game locks itself to 30fps or 60fps which is bad when the screen uses 40hz and a 40fps limiter. While you don't get screen tearing you instead get frame stuttering and jitter from dropping a fraction of your rendered frames. You may be able to take better advantage of this by disabling fps limiters and vsync within the game and allowing gamescope (steam gamepadUI) to handle the vsync and fps limitations. You may also just want to disable the fps limiter all together and see if that helps. Not all games will offer settings to accommodate these changes either.