Linux support for World of Warcraft

Hello,

Will Blizzard ever officially support Linux operating systems?

While I’ve learned to never say never here, for this one, I’d say the odds of winning the lottery are higher.

Which distro? Why not that distro? Which version(s) of the officially chosen distro? How long do they continue supporting older versions of that distro as major updates are released? It’s just too much trouble and effort, for too small of a benefit to the overall player base. Would they gain enough players to offset the costs of creating, maintaining, and supporting a Linux client? Almost certainly not.

1 Like

Back in the day some of the developers at Blizzard mentioned they did have an internal Linux build, but they never released it. Always the reason that it’s “harder” to support it properly which back then was true, nowadays it’s just laziness as you only need to target a specific runtime and the community will figure out the rest.

But to be honest, there is no point to have a native version of any game these days. Most Linux native games on Steam perform much worse than the Windows versions through Proton/DXVK. In some cases the games run even much better on Linux than Windows through those technologies.

We are actually lucky that Blizzard has continuously patched their games to work well with Wine (Or Proton or w/e you are using). Their games always worked #1 on Linux, and still do. Just a few months ago they rolled an update that specifically targetted a Linux bug for Battle.net client. I think that’s the best we can hope for, that they make sure their stuff works through Wine.

you don’t have to answer any of those questions. See what Valve did. They made their own runtime (Steam runtime). Games target that, and it’s guaranteed to work. People can use their own libraries / runtime if they want, but they’re on their own…

Looks at steam hardware survey, sees linux at 1.8% of OSes… That includes steamdeck, which managed to pump the numbers higher than macos; before that, it was like 0.7%. Mac got WoW because it is a pretty complete and secure platform.

Linux isn’t likely ever going to happen due to security reasons. There are too many kernels, too many distros, too many driver inconsistencies and it’s too easy to perform shady things, like cheating, on linux based operating systems.

1 Like
This game doesn't support the Vulkan Runtime or API, only DirectX 11 / 12.
NOTE: This is just a generic, hand-written, unofficial explanation, as to why the latest AAA title, or another game that you may be interested in, doesn't run native on nix, and of course how you could go about solving the issue yourself.
"WineHQ - World of Warcraft" -> https://appdb.winehq.org/objectManager.php?sClass=application&iId=1922
"World of Warcraft - Compatibility Database - CodeWeavers" -> https://www.codeweavers.com/compatibility/crossover/world-of-warcraft

On Linux / Unix, your only choice will be Wine / Crossover with a Vulkan wrapper API, provided you have compiled and installed the latest kernel / GPU drivers. It’s basically a framework that has the kernel driver, GPU driver, and various other software-based rendering engines, with low-level APIs, and handles for the APIs, needed to access them, also called a programming interface. Not all versions of Linux / Unix have this installed by default. The wrapper itself is like a “bridge”, or a form of cross-translation scheme, so it’s not 1:1 in every single way that you would imagine, as porting is a very different process, given the fact that Vulkan supersedes OpenGL, but relies on a similar set of underlying fundamentals. On top of that, there is no Win32 API, so it has to use either KDE / GNOME, with the X Window System / Wayland, and either widgets, or the QT Framework, as opposed to .NET 6.x - 8.x, and ActiveX with OLE / the Windows Presentation Foundation / WinUI 3. It’s not emulated, but they use a wrapper API to get it to function in a cross-platform setting. RHEL, CentOS, Clear Linux, etc, have better support for drivers, but technically speaking, any distribution can run it unofficially, if you compile the necessary frameworks and drivers yourself. A lot of distros don’t even have UEFI support, because the developer hasn’t compiled the graphics / kernel drivers required to boot into UEFI mode, even if the ELF signatures are easy to generate, and GRUB 2.x is open source. In some situations, you can avoid a lot of conflicts by compiling it in a docker container, but it is much slower than using hardware-based virtualization, or compiling in a native Linux / Unix environment. There is also the problem of legacy builds that rely too much on GCC, and lack newer Clang / LLVM support. Most text-based installers will default to the integrated GPU and not the discrete GPU, if an integrated GPU exists. If there is no driver for BOTH, it will hang / freeze in UEFI mode, and you will be forced to boot into BIOS / hybrid UEFI mode to finish the install. The only way around this, is to recompile and slipstream the newer driver onto another image for a future install, so it doesn’t happen again. On a Unix distribution like Solaris 11.x, you have Unified Archives / Golden Images, and distribution constructor, which alleviates the need to do this, although you would still have to compile the GPU framework, kernel mode driver, and associated dependencies, but that’s it. It’s comparable to having DISM / the servicing stack on Windows, and a set of WIM images. The crux of the issue is of course fragmentation between different distributions, but this is not new, and has been a problem since the late 1990s:

