How to Play Diablo 4 on Ubuntu with Xbox Controller, OpenRGB, and HDR

-
Diablo 4 on Ubuntu

Gaming on Linux has come a long way, and Ubuntu 25.04 is an excellent platform for both casual and enthusiast players. With the shift to Wayland by default, you can now enjoy smoother graphics, better security, and improved multi-monitor handling. However, getting a fully featured gaming setup running can still present challenges. This guide walks you through four essential tweaks: installing and playing Diablo 4, connecting an Xbox One controller wirelessly, configuring RGB lighting with OpenRGB, and enabling the experimental HDR support for a more immersive visual experience. Whether you are a seasoned Linux user or just diving in, these steps will help you build a premium gaming environment on Ubuntu.

Each section is designed to be followed independently, but together they create a cohesive setup that rivals other operating systems. We’ll use a mix of native Linux tools, community-driven software, and a few workarounds to get everything humming. Let’s dive in.

Installing and Running Diablo 4 on Ubuntu 25.04

Blizzard’s Diablo 4 runs remarkably well on Linux through compatibility layers like Wine and Proton. The easiest method is to use Lutris, a game manager that bundles all necessary components and scripts. Before you begin, ensure your system is up to date and has the required dependencies:

sudo apt update && sudo apt upgrade -y
sudo dpkg --add-architecture i386
sudo apt install wine wine32 wine64 libwine libwine:i386 fonts-wine cabextract winbind

Next, install Lutris from the official repository or via Flathub. If you prefer the latest version, adding the Lutris PPA is recommended:

sudo add-apt-repository ppa:lutris-team/lutris
sudo apt update
sudo apt install lutris

Within Lutris, click the ‘+’ icon and search for ‘Battle.net’. Select the official installer script. Lutris will automatically set up a Wine prefix with the necessary environment variables, DXVK, and VKD3D for DirectX translation. Once Battle.net is installed, log in to your account and download Diablo 4. For optimal performance, right-click the game in Lutris, choose ‘Configure’, and under ‘Runner options’, enable ‘Fsync’ and ‘Esync’. In the ‘Game options’ tab, you may need to add the argument --exec="launch fenris" if the game fails to start. Also ensure that the ‘Wine version’ is set to a recent GE-Proton build (installable via Lutris’s wine manager). With these tweaks, Diablo 4 should run at 60+ FPS on capable hardware.

Connecting an Xbox One Controller on Ubuntu

The Xbox One controller is supported out of the box over USB, but wireless connectivity via Bluetooth often requires extra steps on Ubuntu. The system uses Wayland by default in 25.04, which generally handles input devices better than X11, but the Bluetooth stack can be finicky.

First, make sure Bluetooth is active and your controller is in pairing mode (press and hold the sync button until the Xbox logo flashes quickly). Open the Bluetooth settings in GNOME or Cinnamon and pair the device. If it appears as ‘Unknown’ or fails to connect, you likely need to install the xpadneo driver, which provides robust support for Xbox One S and Series X|S controllers:

sudo apt install dkms git linux-headers-$(uname -r)
git clone https://github.com/atar-axis/xpadneo.git
cd xpadneo && sudo ./install.sh

After installation, reboot or reload the module with sudo modprobe -r xpad && sudo modprobe hid_xpadneo. For some Bluetooth chipsets, disabling ERTM (Enhanced Re-Transmission Mode) can improve stability:

echo 'options bluetooth disable_ertm=Y' | sudo tee /etc/modprobe.d/bluetooth-ertm.conf
Then restart Bluetooth: sudo systemctl restart bluetooth.

Once connected, test the controller with jstest-gtk or evtest. If you use Steam, it will automatically recognize the controller and provide mapping profiles. For non-Steam games, tools like sc-controller or Lutris’s built-in controller support can handle input translation.

Getting OpenRGB to Work on Ubuntu Cinnamon 25.04

OpenRGB is a cross-platform RGB lighting control application that supports a wide range of devices, but it needs direct hardware access. On Ubuntu, you must configure udev rules to grant your user the necessary permissions without running the app as root.

