EDuke VR v0.1.3 for Linux on 64-bit ARM: the Steam Frame on SteamOS, and other arm64 Linux.
Changes in v0.1.3
- SteamVR: the game renders in VR while SteamVR's dashboard or a system screen has focus. Before, it showed only a flat 2D screen in the headset, for example on the Steam Frame when started outside Steam. Controllers work once the game has focus.
- Tipping ("shake it baby"): Duke pinches the stack of bills between thumb and index and holds it out, instead of the bills clipping into his palm.
- Tested on a Steam Frame (native ARM build): VR at a steady 72 fps, and joining a multiplayer server works.
Changes in v0.1.2
- Windows: the game no longer crashes at startup. It used to crash right after "Initialized … cache", especially with the Voxel Duke pack. The cause was a compiler optimisation (link-time optimisation) in the Windows build corrupting memory; it is now built without it.
- Multiplayer level changes through the exit work. Before, the next level could load broken (wrong geometry), freeze, or keep putting other players outside the map.
- Switching to the pistol in multiplayer no longer flips the view to a flat screen for a moment.
- Voice chat: automatic gain control. Every talker is brought to the same loudness; quiet microphones are raised up to 8x (
voice_agc,voice_agc_max_gain). - Ducking for real now adapts to sitting down. Seated players were stuck crouched ("very short").
vr_physicalcrouch 0turns ducking-to-crouch off. - One-time map triggers fire once in multiplayer. The E1L1 opening line no longer loops; secret areas and exits also fire once.
- VR starts on OpenXR 1.0 runtimes such as SteamVR on the Steam Frame.
- Network statistics in the game log once a minute: round trip, jitter, packet loss.
The server and all players need v0.1.3 (Windows, Linux and ARM releases of the same version play together). To update: ./update.sh / powershell -ExecutionPolicy Bypass -File update.ps1.
Install / update
Existing installs: run ./update.sh, which fetches this release on ARM machines. New installs: extract the archive, then run ./play.sh vr or ./play.sh desktop. ./join.sh HOST[:PORT] joins a server. On SteamOS, add play.sh as a non-Steam game. Requires glibc 2.31+, SDL2, and for VR an OpenXR runtime that supports OpenGL (SteamVR on the Frame lists it).
You need your own Duke Nukem 3D data (DUKE3D.GRP): put it in data/grp/, or let the game find an installed copy. Multiplayer works with v0.1.0 players and servers.
Not yet confirmed on a Frame headset: if VR still doesn't start there, the game's log from that run shows where it failed.
x86_64 Linux: see the -linux release. Windows: see the -windows release.
License
GPL v2 (EDuke32 and this port) plus Ken Silverman's BUILD license for the engine (non-commercial). Third-party library licenses are in licenses/. The source is this tag (the "Source code" downloads below). No game data is included.