Repository navigation
Releases: JRDevo/ETS2-ATS-DLAA-DLSS-Injection-Mod
Release list
v0.11.0-rc1 (test build)
Test build (pre-release) from the v0.11-dev branch. Not the stable release: use it if you want to try the new things or if one of the fixes below is yours. The stable release stays v0.10.3.
New
- Turbo mode (VR), off by default: the game no longer waits for the headset each frame. Helps only when the CPU is the limit. Warning: the headset's frame smoothing (ASW, Motion Smoothing, Motion Reprojection, SSW) does not work while it is on. Menu row
Turbo mode (VR), inixr_turbo. - Foveated rendering (VRS), off by default, VR + NVIDIA RTX only: sharp centre, lower shading detail at the edge of each eye. Fences, grass, leaves and the mod's own passes keep full detail. Menu rows
Foveated (VRS)andFoveated size, inivrs. - Logging levels in the menu: off / errors / warnings / info / debug, with the cost of logging shown live. Ini
log_level(default 1 = errors only, no log file unless something fails).debug = 1still works and means debug. For a bug report:log_level = 4. - CPU pin for AMD X3D CPUs with V-Cache on one half (7950X3D / 9950X3D), off by default:
cpu_cache_pin = 1. No measured gain yet.
Faster
- The per-part motion vectors cost about half the GPU time in busy cities (6.4 → 3.0 ms per frame in a test city, VR, RTX 5090). Same picture, bit for bit.
- The draw record reads the game's state as the game sets it instead of asking the driver at every draw (
did_shadow; idea by Breno Assis, PR #6). - Log writes moved off the game's threads.
Fixed
- Issue #9: VR (OpenXR), after a minimize / restore of the game window DLSS stopped on the eye views until a restart. The game then uses one depth texture per eye; both are tracked now.
- Issue #8: with OptiScaler next to the game exe the picture froze in the interior camera. The mod now sees OptiScaler and starts with mirror DLAA off.
mirror_dlaa = 1orAlt+F6forces it on. Maybe in the pipeline? Let me know the demand...?
Install: replace dinput8.dll in the game's bin\win_x64\ folder. Keep your own dlaa.ini if you have one. To go back: the v0.10.3 release.
Tested: Turbo mode, foveated rendering, the faster motion vectors and the draw record in ETS2 and ATS VR (RTX 5090, 72 Hz). Not tested: the Logging menu row in game, the fix for issue #9 (needs a VR minimize / restore), the OptiScaler detection (no OptiScaler here), flat (non-VR) play with this build.
v0.10.3
This release carries two versions of work: v0.10.2 (never published) and v0.10.3.
Performance (VR)
- The mod's own cost per eye went from about 1.5-1.8 ms to 1.1-1.3 ms (ATS VR, 72 Hz, RTX 5090).
- The old camera-motion fallback no longer restarts on a single bad frame (
mv_cons_fail_tol, default 2). Before it was on in about 80 % of frames for nothing. - No more hitch when a new mirror appears while driving (10-36 ms before). Mirror units are now built on the loading screen from the sizes seen in earlier sessions, and at most one per frame after that.
- The per-part vote grid covers only the eye's own DLAA area (
mv_area_clip). Small gain, about 0.05 ms per eye. - Camera-only mirrors. New key
mirror_mv = parts | camera. Camera motion costs about 0.15 ms per mirror instead of 0.4 ms. The Mirror DLAA row now has 7 states: off, 1 mirror, 1 mirror camera, 2 mirrors, 2 mirrors camera, all, all camera. Beeps: 1, 2 or 3 = how many mirrors; high pitch = part motion, low pitch = camera motion. - The fps box's own GPU cost is now measured and shown in its menu row (per frame). It is far below 0.1 ms, so leaving it on costs nothing you can feel.
- The VR menu is no longer painted into both big eye pictures every frame. It is drawn once at a small native size.
New: the VR menu and fps box are real OpenXR layers
- In VR the tuning menu and the fps box are drawn as separate OpenXR quad layers. The headset's compositor places them itself, so they are rock steady: no more swimming or jitter when you move your head, and the game's own menus (garage, dealer, map) can never paint over them.
- The menu sits at a real distance in front of you. Panel VR depth now sets that distance in metres (
menu_vr_dist, default 1.00 m). Panel faces you turns the panel (and the fps box) to face your head when you move it off centre. - FPS counter lock (
fps_vr_lock):Fixed in cabpins the fps box to one spot in the cab, like an instrument.Follow head(default) keeps it with the headset. menu_vr_layer = 0indlaa.inibrings back the old way (drawn into the eye picture). The mod falls back to it by itself if the layers are not possible.
New: buttons and binding
- Wheel and gamepad buttons as hotkeys:
key_* = Ctrl+F5, Wheel7orWheelUp/WheelDown/WheelLeft/WheelRightfor the D-pad.controller_namepicks the device. Every row in the menu can have a key and a button. - Hold to bind. Select a row in the menu, hold a key or a wheel / gamepad button for 5 s, and it becomes that row's hotkey. Saved to
dlaa.iniat once. HoldBackspaceto clear a hotkey.bind_hold_mssets the time. - The five menu keys can be rebound the same way on the new Menu keys row.
- Reset to defaults row: puts every menu setting back to how the mod ships, live and in
dlaa.ini, keeping your hotkeys and every other line. It is a hold: hold Right on the row for 5 s. A bar fills one square per second. No resets by accident. - While the menu is open the game gets no keys and no wheel buttons at all, so the truck does not react while you tune. Steering and pedals still work. Close the menu before you press
Escape.
Layout
- Two collapsible groups keep the menu short: Panel settings (position, size, depth, facing, menu keys) and FPS counter settings (lock, position, size). Right opens a group, Left closes it. Both are closed every time you open the menu.
- The panel can go down to size 0.3 (
menu_scale/menu_vr_scale).
Fixed
- VR: the panel flickered when a game menu overlapped it (the game drew its UI after our panel). Gone with the quad layers; the old path now also draws right before the picture is handed to the headset.
- VR: the depth shift (
menu_vr_depth) pushed the two eye pictures apart instead of together (the mod had the eyes swapped). Only matters withmenu_vr_layer = 0. - VR main screen with the menu open: the panel texture was rebuilt twice every frame for the desktop mirror.
Install: replace dinput8.dll in the game's bin\win_x64\ folder. Keep your own dlaa.ini if you have one: missing keys use the defaults. Take the new dlaa.ini from the zip only if you want the comments for the new keys; then copy your own key_* lines back in. New keys: menu_vr_layer, menu_vr_dist, fps_vr_lock, bind_hold_ms, mirror_mv, mv_cons_fail_tol, mv_area_clip, controller_name.
Tested: ATS in VR (OpenXR, Virtual Desktop) and flat, 2026-10-10 and 2026-10-11: the performance changes, the 7-state mirror row, D-pad bindings, quad layers, depth and facing, menu groups, hold-to-reset. Not tested: ETS2 with this build, camera-only mirrors and the vote clip in a long drive, Fixed in cab after the game's own recentre, hold-to-bind with a wheel button, HDR output with the quad layers.
v0.10.1
Fixed
- Flat mode: a dark 1 px line on every silhouette (trees, poles, trucks, buildings) in v0.10.0. The game's fog pass was drawn one texel off. Gone.
New
Ctrl+F9self-test also savesfinal_<mode>_<n>.bmp: the same frame as it reached the screen, next to the mod's own output. Useful when you report a flicker that the mod's output does not show.
Install: replace dinput8.dll in the game's bin\win_x64\ folder. Keep your own dlaa.ini if you have one.
Tested: ATS flat 4K, driving (the line fix and the new self-test files). Not tested: ETS2, VR, Windows HDR with this build. The released DLL is the tested code with only the version number changed.
v0.10.0
New
- In-game tuning menu (
Delete): every setting with its value, hotkey and GPU cost. Screenshots and column guide are in the README. - Movable widgets: move and resize the menu panel and the live fps counter. In VR the panel turns to face you.
- Live GPU cost: the menu shows the game's GPU time and what each part of the mod costs.
- Exact motion vectors for moving traffic, DLAA on the mirrors, DLAA before the game's tonemap (flat), performance profiles (
Alt+F9). - OFXR Bridge (VR frame generation) support.
- Fixed: VR jitter phase, the sun-glare blink. DLAA area now goes down to 10 %.
Install: replace dinput8.dll in the game's bin\win_x64\ folder. Keep your own dlaa.ini if you have one.
Tested: ETS2 flat (motion vectors, mirrors, tonemap path, menu, fps counter). Not tested: the newest VR fixes in a headset, and OFXR Bridge in a headset.
v0.8.2
Fixed
- ATS: DLAA / DLSS now works while you drive a car. Older versions worked in the menu but did nothing in the car.
- The packaged
dlaa.ininow has a plaindebug = 0line. Change the 0 to 1 to get the log filedlaa_inject.log. Before, the line had a#in front, and the log stayed off if you left it there.
Install: replace dinput8.dll in the game's bin\win_x64\ folder. Keep your own dlaa.ini if you have one.
Tested: ATS 1.61 flat, car drive. Not tested: car drive in VR.
v0.8.1 - NVIDIA Smooth Motion support
New in v0.8.1
- NVIDIA Smooth Motion now works in flat mode: while driving and on the menu / truck-preview screen. Older versions did nothing with Smooth Motion on.
- Fixed: a faint dark line down the middle of the menu / truck-preview picture with DLAA on.
- The main menu truck is now handled the same way as the truck-preview screen (steadier picture, no pop when you switch between them).
- With Smooth Motion on, the one-time DLSS load happens on the boot screen, not when the menu appears.
Good to know: Smooth Motion only adds frames on the monitor. It does nothing for the headset picture in VR, so switch it off for VR.
Tested in ETS2, flat, with Windows HDR on, Smooth Motion on and off.
If you report a problem: put debug = 1 in dlaa.ini, load a save, drive for about a minute, quit the game, then attach dlaa_inject.log and dlaa.ini.
Install: unzip into bin\win_x64 of the game, and put your own nvngx_dlss.dll next to it. See the README.
v0.8.0 - Windows HDR support
New in v0.8.0
- Windows HDR now works in flat mode: while driving and on the menu / truck-preview screen. Older versions did nothing with HDR on.
- DLAA and DLSS upscaling both work in HDR.
- If brightness or colours change in HDR when you switch DLAA on and off, put
dlss_hdr = 0indlaa.iniand tell us in an issue. - The debug log shows HDR state, so a log is enough to see what happened.
Not changed: the normal (non-HDR) picture and VR.
If you report a problem: put debug = 1 in dlaa.ini, load a save, drive for about a minute, quit the game, then attach dlaa_inject.log and dlaa.ini.
Install: unzip into bin\win_x64 of the game, and put your own nvngx_dlss.dll next to it. See the README.
v0.7.10 - better log for bug reports
New in v0.7.10
- The debug log (
debug = 1indlaa.ini) now tells much more: if the mod found the 3D scene, if flat or VR was detected, if DLAA / DLSS really ran, the game version, and whichnvngx_dlss.dllis used. It also writes a last line when the game closes. - No change to the picture or to performance.
If you report a problem: put debug = 1 in dlaa.ini, load a save, drive for about a minute, quit the game, then attach dlaa_inject.log and dlaa.ini.
Install: unzip into bin\win_x64 of the game, and put your own nvngx_dlss.dll next to it. See the README.
v0.7.9 - AA VR / Flat switching
Fix in v0.7.9
- Flicker when the game is started with VR launch options but no headset session comes up (the game then runs on the monitor). The mod now notices this within about a second of driving and switches to flat mode by itself. Real VR is not changed.
Also in this version (from v0.7.8)
- The menu / truck-preview screen gets DLAA too, in flat and in VR.
- No more freeze of several seconds when the mod starts its work.
- The README now explains the models (presets): which one to use and what to expect.
Install: unzip into bin\win_x64 of the game, and put your own nvngx_dlss.dll next to it. See the README.
v0.7.8 - AA in Menus
New in v0.7.8
- The menu / truck-preview screen now gets DLAA too, in flat and in VR. Truck edges there are much calmer.
- No more freeze of several seconds when the mod starts its work (menu, and after "Continue career").
- The menu screen always uses model 2. The model keys (Shift+F1..F4) change the drive only.
- New
dlaa.inikeypreview_dlaa(default1). Set it to0to leave the menu screen untouched.
Install: unzip into bin\win_x64 of the game, and put your own nvngx_dlss.dll next to it. See the README.