TrueTriple
TrueTriple DiRT Rally · 2015

Triple screen for real
in DiRT Rally

DiRT Rally, the 2015 one, has the same problem as 2.0: with three monitors it stretches and warps the sides, and there go your comfort and your sense of distance. I had already solved that in DiRT Rally 2.0, and since both games are versions of the same engine, bringing TrueTriple over here was not that hard: every screen gets its real perspective back, worked out from your rig's measurements. Back me on Patreon and I will keep building solutions like this one.

What it feels like

This isn't a number in a benchmark. It's the first time the game shows you the world at real scale.

You're inside the car

The side screens stop lying to you. The pillar, the mirror, the edge of the bonnet all sit where they should. For the first time it feels like you're driving from inside, not looking at a wide photo of a car.

Distances are distances

Projecting with the real geometry of your rig means everything is the size it would be in life. Corners read better because the braking point is where your eye thinks it is.

Your seat, your way

You move the viewpoint inside the cockpit forward, back, up and sideways, until the position is yours, without the game's limits. And it remembers where you left it.

What's included

Without patching a single game file, and without staying installed.

Nothing is patched

A DirectX 11 library is injected and sits between the game and the graphics card. The game itself is never modified.

Correct perspective

The camera matrix is corrected on the fly: every object in the world is redrawn once per monitor, with the projection that panel deserves given where it is and how far it is angled.

It calibrates itself

Each draw reads the real scale of its own camera, so it works with any camera, any field of view and any resolution, with nothing baked in.

Menus stay normal

The mod recognises the driving cameras and leaves the rest alone. Nothing to press.

Never left installed

Its config is written when you launch the game from the app and taken back out when you close it. Launch DiRT Rally straight from Steam and it runs exactly as it always did.

The app from the inside

You set it up once and after that it is open it and hit Play. And on every screen, bottom left, there is a box to tell me whatever happens to you.

Home screen: the game folder, the state of the mod and the buttons to switch it off, reinstall it or remove it.
The mod is not left installed: it is applied when you launch DiRT from here and it takes itself back out when you quit. If you open the game straight from Steam, it runs exactly as it shipped. And if you want it with nothing of mine in the way, Switch the mod off takes the library out of the folder and keeps it aside, which is the only thing that really stops it loading.
Rig measurements screen, with the top-down drawing of the field of view they produce.
Your rig measurements, taken with a tape: distance from your eyes to the middle monitor, panel width, side angle, the resolution of one screen, and bezel. The three frustums come out of those, and the drawing next to them hands you back the field of view you end up with. The height in pixels matters if your monitor is not 16:9: without it the image comes out squashed.
Graphics screen: keep your own settings or pick one of the two presets, plus the game settings that get checked automatically.
Three routes: keep your settings exactly as they are, or two presets built for the triple, where distant detail is paid for three times over and textures come almost free. In all three, the settings that break the triple get checked on their own, and when you quit the game everything goes back as it was.
Mod keys screen: switch the triple on, show the on-screen card and move the field of view.
The mod's keys are the ones you press inside the game: switch the triple on and off, show the on-screen card and move the field of view. You click one and press whatever key you want. They don't reassign anything in DiRT Rally, which you still set up in the game.
Seat screen: the keys that move your head forwards, back, up, down and sideways.
You place your head to the centimetre: forwards, back, up, down, sideways, and the tilt of your gaze. It applies to every view, cockpit, bonnet and bumper, and to all three screens at once, so there is no setting up each camera separately.
Gaze stabiliser screen, with the four starting points and the fine-tuning knobs.
On broken roads the camera copies every bump and the horizon shakes far more than your head would inside the car. This trims that: it filters out the fast movement and lets the slow one through, which is what tells you how the climb or the drop is coming. You start from one of the presets and finish tuning it while driving, with a key per knob.
Controller screen: each menu action mapped to a wheel button.
DiRT's menu doesn't listen to your wheel, but it does listen to the keyboard. So the app reads your wheel and sends the key: you press the button you want and it learns it, you will never see a button number. It only types with DiRT in front; in any other window it sends nothing.

The price, straight up

There are two tiers on Patreon: 3 dollars a month for the finished apps, and 5 if you also want the ones in beta or in development. DiRT Rally 2015 is finished, so it sits in the 3 dollar one.

Either way, what you download is yours to keep. Your key is created the moment you subscribe, and that key never expires: if you unsubscribe some day, whatever you already activated keeps working. There is no licence that runs out and no server that can switch it off on you.

So if you subscribe for one month, grab it and leave, that is completely fine by me. What you pay month to month is not this one: it is what comes next. Right now the 5 dollar tier has EA SPORTS WRC in beta.

Frequently asked

The ones that keep coming up, answered straight.

What about replays?

