I recently decided to try installing and using Bazzite on my desktop PC, both as an experiment and to address my dissatisfaction with using Windows as an intermediate for accessing my games library. This PC is primarily used and intended for gaming, rather than general purpose computing, and came with Windows 10 preinstalled. While I was able to upgrade the OS from Windows 10 to 11 for free, I wanted to try using a Linux distribution for gaming, especially after my positive experience using Valve’s SteamOS on the Steam Deck.
I chose Bazzite due to it’s support for the Steam Deck UI and it being a gaming centric Linux distribution. As part of the experiment I wanted to see how feasible it would be to use Linux for gaming as a non-technical user, so as part of the experiment aimed to avoid (and was successful in avoiding) the terminal. In order to help others in their Linux journey, here are some notes about my experiences using Bazzite over a couple of months.
Nvidia Woes
Before considering buying or building a Linux PC, the choice of GPU is important. Nvidia support is only experimental in Bazzite and it’s common knowledge in the Linux community that AMD has better driver support.
Since my PC uses an Nvidia RTX series card, I had to enable GPU accelerated rendering in web views, otherwise the Steam Gaming Mode UI would be very laggy and notifications (e.g. a friend coming online or an achievement being earned) would cause the whole screen to flash black over top of the current game. Enabling this setting also fixed an issue where the Xbox login screen shouldn’t show up in Halo Infinite (which was causing it to be unplayable). Thanks @Shakespeare for the tip.
I also had to set the screen resolution to 1440p in Steam Gaming Mode (desktop mode works fine in 4K). Games can still run at 4K when launched from the Steam Gaming Mode UI, but it meant that I would have to set each game’s resolution individually in Steam to 4K, and then again after launching the game, since otherwise the list of resolutions in-game would only go up with 1440p.
These issues are minor, but not ideal to have to deal with. Next time I’ll likely get an AMD graphics card instead, even if you can absolutely use Bazzite with a Nvidia card.
On the plus side, DLSS works great in Remedy’s Control on Linux, allowing a 4K render resolution, with comparable performance to on Windows.
Installation
To install Bazzite, I downloaded an ISO via Bazzite’s website. This asks users to choose from a few basic config options such as KDE vs GNOME and who is the vendor of your GPU. I chose GNOME as a I prefer a more macOS-like desktop, but you may prefer KDE if you’re used to Windows, and either choice is well supported.
Once the ISO was download, I installed a program called Fedora Media Writer to setup the Bazzite installer on a remove USB stick (you don’t need to download Fedora itself to use their media writer). The application is available for all three major desktop operating systems, so regardless of whether you’re coming from Windows, macOS, or another Linux distribution, you’ll be set. The process of writing the ISO was straight forward, but you’ll need to obtain a separate external USB flash storage or hard drive and format (wipe) it.
I also configured the PC that I intended to install Bazzite on to boot from the external USB drive in the PC’s BIOS. This will differ for each brand of PC motherboard, but the BIOS can usually be entered by pressing Delete or F12 when the PC starts up. Once the BIOS setting was saved, I rebooted the PC with the USB drive inserted, and a wizard appeared walking me through the process of installing Bazzite. It should be smooth sailing from here, and you’ll be given options such as whether to format your hard drive (or create a separate partition alongside your existing OS) and set a passphrase in Linux. I decided I was going to fully commit to the experiment and wiped my Windows installation entirely rather than dual booting.
Near the end of the installation you’ll be prompted to log into Steam (Bazzite comes with it preinstalled). You can use the Steam mobile app to scan a QR code to streamline the process or enter your credentials manually. Finally, there’s an option to boot into Steam Gaming Mode directly when the PC starts up, or boot into the GNOME desktop environment. Since I was primarily intending to use this PC as in a console like fashion with a controller (and without the need to reach for other input devices such as a mouse), I chose to boot straight into Steam Gaming Mode. Note, if you set a passphrase during the Bazzite installation, you will need to enter this when the PC first boots up, but after that the UI can be controlled and games launched via a bluetooth game controller.
Configuring Bazzite in Desktop Mode
Unlike Fedora, the Linux distribution that Bazzite is based on, much more is preconfigured out of the box. Fedora’s default installation of GNOME is notoriously minimalist, requiring extensions to display the dock and even to show windows with minimise and maximise buttons!
Bazzite comes preinstalled with a number of apps and extensions so that you can get started quickly, especially geared towards gamers. I was able to enable HDR and a 120htz refresh rate via single settings in the Settings menu. Pairing my bluetooth Dual Shock 4 controller was relatively easy too. Unfortunately, while I could pair my Xbox One controller, it had multiple issues in Steam Gaming Mode (more on this later).
However, I found that there were a couple of missing pieces functionality in the default Bazzite Gnome desktop that required extensions.
When trailing a lot of games and changing their settings, it is inevitable that some will crash. There needs to be simple way to force quit the application without rebooting your whole PC. For this, I installed an extension called Force Quit by megh which can be used to select a window to instantly close.
I also installed an extension called Dash to Dock by michele_g which prevents the dock from auto hiding, as there wasn’t a built in setting to do this.
While it would be nice if these common pieces of functionality would be included out of the box, they could be added easily via the built in Extension Manager.
Since I primarily intended to use this PC for gaming, I didn’t feel the need to install any additional apps straight away. But for completeness I used the built in Bazaar to install a few third party apps. Bazaar is an App Store-like app on Bazzite, but it pulls in apps from multiple sources. There’s a dedicated Flathub tab for open source apps, and an “Installed” tab for quickly uninstalling apps. But the most notable tab is the “Curated” tab. This lists a small number of recommended apps grouped into categories (with a dedicated gaming category natually). I found the list to include genuinely useful apps that you’d normally have to hunt around for on different websites to download their installers, regardless of whether they are propitiatory or open source. You can, for example, install Spotify or Obsidian with a single click.
Finally, I did a small amount of further configuration to Steam via the desktop app. As mentioned earlier, I toggled on “Enable GPU accelerated rendering in web views” under Settings, Interface for better performance in the Steam Gaming Mode UI. I also set up a secondary hard drive to install my games on by default. This can be done via the Disks app and is straight forward if you follow the “happy path” of setting the volume with the default Ext4 filesystem. I chose to password protect the drive and Steam simply didn’t detect it, rather than provide clear error messaging. But it was smooth sailing once I’d figured out that was the problem.
Using Bazzite in Steam Gaming Mode
For gamers, the most appealing aspect of Bazzite is likely the inclusion of Steam Gaming Mode. This is the interface that the Steam Deck uses, a controller first UI for launching and managing your games library. Windows users will note a similar mode, Steam Big Picture mode, which is also available. This UI feels like an improved version, an evolution designed around the Deck and other SteamOS hardware. Even though Bazzite is not the SteamOS, it’s ultimately the same UI, very usable and user friendly in both distributions.
As mentioned earlier, I had some issues with my Xbox One controller. The centre Xbox button didn’t launch the main menu, and generally things wouldn’t work as well as the Dual Shock 4 did out of the box. The Dual Shock 4 was very responsive, launching the main menu via the PlayStation button and allowing me to quickly load my library, the Steam store, configure global Steam settings, and quit games that are currently running. Each game also includes per game settings, allowing you to fine tune the game without changing the overall settings, such as disabling cloud saves, changing the screen resolution, selecting a community created controller layout, or running the game using a different Proton version. This can all be done with a controller, without reaching for a second input device.
I’ve tested about 30-40 games via Steam Gaming Mode. Most games developed for Windows work perfectly out of the box thanks for Valve’s investment in the Proton compatibility layer for Linux. This is what the Steam Deck uses, and the compatibly carries over into other Linux distributions that also include Proton, which Bazzite does. But if you’re looking at using Bazzite as an alternative to Windows, you’re probably more interested in what games don’t work well in Steam Gaming Mode. These fall into a few categories which I’ll go through here.
Older Games with Window Launchers
If your Steam collection started early enough, or maybe you just like to play older games (e.g. from the early 2000s or 2010s), they typically contain a “launcher” window that appears before the full screen game actually launches. This is used to configure controller input or change the screen resolution. Games such as NiGHTS into Dreams, Sonic Adventure 2, and Rocket Knight contain these launchers. There isn’t a simple workaround that allows these launcher windows to be skipped, so the controller only flow will be necessarily interrupted to launch the game.
Unlike the Steam Deck, which allows use of the touch screen as if it were a mouse (in order to close the launcher and get to the actual game), there isn’t a simple mechanism for dealing with these launchers using a game controller. A workaround is to simply keep a bluetooth mouse or trackpad handy. I found that the Apple Magic Trackpad works very well on Bazzite and is ideal for using on a couch since, unlike a mouse, it does not require a consistent surface to operate on.
It’s not ideal requiring an additional device besides the controller to launch some games, so it will be interesting to see if the upcoming Steam Controller redesign contains any functionality to help assist in this area. The Steam Deck allows these windows to be navigated via the touch screen.
Unfortunately there is a further problem. Unlike in Windows, if the display Scale is set to a high setting, say increased to 250% on the 4K screen resolution to make everything look larger from distance, the launcher window will ignore the Scale setting and still look super tiny in 4K. So, you may also need to squint from your couch when launching these games.
Games that Require Specific Controllers
Some PC games don’t work well out of the box with a controller, or require a specific controller such as an Xbox controller. Games such as Sky Force Anniversary require a bit configuration to have the inputs working as expected. Fortunately, there is usually a community controller preset (in most cases), so that with a little trial and error you will likely find a preexisting configuration that works well for your specific game.
Older PC games were often released with mouse and keyboard support only, when when their console counterparts were playable with a controller. This is a problem for both Windows and Linux. These games could be played as they were intended, arguably for the best experience, but you may be able to find similar controller presets that map the keys to controller buttons, allowing these games to work with modern controllers and launch seamlessly in Steam Gaming Mode. I didn’t delve into this area heavily, but was able to get games without controller support such as Star Wars: Knights of the Old Republic and Crysis to work with community layouts (yes, Bazzite can run Crysis). It’s less of an issue for newer games, since modern games tend to have “Full Controller Support”.
Games that Require a Specific Proton Version
Some games designed for Windows won’t launch with the default “stable” version of Proton. You have a few options here. The first is to constrain your library to only SteamOS verified or compatible games (these are listed on the Steam Store page and your library can also be filtered by officially compatible games on a dedicated tab in Steam Gaming Mode). However, I believe this constraint too limiting to make Linux gaming feasible for hosting existing Steam libraries. Fortunately these labels can be ignored, provided you are prepared to do some minor tinkering to get a game up and running.
By default, many incompatible games will just work.
The solution that allows most games I’ve tried to work in situations where they don’t launch is to change the Proton version to “Experimental”. Overwhelmingly, the games will just work after this.
Performance is sometimes better when using Proton than when using the native Linux versions of games, as was the case with Limbo.
I did have further issues with the occasional game beyond this, so you might need to do some digging to get your favourite unverified game to run. YouTube is a great resource, as you can often watch the setup process that someone has gone through to get the game working on the more common Steam Deck/SteamOS pairing and it will be similar for a desktop PC running Bazzite in Steam Gaming Mode. A further helpful resource is ProtonDB, a comprehensive database of games running under Proton with comments from users discussing their tinkering experiences.
I had the most issues getting Shadow of the Tomb Raider to work well. First, my cloud saves from the Steam Deck simply couldn’t show up. I discovered that they wouldn’t sync unless I used the exact same Proton version on both machines. There was also an issue going into the game’s “focus mode”. This would cause the game to crash, which does not happen on the Steam Deck. At this time I haven’t found a working solution besides not using focus mode in the game, which isn’t ideal.
I’ve also been unsuccessful (so far) in running a few other older games: Astebreed, Far Cry 3, Sonic Generations, and Prince of Persia: The Sands of Time. Most of these work on the Steam Deck, so it is likely a matter of finding the right configuration to get these working (rather than it being outright impossible).
Multiplayer Games with Anti-Cheat Software
Some multiplayer titles such as Destiny 2 and Battlefield 6 will be unplayable due to their anti-cheat software. There is currently no solution to this problem other than to hope that Linux adoption will increase enough in the future to encourage more developers to support multiplayer gaming in Linux.
It’s not impossible to play some multiplayer games though. For my experiment and use case, I was able to get both Halo: The Master Chief Collection and Halo Infinite’s multiplayer modes working without issue. I don’t play a lot of multiplayer, so these games are sufficient for me, with the option to try other titles that work well on Linux, such as Valve’s games. This is an area where you will need to be less selective about what games you play, and that may be a deal breaker for some people.
Games Purchased From Non-Steam Stores
Unlike Steam, other game stores tend not to be officially well supported on Linux, and may not have an official launcher. There is no Microsoft Store where you can download your Microsoft purchased games.
While there is no official GOG Galaxy launcher for Linux, I was able to download the Heroic Games Launcher and sign into my GOG account to install those games. You can use this launcher to download games purchased via Epic Games and Amazon as well. All of the GOG games that I tried ran successfully via compatibility layers on Linux, and while the Heroic Games Launcher is missing the useful controller presets that Steam has, keyboard and mouse games ran fine.
Advantages Over Windows
With the drawbacks mentioned, are there any advantages of switching to Bazzite/Linux for your gaming setup? For me there are a few that I’ll go through here.
The first is how Vulkan shader compilation works. In Steam on Linux, the vulkan shaders are processed prior to launching the game. This may delay the launch by several minutes, especially the first time, and some games could take up to half an hour to process the shaders using a non-SSD. But the advantage of this approach is that, unlike Windows, the shader compilation does not happen in game. My experience of running games on Windows 10 and 11 is that these games can contain a lot of in-game stuttering, stuttering that I was not able to easily find a way to eliminate in games such as Halo 2 Anniversary. This has ruined the experience of a number of games for me. Of all the games that I tried on Bazzite, there was no significant in-game stuttering after the game had launched. This is a significant advantage if you care about having a smooth gaming experience.
The other reasons for preferring Bazzite over Windows relate to the work Value has put into Steam Gaming Mode and making sure it works well on Steam OS with a controller only. All of that work carries over into Bazzite. And with Proton being an open source project, it could be utilised outside of Steam by other parties as Linux adoption grows.
Some games designed for older versions of Windows run better on Linux than on Windows itself. For example, on Windows the original Max Payne (now delisted from Steam) requires a patch to run on modern Windows, but on Bazzite it just worked.
Finally, using an open source operating system provides full control over your system. There is no arbitrary cutoff point that will make the hardware unable to run the next version of the operating system (even when it technically could), so there’s more control over when you want to upgrade. You also have more control over your privacy (no account sign in required, no ads in your start menu, no Windows Recall capturing screenshots of your activity), and a community of technical people who are able to verify what the source code is doing, since it is produced in the open.
Will I Continue Using Bazzite?
Despite the shortcomings mentioned of the current state of gaming on Linux, it is currently very viable to use Bazzite Linux as your gaming machine’s main or only OS, with the main blocker being specific multiplayer games that require Windows specific anti-cheat software. Overall, if you’re willing to investigate issues and learn a little as you go, Bazzite provides a solid alternative.
As a complete replacement for Windows or macOS for non gaming tasks, Linux may or may not meet your requirements, but is absolutely usable for most common computing tasks these days.
Since I also game on the Steam Deck, that covers the few gaming cases where Bazzite on a desktop PC isn’t as straight forward (such as older games with Window based launchers that can be launched via the Deck’s touch screen), while using Bazzite on the full desktop PC with a dedicated GPU is the better experience for graphically intense games that the Steam Deck would struggle with. They provide a complementary, and surprisingly unified gaming experience; games that support cloud saves can be continued over on either device depending on whether I am up for portable or stationary gaming.
So, will I be keeping Bazzite installed? Based on my experience and use case, it is a better OS for a living room media and gaming PC, so I absolutely will be. It may not be the year of Linux on the desktop yet, but 2025 has been the year of Linux on my desktop.