Repository navigation
Releases: nautymac/tridef3d-win11-injector
Release list
v3.3.0 - window front end, no console
v3.3.0: a window instead of a console
Both launchers now open a small window: the games registered in TriDef 3D
Ignition (most recently launched at the top), a Launch in 3D button, and
a log pane that shows what the launcher is doing. No console window at any
point: the 32-bit injection helper runs hidden and Steam is started through
the shell.
Tridef3D_Play.exeandTridef3D_Play_SR.exebehave the same way; the SR
one adds the SR panel weaving as before.- Korean UI when Windows' display language is Korean, English otherwise.
--lang ko/--lang enforces one. - A game name on the command line still launches it right away, with the
window showing progress. --consolekeeps the old terminal flow for scripts.--dry-runworks in
both.- Everything printed during a launch is also written to
launcher.lognext
to the exe, so a failure can be reported even after the window is closed. - Per-monitor DPI aware: crisp and correctly sized on 4K / scaled displays.
The injection logic is unchanged from v3.2.x. Weaving DLLs under sr\ are
the same builds as v3.2.1.
Files
| File | Needed for |
|---|---|
Tridef3D_Play.exe |
Regular TriDef launch |
Tridef3D_Play_SR.exe |
TriDef + SR panel weaving |
sr\x86\*.dll, sr\x64\*.dll |
Weaving DLLs used by the SR launcher |
Inject32.exe |
32-bit games. Same folder as the exe |
*.bat |
Old console-era wrappers, no longer needed |
v3.2.4 - white lettering on the launcher icons
v3.2.4: white lettering on the launcher icons
The "3D" and "Tridef" lettering on the icons is now white, with a light
raised edge, instead of dark blue on blue.
Tridef3D_Play.exe: blue glass tile, white "3D" over "Tridef".Tridef3D_Play_SR.exe: purple tile, white "3D" over "Tridef SR".- At 40 px and below only the "3D" lettering is shown.
The icons are now drawn by res/make-icon.ps1 rather than cut from
artwork, so the letters stay crisp at every size.
No functional changes. Launcher behaviour and the weaving DLLs under sr\
are the same as v3.2.2.
If Explorer keeps showing an older icon after you replace the files, that
is Windows' icon cache. Run ie4uinit.exe -show, or restart Explorer.
Files
| File | Needed for |
|---|---|
Tridef3D_Play.exe + .bat |
Regular TriDef launch |
Tridef3D_Play_SR.exe + .bat |
TriDef + SR panel weaving |
sr\x86\*.dll, sr\x64\*.dll |
Weaving DLLs used by the SR launcher |
Inject32.exe |
32-bit games. Same folder as the exe |
v3.2.3 - new launcher icons
v3.2.3: new launcher icons
The launcher icon from v3.2.1 (two overlapping screens with a play
triangle) looked too much like the SRCapture3D app's icon. Replaced with a
TriDef-style design: a blue glass tile with raised "3D" lettering.
Tridef3D_Play.exe: blue tile, "3D" over "Tridef".Tridef3D_Play_SR.exe: the same tile in purple with a "Tridef SR" label,
so the two launchers can be told apart at a glance.- At 40 px and below only the "3D" lettering is shown, enlarged, since the
smaller text is unreadable at those sizes.
No functional changes. Launcher behaviour and the weaving DLLs under sr\
are the same as v3.2.2.
If Explorer keeps showing the old icon after you replace the files, that is
Windows' icon cache. Run ie4uinit.exe -show, or restart Explorer.
Files
| File | Needed for |
|---|---|
Tridef3D_Play.exe + .bat |
Regular TriDef launch |
Tridef3D_Play_SR.exe + .bat |
TriDef + SR panel weaving |
sr\x86\*.dll, sr\x64\*.dll |
Weaving DLLs used by the SR launcher |
Inject32.exe |
32-bit games. Same folder as the exe |
v3.2.2 - steamflags variant removed
v3.2.2: steamflags variant removed
Tridef3D_Play_steamflags.exe is gone. It launched Steam with
-no-browser -no-cef-sandbox and shipped as a just-in-case backup from
v3.0.0 to v3.2.1. Those flags never made a difference once the DLL load
order was fixed, and nothing has needed the backup since.
- Removed the steamflags exe, its
.bat, and the code path behind it,
including the write of those flags into Ignition's per-gameArgument
value. The launcher now only sets Ignition'sLastGameName. --steam-flagsand--no-steam-flagsare still accepted and ignored, so
existing shortcuts keep working.Tridef3D_Play.exeandTridef3D_Play_SR.exeboth carry the launcher
icon introduced in v3.2.1.- Weaving DLLs under
sr\are the same builds as v3.2.1.
Checked after the change: Left 4 Dead through Tridef3D_Play_SR.exe
reaches the first woven frame as before.
Files
| File | Needed for |
|---|---|
Tridef3D_Play.exe + .bat |
Regular TriDef launch |
Tridef3D_Play_SR.exe + .bat |
TriDef + SR panel weaving |
sr\x86\*.dll, sr\x64\*.dll |
Weaving DLLs used by the SR launcher |
Inject32.exe |
32-bit games. Same folder as the exe |
v3.2.1 - launcher icon, SR weaving fixes for DX9 and DX11
Same launcher as v3.2.0 with two things fixed and its own icon.
What changed
- The launchers have a proper icon instead of PyInstaller's Python one (
Tridef3D_Play.exe,Tridef3D_Play_SR.exe,Tridef3D_Play_steamflags.exe). Source:res\make-icon.ps1. - SR weaving now works on games that wrap the device or the swap chain fully (
--sr/Tridef3D_Play_SR.exe):- DX9: on Binary Domain the throw-away device's
GetSwapChain(0)returnsD3DERR_INVALIDCALL, so no hook was installed and the game stayed 2D on the panel. The real device is now found inside TriDef's device wrapper instead. - DX11: on Gone Home TriDef's DXGI layer returns a fully wrapped swap chain, same story. The real swap chain is now found inside that wrapper.
- Verified: Left 4 Dead and Binary Domain (DX9, 32-bit), Gone Home (DX11, 64-bit) - hooks land in
d3d9.dll/dxgi.dll, weaver created, first weaved frame at 3840x2160, weaving visible on the panel.
- DX9: on Binary Domain the throw-away device's
- The weaving DLL source now lives in this repo under
srweave\(it used to sit in a separate project), so one clone has everything.
What is in the zip
Tridef3D_Play.exe (pick a game from the list), Tridef3D_Play_SR.exe (same plus SR panel weaving), Tridef3D_Play_steamflags.exe (backup variant), Inject32.exe (required for 32-bit games), the matching .bat wrappers, and sr\x86 / sr\x64 with the weaving DLLs.
Keep the folder layout as it is. Needs TriDef 3D installed with the game registered in Ignition once, and - for --sr - the SR / SpatialLabs runtime (the 32-bit runtime too for 32-bit games).
🤖 Generated with Claude Code
v3.2.0 - SR panel support (SpatialLabs / Simulated Reality)
v3.2.0: SR panel support (SpatialLabs / Simulated Reality)
New Tridef3D_Play_SR.exe (same as Tridef3D_Play.exe --sr): after TriDef's
DLLs it injects one more, SRWeaveDX9.dll (32-bit games) or
SRWeaveDX11.dll (64-bit games), which weaves TriDef's side-by-side output
for a lenticular SR panel inside the game process, right before Present.
No capture step, no extra frame of latency, exclusive fullscreen works.
The weaving DLLs come from the
SRCapture3D project (weave/,
release weave-v1.0.0) and are bundled here under sr\x86 and sr\x64.
Keep that folder structure next to the exe.
Verified with TriDef 3D active:
- Left 4 Dead (DirectX 9, 32-bit)
- Binary Domain (DirectX 9, 32-bit), seen on the panel
- Gone Home (DirectX 11, 64-bit)
Requirements on top of v3.1.0: the SR / SpatialLabs runtime installed and
its service running. 32-bit games need the 32-bit runtime as well
(C:\Program Files (x86)\Simulated Reality\Platform\bin). Administrator
rights are not required for the SR launcher; Steam starts the game with
normal rights and injection works as-is.
In-game hotkeys: Ctrl+Alt+W weave on/off, Ctrl+Alt+S swap eyes, Ctrl+Alt+T
red/blue test pattern, Ctrl+Alt+L lens on/off. SRWeave.ini and
SRWeave.log live next to the DLL (sr\x86 or sr\x64).
Everything from v3.1.0 is unchanged: DirectX 9 + 11 through TriDef's own
DLLs, sequential loading, configuration-window games handled, exe-registered
games supported, Tridef3D_Play_steamflags.exe kept as a backup.
Files
| File | Needed for |
|---|---|
Tridef3D_Play.exe + .bat |
Regular TriDef launch (no SR weaving) |
Tridef3D_Play_SR.exe + .bat |
TriDef + SR weaving |
sr\x86\*.dll, sr\x64\*.dll |
Weaving DLLs used by the SR launcher |
Inject32.exe |
32-bit games. Same folder as the exe |
Tridef3D_Play_steamflags.exe + .bat |
Backup variant, not normally needed |
v3.1.0 - Games with a configuration/launcher window (Binary Domain)
v3.1.0: games with a configuration/launcher window
Fixes the case documented for Binary Domain: Steam first opens
BinaryDomainConfiguration.exe (a resolution/options window), and the real
BinaryDomain.exe is only spawned when you press Start in it. v3.0.0 picked
the configuration window as the "main exe", injected there, reported
success, and the actual game then ran in 2D.
What changed:
- Main exe selection. An exe whose name matches the install folder
(Binary Domain→BinaryDomain.exe) is preferred. Configuration,
options, settings, setup, launcher, updater and crash-handler exes are
skipped, and the skipped ones are printed in the log so a wrong guess is
visible. - Wait for the real game. The tool only injects into a process with the
target exe name. A configuration/launcher window opening first is ignored,
and the tool keeps waiting for up to three minutes with a periodic
reminder. Click Start in the window as usual; injection happens when the
real game process appears. - Registering by exe works too. If you add the game to Ignition by
pointing it at the exe instead of as a Steam title, that exe is used as-is
with no guessing, which is the surest way to pin games like Binary Domain
toBinaryDomain.exe. The game is still launched through Steam: the AppID
is looked up from the exe's install folder via Steam's appmanifest files,
so the exe must live under a Steam library'ssteamapps\common. - Already running? If the target game is already open, the tool says so
and exits immediately instead of waiting; Steam won't start a second copy.
Everything else is as in v3.0.0: DirectX 9 (32-bit) and DirectX 11
(64-bit) through TriDef's own DLLs, sequential DLL loading, LastGameName set
to the launched game, plain steam:// launch by default with the Steam-flags
build kept as a backup.
Files
| File | Needed for |
|---|---|
Tridef3D_Play.exe |
Always. Self-contained, no install, no Python. |
Inject32.exe |
32-bit games only. Must sit in the same folder. |
Tridef3D_Play.bat |
Optional double-click wrapper. |
Tridef3D_Play_steamflags.exe + .bat |
Backup variant launching Steam with -no-browser -no-cef-sandbox. Not normally needed. |
Run as Administrator. Cross-process injection requires it.
Requirements
Windows 10/11 64-bit, your own licensed TriDef 3D install, Steam, and the
game added once in Ignition's UI (Ignition need not be running afterwards).
No TriDef binaries are included or redistributed here.
v3.0.0 - DirectX 9 + 11, bypasses the TriDef Ignition pop-up
A way around the TriDef Ignition pop-up
Press Play in TriDef 3D Ignition on Windows 11 and you get the dialog
"this game did not use Direct3D 9, 10 or 11", with the game running in
plain 2D. This release exists to get around that pop-up.
Register the game in Ignition once so its per-game 3D profile is available,
then launch with Tridef3D_Play.exe instead of Ignition's Play button.
Injection is done from scratch against the correct process, so TriDef's real
DLLs hook the game, stereo 3D works, and no dialog appears.
The pop-up was never a licensing or compatibility check. It is a post-mortem
report: Ignition watched a throwaway steam.exe process instead of the game,
saw no Direct3D there, and said so.
What's new in v3.0.0
- DirectX 9 support, using TriDef's own engine. Confirmed on Left 4 Dead,
The Cave and Torchlight, every launch. - What made DirectX 9 work: load order.
TriDefIgnition.dllmust be
initialised beforeTriDefD3D9.dll, or the D3D9 DLL stays inert. The old
32-bit helper loaded both in parallel, so the order was random and DX9
worked about one launch in three.Inject32.exeis now a 4 KB native
helper that loads them strictly in order. - The right profile for the right game. TriDef finds a game's profile
through Ignition'sLastGameNameregistry value. The launcher now sets it
to the game being launched, so you get that game's profile rather than
whichever one was last clicked in Ignition. - DirectX 11 unchanged, confirmed on Gone Home.
- Renamed to
Tridef3D_Play.exe(wasPlay3D.exein v2.0.0). - Supersedes v2.0.0, which was DirectX 11 only.
Files
| File | Needed for |
|---|---|
Tridef3D_Play.exe |
Always. Self-contained, no install, no Python. |
Inject32.exe |
32-bit games only. Must sit in the same folder. |
Tridef3D_Play.bat |
Optional double-click wrapper. |
Tridef3D_Play_steamflags.exe + .bat |
Backup variant, see below. Not normally needed. |
Run as Administrator. Cross-process injection requires it.
About the backup variant
While chasing the DirectX 9 problem, a forum tip suggested launching Steam
with -no-browser -no-cef-sandbox. It happened to be in place for the first
success, so it looked like the fix for a while. With sequential loading it
makes no difference: Left 4 Dead, The Cave and Gone Home all work without it.
Tridef3D_Play.exe therefore opens the plain steam:// URI. The
_steamflags build still launches steam.exe directly with those flags,
and writes them into Ignition's per-game Argument value, in case some title
turns out to care. The main exe accepts --steam-flags for the same thing.
Depth comes from the profile
With a matching TriDef profile you get real stereo geometry, proper
separation and convergence. Without one you still get a side-by-side split,
but it is flat with no depth. A game that injects cleanly yet looks flat has
no profile. That is not an injection failure.
Known limitation
The DLL set is chosen by executable bitness: 32-bit gets DirectX 9, 64-bit
gets DirectX 11. A 32-bit DirectX 11 game is not covered yet, as no such
title was available to test against. Never inject both sets into one
process. TriDefIgnition(64).dll is shared state for both, and loading both
hook DLLs at once makes TriDef report that the game did not use Direct3D.
Requirements
Windows 10/11 64-bit, your own licensed TriDef 3D install, Steam, and the
game added once in Ignition's UI. Ignition does not need to be running
afterwards. No TriDef binaries are included or redistributed here.