There you are better off turning it off, with the same key you turn it on with: the replay camera does things the mod does not follow. Driving, which is where it matters, it is fine.

Do I need NVIDIA Surround?

Not necessarily. The mod works on the wide three screen desktop, whether you build it with Surround, with Eyefinity or in software. The only thing that changes is where the game's HUD ends up: in fullscreen it is drawn centred on the middle monitor, and in borderless window it stretches across all three. If you use SimHub, none of this affects you.

How much performance does it cost?

Every object is drawn three times instead of once, so it does cost something. On DiRT Rally 2.0, with this same technique and the same optimisations, the drop stayed under 10%.

Here I have not measured it that carefully yet: if you see an odd drop, tell me, with your card and your resolution.

Does it work on an ultrawide?

I have not tried it, so I cannot promise you anything. In theory, setting the side screen angle to 0, it should work rather well: you would end up with one correct perspective instead of three. If you try it, tell me how it went.

Can I get banned?

I will answer this one at length, because the question deserves an honest answer and not a "don't worry about it". DiRT Rally (2015) is not listed as VAC protected on its Steam page, and when I took the game apart to build this, no anti-cheat turned up either.

What the mod does is sit between the game and DirectX 11 with a library, 3Dmigoto, a public tool that has been used for over ten years to modify graphics, and rewrite the drawing shaders so that each monitor gets its own camera. What it does not do: it does not read or write the game's memory, it does not touch physics or timing, it does not automate anything, and it does not send or modify anything over the network. It changes how the image is drawn on your machine, and nothing else.

Even so, my recommendation is to use it offline or in Time Trial, which is how I use it. Not because it gives you an advantage, it shows you the same road without the distortion, which is exactly what ruined the side screens, but because in a league everyone decides what they race with and that decision should be yours.

And the way out is always one file away: if you ever want the game exactly as it shipped, just delete d3d11.dll from its folder. Without that file nothing loads, and you do not need any uninstaller.

Where do I enter my rig measurements?

In the app, on the Screens tab: the distance from your eyes to the middle monitor, panel width, side screen angle, resolution and bezel. Those measurements build the three frustums. It is all up there, with screenshots.

One thing to keep in mind: DiRT Rally 2015 is set up separately from 2.0, with its own values. It does not inherit whatever you have saved over there.

Is there one for other games?

DiRT Rally 2.0 is finished and EA SPORTS WRC is in beta, each with its own app. Every game is a different engine and takes the whole job: it is not copy and paste. They are all here.

I came from VR, is it worth going back to triples?

For me yes, and I have both. VR is stunning for the first few minutes, but it tires you out and gets in the way. With the perspective properly worked out, triples hold up over long sessions without leaving you with a headache. It is a preference, but it is mine after trying both.

Anti-bugs

If the game won't open, closes on its own, or something looks wrong, start here. These are real cases and what actually fixed them. If yours isn't on the list, tell me and I'll add it.

The three quick checks

  1. Turn off NVIDIA Smooth Motion. In the NVIDIA app, under Graphics. Check Global Settings and the DiRT Rally profile as well: it only has to be on in one of them to cause it.
  2. Close anything that hooks into the game. MSI Afterburner, RivaTuner, ReShade. Close them properly, not just minimise them.
  3. Try one run with the mod removed. In the app, the Remove the mod from the game button, then launch DiRT straight from Steam. That is the check that tells us whose problem it is.
The game won't open and you have ReShade installed

This one happened right here, in DiRT Rally 2015, and it was fixed by removing ReShade. The reason: ReShade hooks into the game through a file called d3d11.dll, which is exactly the same name the mod uses. Both want that spot in the game folder, and when they share it you can end up with only one loaded, or neither.

Take ReShade out of the game folder (with its uninstaller, or by deleting its files by hand) and install the mod again from the app.

One detail that can confuse you along the way: if the d3d11.dll sitting in that folder is ReShade's and not mine, the app will tell you the mod isn't installed. That is on purpose, and it is the only way not to offer you to switch off a mod that isn't mine and end up moving a file of yours.

The same works the other way round: if you ever want the game exactly as it shipped, just delete d3d11.dll from that folder.

An NvPresent64.dll error, or the game closes right as it starts

This came up in DiRT Rally 2.0 and it has a known culprit: NVIDIA Smooth Motion. It is a driver feature that makes up in-between frames, and it clashes with the way the mod draws the scene three times. The mod here is the same one, so the check is worth running.

  1. In the NVIDIA app, go to Graphics and look for Smooth Motion. Check Global Settings and the DiRT Rally profile. If it is on in either one, turn it off.
  2. If you have MSI Afterburner or RivaTuner open, close them fully for this test. The error box in that case had RivaTuner's typical look, so it was most likely hooked into the game too.

