Testing Bazzite OS & Fixing Waydroid on Hybrid Nvidia/Intel GPUs
Finding the right Linux distribution can feel like a long quest. After trying Debian-based distros, Arch derivatives, and tiling window managers, many users land on Fedora due to its modern package availability and out-of-the-box stability.
Recently, I decided to test Bazzite OS, an immutable operating system built on top of Fedora Atomic Desktop that claims to be built for the "next generation of gamers."
Even though my primary goals revolve around work—video editing in DaVinci Resolve and running Android applications via Waydroid—Bazzite caught my attention. Here is my experience testing Bazzite, setting up my workflow, and solving the infamous Waydroid black screen issue on hybrid Nvidia/Intel GPU hardware.
What is Bazzite OS?
Bazzite is an image-based (atomic) Linux distribution designed to make gaming and desktop use effortless. Because it uses an immutable base system, you get:
-
Unbreakable system core: Updates are atomic image rollbacks, meaning system updates won't randomly break your system.
-
Pre-configured drivers: Nvidia drivers, Steam, and hardware optimizations are ready out-of-the-box.
-
The Bazzite Portal: A custom utility tool to easily install popular applications like DaVinci Resolve, OpenRGB, and Waydroid with a single click.
Installing Bazzite & First Impressions
The Setup Selection
When downloading Bazzite from bazzite.gg, the installer asks a few simple questions:
-
Device type: Desktop (I choose)
-
GPU Vendor: Nvidia (I choose)
-
Desktop Environment: KDE Plasma
Installation Quirks
The installer uses standard Fedora Anaconda tools. During installation, the screen briefly went black/glitched out, requiring a reboot. However, Bazzite installed cleanly on the drive and booted right up into the initial setup wizard.
DaVinci Resolve on Linux
Installing DaVinci Resolve on Linux can often be a painful experience due to dependency issues and container setups. Through the Bazzite Portal, downloading and setting up DaVinci Box took just a couple of clicks.
The video playback and 4K timeline scrubbing ran noticeably smoother under Linux compared to Windows, making Bazzite (and Fedora) an impressive daily-driver candidate for media creators.
The Big Challenge: Waydroid & Hybrid GPU Black Screen
Waydroid allows you to run Android containerized on Linux with near-native performance. While Bazzite provides Waydroid integration, launching it on systems with dual graphics cards (Intel iGPU + discrete Nvidia GPU) often leads to a blank/black screen.
Why Does the Black Screen Happen?
Waydroid relies on Wayland and standard Mesa drivers to deliver 3D acceleration. By default, Linux desktop compositors (like GNOME's Mutter or KDE's KWin) often run directly on the discrete Nvidia GPU. When Waydroid attempts to initialize on an Nvidia primary renderer, it fails to display content.
The Fix: Set iGPU as Primary Compositor & Offload Heavy Apps
To fix Waydroid without sacrificing your Nvidia card's power for heavy games or video editing, you need to configure your system into Hybrid (PRIME) Mode:
-
Run the desktop compositor on the Intel iGPU (allowing Waydroid to render properly).
-
Offload discrete graphics applications (games, DaVinci Resolve) to the Nvidia GPU.
Step-by-Step Guide: Waydroid GPU Fix
System Architecture
-
Integrated GPU (iGPU): Intel UHD Graphics 630 (Handles desktop display and Waydroid)
-
Discrete GPU (dGPU): Nvidia RTX 2070 Super (Handles heavy apps and games)
-
Service:
switcheroo-control
Step 1: Force Desktop Compositor to Use Integrated GPU
For GNOME (Mutter)
Create a custom udev rule that forces Mutter to prefer the Intel iGPU:
-
Open your terminal and create the rules file:
sudo nano /etc/udev/rules.d/61-mutter-preferred-primary-gpu.rules -
Add the following rule tagging your Intel card as primary:
# Set Intel iGPU as preferred primary GPU for Mutter compositor ENV{DEVNAME}=="/dev/dri/card1", TAG+="mutter-device-preferred-primary"(Note: Verify whether your Intel card is
/dev/dri/card0or/dev/dri/card1usingls -l /dev/dri/)
For KDE Plasma (KWin)
Set environment variables so KWin uses the iGPU for Wayland composition:
-
Instruct KWin to run via the Intel DRM device path (e.g.,
DRI_PRIME=pci-0000_00_02_0or specifying the device path in/etc/environment). -
Log out and log back into your session.
Step 2: Test Waydroid
Launch Waydroid from your application launcher or terminal:
waydroid show-full-ui
Waydroid should now launch with full 3D hardware acceleration using Intel UHD graphics!
Step 3: Run Heavy Applications on Nvidia Discrete GPU
Since the system now defaults to the Intel iGPU for desktop rendering, you must tell performance-heavy apps to use your Nvidia GPU.
Method A: Command Line (switcherooctl)
Use switcherooctl to launch any application directly on the Nvidia dGPU:
switcherooctl launch davinci-resolve
Method B: Desktop Launcher GUI (KDE Plasma)
-
Right-click any app in your start menu.
-
Select Edit Application... -> Advanced.
-
Check Run using dedicated graphics card.
-
Save changes.
Method C: Environment Variables
For manual scripts or Steam launch options:
__GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 %command%
Final Verdict
Bazzite OS is an incredible, user-friendly, unbreakable Linux distribution. The Bazzite Portal simplifies app management, and Fedora's atomic updates provide peace of mind.
While immutable distros add a minor layer of complexity when tweaking system configurations, applying the hybrid GPU fix makes Bazzite an ideal operating system for both Android emulation with Waydroid and high-performance video editing/gaming on Nvidia hardware.
I’ve also made a video on this topic — you can watch it below.
Check out my other posts, I post useful tutorials and tech tips, maybe you will find something useful 😉.