Repository navigation
v1.2 - Wheel Support
⚠️ Superseded — please update to v1.3.This version has two problems that are fixed there:
- A crash to desktop when a race finishes. It depends on your machine, so many people never saw it — but if it affected you, it happened every single race.
- Stuttering roughly once a second, in menus as much as in a race. Fixing it took the frame rate from 83–87 fps to a locked 90.
Also note: the centring spring described below never actually worked. The spring wheel users felt comes from G HUB's own setting, which the wheel section already tells you to enable.
Steering is properly analog now — the thing players reported most after v1.1 — plus controller haptics and experimental support for racing wheels.
No controls have moved since v1.1. If you already play, nothing to relearn.
Full setup, controls and known limitations are in PCVR_README.md. Requirements are unchanged: a 32-bit OpenXR runtime (Virtual Desktop works, SteamVR does not), and your own copy of the game.
Steering
Several players described the thumbsticks as "a dead zone, then full tilt, like a binary on/off", and noticed an Xbox pad felt fine by comparison. They were right, and it was not a tuning problem.
The mod steered by injecting arrow-key presses past a threshold. The game builds its steering value from those keys at full deflection, so there was no in-between to feel — while a gamepad drove the game's analog path directly. Two different code paths, which is why the two felt so different.
Steering now writes that value directly, with no threshold. Small movements give small turns.
Controller haptics
The Touch controllers now respond to what happens on track:
- bumping another racer, scaled by how hard
- scraping walls and terrain
- crashing
- a short kick when boost engages
Both strength curves were calibrated from logged data across several sessions rather than guessed, so a light scrape feels different from a heavy crash. Adjust or switch off under VR in the F5 panel.
About the game's Force Feedback screen: it reports NO FORCE FEEDBACK DEVICE DETECTED, and that is correct and unrelated. It lists DirectInput wheels and joysticks, and a headset is not one. Controller haptics are a separate path.
Racing wheels (experimental)
A wheel is detected automatically — the mod asks Windows what each attached device is, so a wheel enables wheel support and a gamepad does not. Nothing to switch on.
Steering, both pedals, the D-pad for menus, and the face buttons are all mapped, and everything is remappable under Input in the F5 panel. The mod also restores the wheel's centring spring, which the game switches off when it takes the device and never puts back.
Defaults are a Logitech G923 map. Other wheels report different axis and button numbers, so use the Input panel — turn or press a control and it lists whichever one moved.
Two settings on the wheel itself matter more than anything in the mod. In Logitech G HUB, enable Centering Spring in Non Force Feedback Games, and drop Operating Range from 900 degrees to about 240. A podracer wants a quick input, and a shorter range gives far finer control.
Tested on one wheel by one person. It should adapt to others, but expect to set the numbers yourself.
Also in this release
The F5 panel is reorganised. The VR settings are now called VR and appear first; wheel settings live under Input, where they belong.
Defaults now match a tuned configuration rather than first guesses — HUD size, overlay text size and menu placement. The download deliberately contains no ini, so the defaults are what a new player actually gets.
Known limitations
Unchanged from v1.1: overhead place numbers are suppressed, HUD and menus share one panel, frame rate is mid-to-high 80s on a 90 Hz headset (CPU-bound in a single-threaded 1999 engine rendered twice), and physics is framerate-coupled.
New, and specific to wheels: on a G923, Start, Back and the clutch pedal cannot be reached. They are not exposed to DirectInput at all — not by the game, and not by reading the device directly — so nothing here can bind them. Binding a keystroke to them in your wheel's own software works: Escape on Start gives you pause.
Reporting problems
Grab hook.log from the game folder before relaunching — it is overwritten each launch and opens with an environment block that answers most questions on its own. If it crashed, include the timestamped report from crashes/.
Licence
AGPL-3.0, inherited from SW_RACER_RE by tim-tim707 and contributors, on whose decompilation and OpenGL renderer this is built. Complete corresponding source is the pcvr branch of this repository. openxr_loader.dll is the Khronos Group's OpenXR loader, redistributed unmodified under Apache-2.0. The original game is the property of LucasArts / Lucasfilm.