Why Azeroth Survivors Strictly Requires WebGPU
Most legacy browser games are developed using Canvas2D or WebGL 1.0/2.0. However, Azeroth Survivors is engineered with a modern Rust architecture utilizing the Bevy engine. When thousands of enemies, animated auras, damage-over-time numbers, and spell particles crowd the screen simultaneously, WebGL's single-threaded draw call overhead creates severe CPU bottlenecks.
WebGPU maps directly to modern low-overhead native graphics APIs: DirectX 12 on Windows, Metal on macOS and iOS, and Vulkan on Linux and Android. This allows the WebAssembly client (wenilla_bg.wasm) to submit multi-threaded draw bundles directly to your GPU. If your browser lacks WebGPU or cannot find a compatible adapter, the engine cannot boot and displays the #gpu-warning banner.
Solution 1: The Dual-GPU Laptop Problem (Windows Fix)
By far the most common cause of the WebGPU error on Windows PCs occurs on gaming and creator laptops featuring two graphics chips: an integrated power-saving Intel/AMD Radeon graphics chip on the CPU, and a dedicated high-performance NVIDIA GeForce or AMD Radeon discrete GPU.
The Windows Compositor Trap Explained
As documented directly in the official rogue.js launcher source: "Chrome on Windows offers WebGPU only on the GPU its own compositor runs on, whatever the powerPreference: a laptop drawing on an integrated Intel GPU without a D3D12 WebGPU adapter gets none, even with a usable NVIDIA or AMD card next to it."
To force your browser onto the dedicated GPU, follow this exact sequence:
- Press the Windows Key, type Graphics Settings, and press Enter (or navigate to Settings > System > Display > Graphics).
- Under the "Custom options for apps" list, click Browse.
- Locate your browser executable:
- Google Chrome:
C:\Program Files\Google\Chrome\Application\chrome.exe - Microsoft Edge:
C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
- Google Chrome:
- Once added to the list, click the browser entry and select Options.
- Change the graphics preference from "Let Windows decide" to High performance (ensure it explicitly names your dedicated NVIDIA GeForce or AMD Radeon GPU).
- Click Save, close all running browser windows, and relaunch.
Solution 2: Enabling Browser Hardware Acceleration
If hardware acceleration is toggled off in your browser settings, the browser disables all GPU APIs (including WebGPU and WebGL), falling back to software rendering which cannot run the game.
For Google Chrome & Brave
- In the URL address bar, type
chrome://settings/systemand press Enter. - Ensure the toggle for "Use graphics acceleration when available" is set to ON (blue).
- Click the Relaunch button that appears next to the toggle.
For Microsoft Edge
- In the URL address bar, type
edge://settings/systemand press Enter. - Under the "System and performance" header, toggle "Use graphics acceleration when available" to ON.
- Click Restart.
Solution 3: Linux Chrome Flag Configuration
On Linux distributions (Ubuntu, Fedora, Arch, Debian), Google Chrome often keeps WebGPU behind an experimental flag due to varying X11 and Wayland Vulkan driver states.
- Open Google Chrome on your Linux desktop.
- In the address bar, type:
chrome://flags/#enable-unsafe-webgpuand press Enter. - Change the dropdown setting from "Default" to Enabled.
- Click the blue Relaunch button in the bottom right corner of the window.
- Ensure proprietary Vulkan drivers (e.g.,
mesa-vulkan-driversornvidia-driver) are installed on your Linux system.
How to Verify WebGPU Functionality
If you have applied the fixes above and want to verify whether your browser now successfully exposes WebGPU:
- Visit the official W3C WebGPU validation test page at: webgpu.github.io/gpuweb/test/ ↗
- Or open Developer Tools (press
F12), switch to the Console tab, and paste this command:navigator.gpu ? navigator.gpu.requestAdapter().then(a => console.log('WebGPU Adapter OK:', a?.info)) : console.error('No WebGPU support'); - If the console prints your dedicated GPU adapter info, your browser is fully primed. Return to the Azeroth Survivors Launcher and click Play!