Bazzite Deck 44 is a great update for a SteamOS-like distro
I've finally tried out Bazzite Deck 44, and while its headline features aren't a big deal for me, it's the little details that make Deck 44 great.
I've been keeping my eye on Bazzite's latest update, version 44, for a little bit now. It was first released for Bazzite desktop users all the way back in April, but myself and probably the larger portion of Bazzite users only care about the SteamOS-like Deck variant that we all put on our HTPCs and handhelds. Though seeing as Deck 44 came out in August, I'm a little late to just be covering it now. But I'm glad I waited (and I'll explain why I did later), because my experience thus far with the Deck 44 update has been great.
If you're not familiar with Bazzite, it's essentially SteamOS with a wider array of hardware and software compatibility. Under the hood, it's based on Fedora instead of Arch (which is what SteamOS is based on), but on the surface it has the exact same UI, as long as you're using Bazzite Deck that is. Bazzite started development long before SteamOS got its general release, which has taken some of the luster from Bazzite's shine, but the distro still has some good selling points like Nvidia GPU support and having a more up-to-date kernel.
I wanted to update to Deck 44 as soon as possible, but like with many big updates, the initial release seemed to have some bugs. A hotfix was released about a week afterwards; in the month following the hotfix, no other patches were released, which made me comfortable enough to finally update, hence my lateness on Deck 44. I still do see significant bug reports from users, but my personal experience has been more or less bug-free.
Lots of fixes for small but annoying issues
Since I was just talking about bugs, let's start with the day-to-day improvements and fixes that I personally noticed on my Bazzite PC, which uses a Ryzen 7 7800X3D and an RX 9600 XT 8GB. I've got it hooked up to an LG C5, a quartet of 8bitdo Ultimate 2 controllers, and Logitech's famous wireless keyboard with an integrated trackpad. So, I'm a little bit of a power user, but I'm also sticking to an all-AMD configuration, which is generally the best experience for performance and stability.
On Deck 43, I encountered quite a few annoying bugs that kind of tarnished the console-like gaming experience, but not quite enough to keep me from playing. And these issues completely revolve around the simple act of putting my PC to sleep and waking it up, which has given me a newfound appreciation for how this process tends to work pretty much seamlessly on actual consoles, smartphones, and the Steam Machine from what I've heard.
Putting my BazziteBox to sleep wasn't the problem, the waking up part was where things got troublesome. Waking up usually took quite a long time, the startup movie sometimes was only visible from the halfway point onwards, there would be no audio for a little bit, and it would take anywhere from a few seconds to a minute or so before controller inputs actually started to register. Right before I updated to Deck 44, I also experienced moments where CEC, the key feature in a DisplayPort-to-HDMI adapter I own, wouldn't wake up the TV and automatically set the input to the PC.
Deck 44 has almost completely solved all of these issues. Waking up is almost as instant as it is on most PCs, the startup movie plays correctly, the audio is actually there, and controllers are recognized almost immediately and the inputs work as expected. The CEC issue also seems resolved, though I did ditch my adapter pretty quickly after updating for a reason I'll explain later.
Overall, I'm pretty happy with these bug fixes, it makes the everyday Bazzite experience far better. It was very irritating to have to basically wait a minute or so every single time I wanted to boot the BazziteBox up, and it got even more frustrating if the audio refused to come on or if my controller just didn't work at all.
HDMI 2.1, VRAM optimization, and other cool features in Deck 44
For most people interested in the Deck 44 update, the real interesting stuff was support for HDMI 2.1 and the new VRAM usage optimizations Valve coded earlier this year. With the former, we're really talking about getting Linux up to par with Windows 11, which has had full HDMI 2.1 support for a while, and with the latter this seems like at worst another catch-up moment, or optimistically an area where Linux is getting an edge.
HDMI 2.1 is a big deal for some people because it offers support for variable refresh rate (or VRR) technology, a 144Hz refresh rate, 4K resolution, 4:4:4 colors, and auto low latency mode (or ALLM), all at the same time in just a single cable, as long as your display is rated for all of those features. Personally, my C5 does, as do many higher-end TVs, but Linux users weren't able to enjoy HDMI 2.1 because the HDMI Forum, which maintains the technology, refused to allow AMD to patch support into Linux for some stupid reason.
Prior to HDMI 2.1 finally getting support, users essentially had three options: use a display with a DisplayPort input (which is just better but TVs basically never have DisplayPort), use an older version of HDMI which means ditching VRR and ALLM, or use an adapter that converts DisplayPort to HDMI. For obvious reasons, an adapter is the most appealing option because it's not very expensive (at least in the context of a gaming PC) and could potentially offer feature parity with HDMI 2.1.
Personally, I bought an adapter that many Bazzite users recommended, the UGreen 85564. Interestingly, UGreen explicitly says on the Amazon product page that VRR and CEC (the thing where turning on a device also turns on the TV and automatically switches the input) are not supported. As it turns out, there's a PDF at the very bottom of the page just before the reviews start that basically tells users to update the firmware in the Chrontel chip inside the adapter that makes the whole adapting thing possible.
Even after applying this new firmware, I couldn't get to feature parity with HDMI 2.1. Whenever I tried to go for full 4K144 with VRR and 4:4:4 colors, I'd either getting a flickering screen with frames only every now and then, or just no signal at all. The best combination I found was 4K100 with VRR and 4:2:2 colors, which was perfectly stable for a while, until right before I decided to update to Deck 44. Some users report complete success with this adapter, or a similar UGreen adapter, or even one made by Cable Matters; it might come down simply to cable quality and needing a good amount of it.
With HDMI 2.1, these adapters are almost completely obsolete since most of their utility was just to get HDMI 2.1-like image quality for people whose only obstacle was that lack of a patch in Linux. However, there's one potentially killer feature these adapters still have: CEC. Display out devices like graphics cards need hardware-based CEC support for the feature to work, and they do (or at least mine does), but only on DisplayPort outputs; there are no GPUs as far as I know with CEC integrated into any HDMI outs.
With CEC, I was able to pick my 8bitdo controller off of the charging stand, it would automatically turn on, then it would automatically turn on the console, then my TV would turn on and switch the input to the BazziteBox, and I didn't even have to press a single button. This is the pinnacle of laziness and it was really cool to experience.
Now that I've spent a couple of weeks gaming with 144Hz and 4:4:4 colors, I have to say I can't tell the difference very much. I'm not playing every game at 100 FPS or more, so the extra 44Hz isn't always that helpful, and honestly I can't tell the difference between 4:2:2 and 4:4:4 even though I have HDR enabled and everything. Were it not for stability concerns, the tradeoff would make 0 sense.
Except, I have accidentally found a way to make a cool feature into an annoyance. I bought four 8bitdo Ultimate 2 controllers for the express purpose of having just four controllers I could easily use for both my BazziteBox and my Switch 2. The USB receivers are inside the charging stands plugged into the PC, and I have all the controllers paired to the Switch 2 via Bluetooth; there's a switch on the bottom of the controller that determines whether it's using USB or Bluetooth. Extremely cost-effective, right?
The problem is when I pick up the controller, which immediately wakes up. If I have a controller set to USB mode, it automatically turns on my Bazzite PC, which is an issue if I actually want to play on my Switch 2 instead. Not super convenient, especially when CEC doesn't automatically switch to my Switch 2 once I've told it to turn on.
Apparently it's not possible to prevent the Ultimate 2 from automatically waking up (damn you 8bitdo for not offering a way to disable this), which means only a workaround is going to solve the issue.
- I could keep the controllers off of the stands, but they'd have to go somewhere and my wife has informed me the only acceptable place for four controllers to go is on the stands. That's my preference anyways, and even if it wasn't, well the controllers have to recharge at some point.
- Flipping the communication mode to Bluetooth before docking a controller could be a solution because waking up the Switch 2 with the Ultimate 2 doesn't work (or at least I haven't configured it so that it would work), but this is a ritual I'd have to stick to or else the thing I don't want to happen will happen. I'd also have to flip the switch back every time I want to use the BazziteBox. Not a huge fan of this one.
- Maybe the solution is just not waking up the BazziteBox by controller. I could press the power button and it'd activate CEC the same way. It wouldn't be much more of an inconvenience since the controllers and the PC are both on my console, and I could move them even closer together. But I'm not sure if this is that much better than turning on the TV and switching the input manually; moving the BazziteBox is also gonna require lots of wires to move, and I suspect my wife wouldn't be thrilled with a PS5-sized device being prominently displayed on the top of the console.
- No, I won't be getting rid of my Switch 2 or getting controllers just for it. That's stupid and expensive.
- Finally, I could just not have CEC, which at the moment is the option I've chosen. After all, I do get perfect stability, a moderately higher refresh rate, and technically better colors, so I'm not losing out on much.
I am considering maybe trying that third option, but at the moment I'm not annoyed enough by manually switching to the BazziteBox. Though, I will say a recent LG update has made my C5 even slower to switch inputs so maybe I'll get irritated enough in the near future.
Anyways, Deck 44 comes with some other less flashy but still nice-to-have features. There's a new CPU scheduler that improves 1% low and 99th percentile framerates on hybrid CPUs like Intel's (I have a 7800X3D so this doesn't help me personally), the UI has been updated for the update tool, portal, and Bazaar, and things in the backend for controller and power management were updated to be more like SteamOS.
Things that Bazzite still needs to work on
Capping things off, Deck 44 by no means made Bazzite perfect. My list of issues has definitely been cut down, but there's still a few things I'd like the developers to implement; mainly more bug fixes and additions of small but meaningful features.
Starting with bugs again, not all of them have been fixed. The most obvious one is the last one I've noticed with waking up from sleep, sometimes the audio will be very crackly and generally bad for about a minute. That's definitely a step up from not having any audio at all, but still, it'd be nice for this issue to be solved.
There's also a smaller audio issue when putting my BazziteBox to sleep. Like SteamOS, Bazzite also has a powering down movie, and while the animation part of it is fine, the audio will repeat at the end like a skipping vinyl. Unfortunately, the audio that gets repeated is a beeping noise, so that's pretty annoying. Either fixing this issue or offering the option to turn this movie off would be nice.
This next one is something I'm not sure would be considered a bug fix or a feature, but either way it should be implemented. Given that Bazzite is supposed to offer a console-like PC gaming experience, you'd expect it to be capable of something as waking up when turning on a controller, like most other consoles. At the very least this should work over USB if not Bluetooth.
At least in my experience, Bazzite disables waking over USB by default, or it does for 8bitdo controllers. I've never had an issue waking up my PC with a USB keyboard, but my 8bitdo controller initially wasn't able to wake up the PC. After some research, I came to find out that a flag for waking on USB was set to 'disabled' for all of my USB ports, which is the default behavior of Bazzite. Enabling waking up on USB required this flag to be set to 'enabled' for the USB port clusters I wanted.
Switching the value wasn't a problem, I could do it in a text editor; the actual issue was getting this to survive a restart, because Bazzite doesn't save certain settings as it's an "immutable" operating system, like SteamOS. While this is dressed up as being a helpful feature that stops noobs from destroying their installation, it makes even the smallest of customizations challenging to apply if it's something not covered by the Bazzite portal (like enabling FSR 4 or CEC).
So I had to do more research to find out that I could write up a script that can be run on startup and contains a command to toggle the USB wakeup option from off to on. Naturally, using the terminal was part of this process and I'm never a huge fan of that, but the bigger issue was that I wasn't familiar with the lingo of the code people recommended, so when it didn't work, I had to have a back and forth with Google AI to try and solve the issue.
Basically, some users recommended making what's called a UDev rule to do this whole thing, personally I found that this didn't work at all and I couldn't tell if either the rule wasn't doing the right thing or if it straight up did nothing. Other users recommended making a .service file in one of the core OS folders that would call another file that has the script which enables waking on USB. I can't remember if Google AI was actually helpful here (it rarely is beyond the most basic questions), but I did end up figuring out I could put the second script inside the first script and it worked.
This is just way too technical for such a simple feature. Bazzite either needs to have this enabled by default, or implement this toggle in the Bazzite portal. It's completely unacceptable that such a mainstream controller would be unable to wake up a Bazzite PC, especially when we're talking about simple USB communication.
Moving on, I'd also like to see the update function in the SteamOS-like UI part of Bazzite actually reflect Bazzite updates rather than SteamOS updates, which is a consequence of using SteamOS's UI. Apparently Deck 44 does introduce this feature, but it doesn't appear as if it's being used yet.
And that's all I can really think of I guess. Overall, Deck 44 hasn't been this huge update for me like it could be for others who really wanted HDMI 2.1 and more optimized VRAM, but the bug fixes are really appreciated. Lots of the backend improvements also inspire lots of confidence in me for Bazzite's continued development. I won't be switching to SteamOS any time soon I don't think.