For the person this happened to, turning off Smooth Motion fixed it.

It closes when you launch from the app: the three-step ladder

In order, from the cheapest to the most annoying. After each one, launch from the app and see whether anything changed.

  1. One minute. Turn off Smooth Motion in the NVIDIA app (Global Settings and the game profile) and fully close MSI Afterburner and RivaTuner.
  2. Take our other layer out of the way. There is a file called nvapi.dll in the game folder. Rename it to nvapi.dll.off and launch from the app. The mod works fine without it, and it rules out that layer interfering with the driver.
  3. Leave the app nothing to change. On the Graphics tab, pick the Yours preset and untick the two options that are yours: turn the smoothing off when the game launches, and set your screen's resolution when it opens. Then, in the game, leave Force DirectX 10 off, which is the one thing that gets corrected either way. With that, the app doesn't change a single line of your settings.
The check that settles it: one run with the mod removed

The app has a Remove the mod from the game button. Use it, launch the game once straight from Steam, and tell me what happens.

It is the only test that really splits things apart. The mod's library loads from the very first frame, whether or not you switch the triple on, so a normal run with the mod installed does not rule me out. If the game behaves with the mod removed, the problem is mine. If it still closes, it sits above me and I'll tell you where to look next.

Removing the mod doesn't delete anything of yours: your rig measurements and saved seat positions are kept aside and come back on their own next time you install it.

It looks shifted, split, or the proportions are off

Nearly always it is the numbers on the Screens tab. Three things to check:

  • Width per screen is the width of one monitor, not the three together. With three 2560-wide screens that field says 2560, not 7680.
  • Height per screen can't be left empty. Put in whatever the game's video settings say.
  • The rig measurements (distance from your eyes to the middle monitor, panel width, side angle, bezel) have to be the real ones, taken with a tape measure. The three frustums come out of those numbers: if one is made up, the perspective comes out made up. And note that DiRT Rally 2015 is set up separately from 2.0: it inherits nothing from there.
The picture opens small and stretched after an alt-tab

This one is the game, not the mod: DiRT Rally drops out of fullscreen when it loses focus (an alt-tab, the Steam overlay, a Windows notification) and saves that small resolution into its own file as it goes. From then on it always opens like that, and with three monitors the result is unusable with nothing to explain it.

The fix is setting the resolution again in the game's menu. If doing that every time gets old, the Graphics tab has an option to let the app set your screen's resolution on launch and hand yours back when you quit.

Ruling out a graphics setting: the Performance preset

In the app, Graphics tab, pick Performance and launch the game. That rewrites your whole graphics config while you play and hands yours back when you quit, so there is nothing to undo afterwards.

If the problem is tied to one particular graphics setting, this is the fastest way to find out. And if what you are seeing is low FPS rather than a crash, start with the smoothing: the game sets itself to 8x MSAA the first time it runs, which is the worst possible case across three screens.

The mod installed, but the game looks exactly as before

Check that Force DirectX 10 is off in the game's options. With it on, DiRT loads a different shader package, the DirectX 10 one, with different code. The mod's patches are written against the DirectX 11 package and match none of it: the mod loads anyway and does absolutely nothing, with no error to explain it.

The app checks and corrects this on its own when it launches the game, so this can only reach you if you opened it straight from Steam.

A clean install

When something ended up half-copied (a power cut during the install, an antivirus that took a file on the way), the quickest route is starting over:

  1. In the app, Remove the mod from the game.
  2. In Steam, right-click DiRT Rally, Properties, Installed Files, Verify integrity of game files.
  3. Install again from the app.

Your rig measurements and seat positions don't get lost along the way: they are rescued when you remove the mod and come back on their own when you install it.

None of this fixed it

Write to me and tell me these, which are what shortens the road most:

  • Graphics card and driver version.
  • Resolution of each monitor, and whether you build the triple with Surround, Eyefinity or in software.
  • Which overlays you run: Afterburner, RivaTuner, ReShade, SimHub, Discord, Steam.
  • Exactly when it fails: opening the app, launching the game, in the menu, going out on stage.
  • The error text, if there is one, or a photo of the screen.

There is one person here, so there is no support desk, but I read all of it. Through Patreon always reaches me.

What you are supporting

I made TrueTriple for myself, to play the way I wanted to play on my own rig. I shared it afterwards because it turned out to be useful to other people. It is not a company product: there is no team behind it, no QA department, no support desk. There is one person.

It can have bugs, and it can break when the game updates. When you subscribe you are not buying a product: you are backing the development, and in return I give you access to what I am building. The Patreon is also where it gets told from the inside: the dead ends, what breaks and why, and where this goes next.

The same Patreon puts out Assetto Gallery, which sorts out the car and track library for the people running Assetto Corsa. Take a look.

No fine print: terms of use and support.