A long time ago, when I first started my website, I would try to write random helpful articles that weren't such opinion pieces on coding conventions and practices etc.
This is one of those very specific "how tos".
I'll try to treat this as a living document, and add fixes/tweaks I have to apply as time goes on, as certain other sources (reddit etc.) seem less permanent now than in the past (as of this writing, the entire Lutris subreddit is banned/unreadable - blocking off a host of good information, thanks to the API change protests at first, then a retalatory ban in response).
Overall, Diablo 4 runs very well on GNU/Linux (I'm using a Lenovo Thinkpad X1 Extreme gen 3, with Arch Linux).
From here on, I'll assume the basics for GNU/Linux gaming are already setup:
Open up Lutris, look in the top left corner for the big plus ("+") and click it. Choose to install via the first option - from an online recipe.
Search for "Diablo IV" - you should see a single match (or use this link from the web to launch in Lutris directly https://lutris.net/games/diablo-iv/)
This was a big blocker for me, and led me into trying many non-lutris alternatives, until I thankfully stumbled on a solution on YouTube, by the creator of proton-GE, Glorious Eggroll themself - https://www.youtube.com/watch?v=PRY56C9Jce0&lc=.
Essentially, the recommendation is get a copy of the bnet binary from an external source, and drop it in the expected target directory for bnet via lutris, then close (X) the bnet loader that is paused at 50%, but wait a bit longer for the lutris process to resume and detect that it is installed.
It should then treat it as a successful bnet install, and proceed to install Diablo IV (side note - I had installed initially under Windows, and had the bnet launcher detect that install by mounting my NTFS partition under GNU/Linux).
Something may be wrong with your "prime-run" setup - try this:
prime-run glxinfo|grep -i nvid
Did it show info about Nvidia? If not, you can remove the grep portion and see it likely ran off your integrated or failed to run at all.
If it did work, it may be complaining about a driver version - give this a shot:
https://us.forums.blizzard.com/en/d4/t/main-thread-gpu-drivers-out-of-date/89
Add -bypassgpudrivercheck to the special args under game settings in bnet launcher.
Blizzard made a terrible change, and set "Adapter" to 0 in "LocalPrefs.txt" in this patch (June 30th, 2023 or so). Unfortunately, this will force the game to look at the integrated GPU, which isn't going to work. Change the "0" to a "1" and you'll be back in business.
https://www.reddit.com/r/linux_gaming/comments/14nge5d/diablo_4_suddenly_not_working_on_steam/
I notice my Lutris+Diablo IV setup created this file under "~/Documents/Diablo IV/LocalPrefs.txt". For users going via steam, it will likely be elsewhere. If that reddit link disappears, try:
find ~ -name LocalPrefs.txt
You may have missed my recommendation above to use Nvidia `v530` and not `v535`. This will require using Linux 6.3.5 - on Arch, I pinned all of this as such in my /etc/pacman.conf file:
IgnorePkg = linux linux-headers linux-api-headers nvidia nvidia-utils lib32-nvidia-utils