First, install OpenRGB. You can download the AppImage from the official website or use the Flatpak from Flathub. The AppImage is often more reliable with hardware access:

wget https://gitlab.com/CalcProgrammer1/OpenRGB/-/jobs/artifacts/master/raw/OpenRGB-x86_64.AppImage?job=build-linux -O OpenRGB.AppImage
chmod +x OpenRGB.AppImage

Before launching, set up udev rules to allow non-root access. Create a file /etc/udev/rules.d/99-openrgb.rules with your preferred text editor (using sudo) and paste the appropriate rules from the OpenRGB udev repository (search ‘OpenRGB udev rules’ on GitLab). After saving, run:

sudo udevadm control --reload-rules && sudo udevadm trigger

If your motherboard or RAM RGB isn’t detected, ensure the i2c-dev kernel module is loaded: sudo modprobe i2c-dev. Some devices may also require i2c-piix4 or i2c-nct6775. After these steps, launch OpenRGB, click ‘Rescan Devices’, and they should appear. Note that on Cinnamon, you may need to run with QT_QPA_PLATFORM=wayland if visual glitches occur.

Enabling HDR for Gaming on Ubuntu 25.04 (Wayland)

High Dynamic Range (HDR) support on Linux is still experimental, but Ubuntu 25.04 with Wayland offers a preview through Gamescope, Valve’s micro-compositor. It works best with AMD GPUs using the open-source Mesa driver. Nvidia users are currently out of luck due to missing driver features.

First, install gamescope:

sudo apt install gamescope

To launch a game with HDR, you must also enable the experimental HDR mode in Mutter, Ubuntu’s Wayland compositor. This is controlled by an experimental flag. Open a terminal and run:

gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer', 'kms-modifier', 'hdr']"

Log out and back in (or restart). Now you can invoke gamescope with the --hdr-enabled flag. For example, to run Diablo 4 via Lutris with HDR:

gamescope --hdr-enabled -- %command%

In Lutris, right-click the game, go to ‘Configure’ -> ‘Game options’, and set ‘Command prefix’ to gamescope --hdr-enabled --. Ensure your monitor supports HDR and is properly set up (check your display settings). The game must also have HDR enabled in its graphics options. While this still requires tweaking per title, the results can be stunning.

Frequently Asked Questions

Can I play Diablo 4 without Lutris?

Yes, you can use Bottles or a manual Wine prefix. Bottles offers a similar sandboxed environment with preconfigured templates. You can also install Battle.net directly via wine and the wine command, but you will need to manually configure DXVK, VKD3D, and dependencies, which is more error-prone.

Why won’t my Xbox controller stay connected after pairing?

This is often due to Bluetooth LE issues or missing drivers. Try disabling ERTM as described above, installing xpadneo, and ensuring the controller firmware is updated via a Windows PC or Xbox. Also, avoid pairing in X11 if you are on Wayland; use the native Blueman or GNOME Bluetooth manager.

OpenRGB doesn’t detect any devices. What should I do?

First, run OpenRGB with sudo once to see if devices appear. If they do, you need to fix udev rules. Also check that your devices are supported on the OpenRGB hardware list. Some motherboards need additional kernel modules or specific SMBus access configurations.

Is HDR working on Nvidia GPUs with Ubuntu?

Not at the moment. HDR support in gamescope and Wayland relies on the AMDGPU kernel driver and Mesa’s Vulkan driver, which have the necessary color management and display protocols. Nvidia’s proprietary driver does not yet expose the required interfaces.

Do I need to switch to X11 for these setups?

In most cases, no. Wayland in Ubuntu 25.04 works well with gaming. However, some legacy applications or screen capture tools may require Xorg. If you run into input or rendering issues, you can switch at the login screen by clicking the gear icon and selecting “Ubuntu on Xorg”.

How do I install Battle.net without Lutris?

You can install it in a fresh Wine prefix: create a 64-bit prefix with WINEARCH=win64 winecfg, set it to Windows 10, install core fonts and vcrun2019 via winetricks, and then run the Battle.net installer. The process is detailed on various community wikis but is less streamlined than using Lutris or Bottles.

Leave A Reply