More information on this subject:

"Intel - Graphics for Linux - Programmer's Reference Manuals" -> "https://www.intel.com/content/www/us/en/docs/graphics-for-linux/developer-reference/1-0/overview.html"
"Intel - Graphics Media Stack" -> "https://www.intel.com/content/www/us/en/developer/topic-technology/open/graphics-media-stack/overview.html?wapkw=%20Intel%20Graphics%20Stack%20linux"
"Intel - Open Source Graphics Drivers and Vulkan Graphics API" -> "https://www.intel.com/content/www/us/en/developer/articles/technical/intel-open-source-graphics-drivers-and-vulkan-graphics-api.html"
"Intel - oneAPI-SRC" -> "https://github.com/oneapi-src"
"Intel - oneAPI Video Processing Library (oneVPL)" -> "https://github.com/oneapi-src/oneVPL"
"Intel - Graphics for Linux / Downloads - Downloads" -> "https://01.org/linuxgraphics/downloads"
"Intel - oneVPL GPU Runtime" -> "https://github.com/oneapi-src/oneVPL-intel-gpu"
"The Mesa 3D Graphics Library" -> "https://www.mesa3d.org/"
"AMD - Radeon Software for Linux Installation" -> "https://amdgpu-install.readthedocs.io/en/latest/"
"Microsoft Developer Blogs - DirectX Heart Linux" -> "https://devblogs.microsoft.com/directx/directx-heart-linux/"
"Microsoft Developer Blogs - Getting Started with the Agility SDK" -> "https://devblogs.microsoft.com/directx/gettingstarted-dx12agility/"
"Microsoft Developer Blogs - DirectX Developer Blog" -> "https://devblogs.microsoft.com/directx/landing-page/"
"AMD Developer Resources" -> "https://developer.amd.com/resources/developer-guides-manuals/"
"NVIDIA - Vulkan Driver Support" -> "https://developer.nvidia.com/vulkan-driver"
"NVIDIA - Vulkan Developer Tools" -> "https://developer.nvidia.com/vulkan#tools"
"Oracle Developer Resource Center" -> "https://developer.oracle.com"
"QT 6.x LTS - QT Help" -> "https://doc.qt.io/qt/qthelp-index.html"
"The Wayland Protocol - Documentation" -> "https://wayland.freedesktop.org/docs/html/"
"The Wayland Protocol - GitLab - Latest Version" -> "https://gitlab.freedesktop.org/wayland/wayland/-/tags?sort=version_desc"
"KDE - GitLab - Explore groups -> "https://invent.kde.org/explore/groups?sort=name_asc"
"KDE - Stable" -> "https://download.kde.org/stable/"
"KDE - Frameworks" -> "https://download.kde.org/stable/frameworks/"
"KDE - Documentation" -> "https://develop.kde.org/docs/"
"KDE TechBase" -> "https://techbase.kde.org/Welcome_to_KDE_TechBase"
"KDE TechBase - Development" -> "https://techbase.kde.org/Development"
"KDE TechBase - Development/Tools" -> "https://techbase.kde.org/Development/Tools"
"KDE TechBase - Development/Tutorials" -> "https://techbase.kde.org/Development/Tutorials"
"X.Org - X Window System" -> "https://www.x.org/wiki/"
"X.Org - X Window System - Documentation" -> "https://www.x.org/wiki/Documentation/"
"X.Org - X Window System - Releases - Download" -> "https://www.x.org/wiki/Releases/Download/"
"WineHQ - Getting Help" -> "https://www.winehq.org/help"
"WineHQ Wiki - Download" -> "https://wiki.winehq.org/Download"
"Wikipedia - AMDgpu (Linux kernel module)" -> "https://en.wikipedia.org/wiki/AMDgpu_(Linux_kernel_module)"
"Github - AMD GPUOpen Drivers " -> "https://github.com/GPUOpen-Drivers"
"Github - AMD Open Source Driver for Vulkan" -> "https://github.com/GPUOpen-Drivers/AMDVLK"
"Github - AMD Open Source Driver for Vulkan - Latest Release" -> "https://github.com/GPUOpen-Drivers/AMDVLK/releases"
"Github - AMD GPUOpen Drivers - LLVM-Based Pipeline Compiler (LLPC)" -> "https://github.com/GPUOpen-Drivers/llpc"
"Github - AMD GPUOpen Drivers - Platform Abstraction Library (PAL)" -> "https://github.com/GPUOpen-Drivers/pal"
"Github - AMD GPUOpen Drivers - Vulkan API Layer (XGL)" -> "https://github.com/GPUOpen-Drivers/xgl"
"Github - AMD ROCm - AMDGPU Driver with KFD" -> "https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver"
"Github - AMD ROCm - AMDGPU Driver with KFD - Latest Release" -> "https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/tags"
"AMD GPUOpen - Vulkan Open Source Driver" -> "https://gpuopen.com/amd-open-source-driver-for-vulkan/"
"AMD GPUOpen - Documentation and more" -> "https://gpuopen.com/learn/"
"AMD GPUOpen - Vulkan" -> "https://gpuopen.com/vulkan/"
"AMD GPUOpen - AMD open source driver for Vulkan" -> "https://gpuopen.com/vulkan/#driver"
"Microsoft Learn - .NET Standard overview - Official artifacts" -> "https://learn.microsoft.com/en-us/dotnet/standard/net-standard#official-artifacts"
"Microsoft Learn - Open Specifications - Windows Protocols" -> "https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-winprotlp/92b33e19-6fff-496b-86c3-d168206f9845"
"Unified Extensible Firmware Interface Forum - Links to UEFI Specification - Related Documents" -> "https://uefi.org/uefi"
"Vulkan LunarXchange" -> "https://vulkan.lunarg.com"
"Vulkan LunarXchange - Getting Started with the Linux Tarball Vulkan SDK" -> "https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html"
"Vulkan LunarXchange - Downloads" -> "https://vulkan.lunarg.com/sdk/home"
"AMD Developer Resources" -> "https://www.amd.com/en/developer.html"
"AMD Optimizing C/C++ and Fortran Compilers (AOCC)" -> "https://www.amd.com/en/developer/aocc.html"
"AMD Optimizing CPU Libraries (AOCL)" -> "https://www.amd.com/en/developer/aocl.html"
"AMD optimized Spack recipe for HPC workloads" -> "https://www.amd.com/en/developer/spack.html"
"AMD Tech Docs" -> "https://www.amd.com/en/support/tech-docs"
"AMD DevHub" -> "https://devhub.amd.com"
"Intel Developers - Intel 64 and IA-32 Architectures Software Developer Manuals" -> "https://software.intel.com/content/www/us/en/develop/articles/intel-sdm.html"
"Intel 64 and IA-32 Architectures Software Developer Manuals" -> "https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html"
"Intel Developer Zone" -> "https://www.intel.com/content/www/us/en/developer/overview.html"
"Intel oneAPI Documentation" -> "https://www.intel.com/content/www/us/en/developer/tools/oneapi/documentation.html"
"Intel oneAPI Toolkit" -> "https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html"
"Intel Development Tools" -> "https://www.intel.com/content/www/us/en/developer/tools/overview.html"
"Get Started with the Intel oneAPI Base Toolkit for Windows" -> "https://www.intel.com/content/www/us/en/docs/oneapi-base-toolkit/get-started-guide-windows/2023-1/overview.html"
"Get Started with the Intel oneAPI HPC Toolkit for Windows" -> "https://www.intel.com/content/www/us/en/docs/oneapi-hpc-toolkit/get-started-guide-windows/2023-1/overview.html"
"The Linux Kernel documentation" -> "https://www.kernel.org/doc/html/latest/"
"Khronos Group - Developer Resource Hub" -> "https://www.khronos.org/developers"
"Khronos Group - Reference Guides" -> "https://www.khronos.org/developers/reference-cards/"
"The Microsoft Press Store - Programming titles" -> "https://www.microsoftpressstore.com/store/browse/programming"
"The Microsoft Press Store - Windows titles" -> "https://www.microsoftpressstore.com/store/browse/windows"
"NVIDIA - Unix Driver Archive" -> "https://www.nvidia.com/en-us/drivers/unix/"
"NVIDIA - Legacy GPU drivers ( UNIX )" -> "https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/"
"Khronos Group - Vulkan Portability Initiative" -> "https://www.vulkan.org/porting#vulkan-portability-initiative"
"Khronos Group - Vulkan GPU Resources" -> "https://www.vulkan.org/tools#vulkan-gpu-resources"

Howdy!

This topic is “Will Blizzard ever” instead of How or can I. This is more of a feedback thread geared towards feedback discussion which you can provide either in game or on our General forums. We currently do not support Linux, meaning we can’t help you get the game running on Wine, Bottles, PlayonLinux, or Proton. Going to lock this thread given the Technical support forums are for technical-related issues, topics of feedback are for our General forums.

Thank you!