Player guide
Platform support
A few features are compiled in only for certain platforms. If one of these is missing for you, it is not broken; your build never had it.
Each of these is decided when the client is built, so no cvar will turn it on.
| Feature | Available on | Absent on |
|---|---|---|
| EAX environmental audio | 32-bit Windows | 64-bit Windows, Linux, macOS |
| Discord Rich Presence | Windows (32- and 64-bit), x86-64 Linux and macOS | Apple Silicon macOS, ARM Linux |
| Steam playtime and overlay | Windows | Linux, macOS |
EAX is 32-bit Windows only
The EAX headers are compiled in only under MSVC
(CMakeLists.txt),
so it never exists outside Windows at all.
On Windows it is narrower still. The sound code asks for EAXMan64.dll in a 64-bit build
and EaxMan.dll otherwise
(snd_dma.cpp),
but the installer ships EaxMan.dll only for 32-bit builds. A 64-bit install gets
OpenAL32.x86_64.dll and nothing else
(InstallConfig.cmake).
The 64-bit path therefore looks for a library that is never shipped, and EAX quietly stays
off.
If you want EAX, you need a 32-bit Windows build. There is no configuration that changes this.
Discord Rich Presence needs x86-64 on Linux and macOS
Rich Presence is compiled in only where a prebuilt discord-rpc library exists for the
target
(CMakeLists.txt).
The macOS and Linux branches both require Architecture MATCHES "x86_64", and Windows is
covered for both 32- and 64-bit MSVC.
An Apple Silicon build matches none of those branches, so the DISCORD define is never set
and the feature is absent rather than disabled. The same applies to ARM Linux. Running an
x86-64 build under Rosetta is compiled differently and is not the same thing as an arm64
build.
The Windows AddressSanitizer build does not have it either, for an unrelated reason. See the AddressSanitizer build.
Steam integration is Windows only
Sys_SteamInit has a real implementation only in the Windows platform layer. The Unix one
is an empty function whose comment says as much: “Only Windows has this feature at the
moment”
(sys_unix.cpp).
This is not a build-time choice you can change: on Linux and macOS there is no code to
enable. com_steamIntegration still exists and still defaults to 1 there, because it is
registered in shared code, so the cvar being on is not evidence the feature is doing
anything.
Even on Windows it needs two files you have to supply yourself, and the commonly available package is 32-bit only. Setting it up is covered on the install page.
Renderers
Which renderer backends exist in your build is also a build-time choice, and a missing one falls back to the default with a message rather than failing. See Renderers.
Last changed History Edit this page on GitHub