What's new
A pre-release on top of v2.15. Please report what you see, with the SUMMARY line of ps5-report.
- A GPU hang no longer takes the display down. When a game hung the GPU (seen with BeamNG.drive on a PS5 Pro), the driver first tried to reset only the stuck part; when that failed, it reset the whole GPU, which doesn't work on a PS5, and the screen stayed frozen until a restart. Now it stops after the first step. The fix comes from the official PS5 Linux kernel, where it was tested with GPU hangs on a PS5: the desktop stayed, and the next reset recovered the GPU. A game that hangs the GPU may still close.
- The test for games dropping out of Game Mode with
Failed to pin framebufferneeds two kernel options, not one: the v2.15 notes were wrong there (thanks to the Ratchet & Clank tester whose log showed it). See What to test. - Native resolution from the first start. The desktop and Game Mode used to start at 1080p60 on every display, so games started at 1080p too unless you changed it. Now they start at the resolution your TV or monitor prefers (4K, 1440p or 1080p), at 60 Hz; you choose higher refresh rates as before. A resolution you chose yourself stays; if you never chose one, the next start uses the native one. On a 4K TV, games then render at 4K unless you lower their resolution, which costs frame rate: set Game Mode's resolution under Settings → Display if you prefer 1080p. If a display stays dark at its native resolution,
amdgpu.force_1080p=1(incmdline.txton the boot partition, from a PC) brings back 1080p60. - PS5 Pro: the GPU no longer slows down at the fan's own target temperature. Its limit was 80 °C, the same as the fan's target, so the GPU throttled whenever the fan was doing its job. It is now 85 °C, as on the other models; a limit you set yourself is kept.
- Wi-Fi on the original PS5 no longer adopts the country of the access point (the setting that came with v2.11). The driver's own defaults are back, so no network should disappear from the list because of a country setting.
- Drivers for controllers, racing wheels and streaming are back. Bazzite builds a set of extra drivers for its own kernel, and with our kernel they were missing. They are now built for ours:
- Xbox Wireless Adapter (xone). Controllers on a cable keep the driver they have now. The adapter's firmware comes from Microsoft with Bazzite's packages; if your adapter stays dark, tell us.
- Xbox controllers over Bluetooth (xpadneo: rumble, trigger rumble and the full button set). Bazzite itself doesn't include this one.
- Racing wheels with force feedback: Logitech (new-lg4ff), Thrustmaster (hid-tmff2, T150/TMX) and Fanatec. Logitech wheels most likely had no driver at all before: Bazzite switches off the kernel's own Logitech wheel driver in favour of new-lg4ff, which went missing with our kernel.
- GameCube controller adapter at a higher polling rate, OBS virtual camera (v4l2loopback) and Razer devices (openrazer).
- One DualSense pairing for the PS5 and Linux, on every console. A controller paired in the PS5 OS now connects in Linux on the original PS5 and the Pro too, as it already did on the Slim: the loader hands the pairings over at every start. The Linux-only Bluetooth address these two had by default is gone, and with it the second controller profile; on the original PS5, warm reboots now keep Bluetooth. If you used it: use the controller's PS5 profile in Linux too (hold PS + that profile's button); devices you paired only in Linux (headsets, other controllers) need pairing once more.
- PS5 Pro on system software 13.00: 60 compute units. The loader didn't know where 13.00 keeps the Pro's GPU firmware, so those Pros ran as a base PS5. The location comes from the official PS5 Linux loader, tested there on a retail Pro with 13.00. Use
bazzite-bootc-loader-v2.16.elffrom this release. ps5-reportno longer lists two files that tuned and Steam's Wi-Fi settings change themselves as "changed on this console", and it now shows the versions of gamescope, Mesa and the network stack that came with Bazzite, so a problem from a Bazzite update is easier to tell from one of ours.
bootc
New install
You need a USB drive or SSD of 64 GB or more. Flashing erases it.
- Extract
ps5-bazzite-deck-bootc-v2.16.img.7z.001with 7-Zip (not Windows' built-in extraction). The first line ofps5-bazzite-deck-bootc-v2.16.img.sha256is the.img's checksum; on Windows,certutil -hashfile ps5-bazzite-deck-bootc-v2.16.img SHA256shows yours. - Flash the
.imgwith balenaEtcher (drives flashed with Rufus stopped in an emergency shell for several users; balenaEtcher fixed it). When Windows offers to format the drive afterwards, choose Cancel. On Linux withsudo dd if=ps5-bazzite-deck-bootc-v2.16.img of=/dev/sdX bs=4M status=progress conv=fsync(replace/dev/sdXwith your drive). - Start it with
bazzite-bootc-loader-v2.16.elf.
The first start takes a few minutes. A PS5 Pro has its 60 compute units from the first start.
Switching from Legacy
In place, keeping users, games and Flatpaks. On the Legacy install, in a terminal or over SSH, with at least 30 GB free on the system drive:
curl -fsSLO https://raw.githubusercontent.com/VivaLaVent/ps5-bazzite-deck/main/tools/legacy-to-bootc.sh
sudo bash legacy-to-bootc.sh # checks only, changes nothing
sudo bash legacy-to-bootc.sh --apply # downloads the Stable image (about 7 GB) and sets it up beside LegacyThen power off and start with bazzite-bootc-loader-v2.16.elf. The first start moves your home folders and Flatpaks over.
- Nothing of the Legacy system is deleted until you run
sudo bash legacy-to-bootc.sh --cleanupon the working bootc system, which frees about 20 GB. - If bootc doesn't start: on a PC, copy
bzImage,initrd.imgandcmdline.txtfromlegacy-backup/on the drive'sbootpartition back to its top folder. Legacy starts again as before. - Not carried over: Decky Loader and packages installed into the system; install them again. Options you added to
cmdline.txtare kept. - This script is new. A backup of anything you can't replace is a good idea before
--apply.
Or flash: follow New install on a second drive, or on the same one after copying off what you want to keep.
Updating
This is a pre-release, on the Beta channel. On the PS5, in a terminal (Desktop Mode → Konsole) or over SSH (password ps5):
sudo bootc switch ghcr.io/vivalavent/ps5-bazzite-bootc:betaAlready on Beta: sudo bootc upgrade. It applies at the next start with the loader. Use bazzite-bootc-loader-v2.16.elf from this release: a PS5 Pro on system software 13.00 needs it for its GPU; other consoles can keep any loader from v2.13 on. Installed packages with rpm-ostree install? Use sudo rpm-ostree upgrade instead of sudo bootc upgrade.
Back to the stable release: the same bootc switch command with :stable instead of :beta. Steam's Settings → System → OS Update Channel does the same.
Problems
sudo bootc rollback, then power off or restart, and start with the loader.- If a new version doesn't start at all:
ROLLBACK.txton the drive's boot partition explains how to start the previous one from a PC. That needs bazzite-bootc-loader. - Report it in Discord with the file
ps5-reportsaves.
Known issues
- Bazzite's performance profile can't start the LAVD CPU scheduler (sched_ext:
Failed to load BPF program,Invalid argument). Our kernel is built with pahole 1.30, which leaves some of the scheduler's kernel functions incompletely described; pahole 1.31 is needed. The CPU governor part of the profile works. Found by Zier. - M.2 install in the emergency shell after an update (
Couldn't find specified OSTree root '/sysroot//ostree/boot.1/…'), on v2.11 or older: the boot partition names the right version under the wrong counter. Either way gets you back in, and nothing on the M.2 is lost: - An already flashed drive on PS5 system software 4.x (any image before v2.11): fix it from a PC instead of flashing again. It changes one field, not your data, and only shows what it would do without
--apply: - No HDR on consoles with the VERDE HDMI chip (
ps5-reportnames the chip on its first lines): HDR is not offered there instead of coming out washed out. The official PS5 Linux kernel patches have just added an untested HDR option for VERDE; it comes with a planned kernel update. - PS5 Hardware Control's Restore on boot (up to its version 1.5.0) loads your saved curve but leaves the console's fan control on until you apply a curve or preset; a fix is with its developer. Until then,
ps5_fan.curve=1incmdline.txtstarts on the curve, and Restore on boot works. - The first start after updating from v2.5.1 or older still uses the old VRAM size; the 6 GB applies from the next start with the loader. With the old 512 MB, Game Mode can show a garbled block in the top-left corner. Power off and start with the loader once more.
- Games dropping from Game Mode to the desktop with
Failed to pin framebuffer: -ENOMEMin the kernel log: the VRAM is full. Try the two tests under What to test, the harmless one first. Which VRAM size helps differs per game: 4 GB (0x100000000invram.txt) worked for Ratchet & Clank: Rift Apart, while other games fail more often at 4 GB. The default 6 GB, or 5 GB (0x140000000), is the safe choice. - The clock is wrong right after a start until the network time arrives; in that minute, downloads can fail with certificate errors (Bazaar, for example). The kernel can't read the console's clock yet; that comes with a planned kernel update. Set your time zone once with
sudo timedatectl set-timezone <Region/City>. - Starting without the USB drive is experimental: it needs
sudo ps5-m2-install --bootfirst, and the four files in/data/PS5/Linux/have to be copied again after every update. Steps: wiki. - PS5 Pro: the CPU stays at 3.2 GHz. The Pro's power controller doesn't answer the clock requests the CPU driver sends, so the driver stays off there; whether boost alone works on a Pro is being tested.
What to test
- A game that used to freeze the screen: play it again. Afterwards,
sudo dmesg | grep -iE "ring .* reset|recovery disabled|Recovery Failed": "reset succeeded" or "GPU recovery disabled" with the desktop still working is the fix doing its job. Please report the game, and whether the desktop came back. - A game that crashes at its start or drops out of Game Mode with
Failed to pin framebuffer, especially one that worked on an older version. First, harmless: try it once withAMD_PS5_COMPUTE_QUEUE=0 %command%as launch option (original PS5 and Slim;AMD_VIOLA_COMPUTE_QUEUE=0on a Pro). That switches off the GPU's second (compute) queue, which our graphics driver offers since v2.7.3, for that game. Whether the game then starts tells us whether that queue is behind it. To switch it off for every game:echo AMD_PS5_COMPUTE_QUEUE=0 | sudo tee /etc/environment.d/90-ps5-compute-queue.conf, then log out and back in. - If the game still fails that way, the second test, with a risk: it needs two kernel options, because taking the picture from normal memory also needs the graphics driver's S/G display, which is off by default on the PS5. Correction: the first version of these notes gave only the second option, which on its own does nothing.
Power off and start with the loader. Play the game in Game Mode, then
sudo rpm-ostree kargs --append=amdgpu.sg_display=1 --append=amdgpu.ps5_scanout_gtt=1
sudo dmesg | grep -iE "pin framebuffer|system memory": "scanning out of system memory" means the switch stepped in. Tell us whether the game kept running, whether the picture looked right, and especially if the screen flickered or froze. To undo:sudo rpm-ostree kargs --delete=amdgpu.sg_display=1 --delete=amdgpu.ps5_scanout_gtt=1. If the picture is broken after the start, undo it over SSH, or start the previous version (sudo bootc rollback, orROLLBACK.txton the boot partition from a PC). - Original PS5 and Pro, DualSense: after updating, does the controller connect in Linux with its PS5 profile, without pairing?
journalctl -b -u ps5-bt-import -o catlists the pairings brought over. - PS5 Pro on 13.00: with the new loader,
ps5-reportshowscompute units: 60. - A new install, or a display you connect for the first time: does it start at its native resolution? Tell us the display and what you see.
- An Xbox Wireless Adapter: plug it in, then pair a controller with the adapter's button.
lsmod | grep xoneandls /usr/lib/firmware | grep -i dongletell us what is there. - An Xbox controller over Bluetooth, a racing wheel or a Razer device: does it work in a game, with rumble or force feedback?
lsmod | grep -iE "xpadneo|logitech|tmff|t150|fanatec|razer"shows which driver took it. For Xbox controllers over Bluetooth: does Steam Input still handle them (the guide button, per-game layouts)? With xpadneo, Steam reads them through the driver rather than directly. - Wi-Fi dropping to 0 and back: right when it happens,
iw dev | grep Interface, theniw dev wlp64s0f7 get power_save(with the interface name from the first command). Tell us whether power save saidonoroffat that moment: Steam's own Wi-Fi setting can switch it on, and the image switches it off again within two minutes, so drops that come and go with it point there. - Still wanted from v2.15: Wi-Fi on the original PS5 (does the console stay usable if Wi-Fi drops?), and 1440p at 100 or 120 Hz (does the picture fill the screen?).
Sharing logs
bash <(curl -fsSL https://raw.githubusercontent.com/VivaLaVent/ps5-bazzite-deck/main/tools/ps5-report.sh)
Paste its SUMMARY line when you report results, and attach the saved file for a bug report.
Files
bazzite-bootc-loader-v2.16.elf– the PS5 Linux loader for this release: soniciso1's ps5-linux-loader, which also hands Linux the PS5 Pro GPU firmware, the Wi-Fi firmware and the console's Bluetooth pairingsbazzite-bootc-loader-v2.16.elf.sha256– loader checksum
Found a problem? Run ps5-report on the PS5 and post the file it saves in Discord.
Like the project? Support it on Ko-fi.