I have been having problems with floor level constantly changing on its own with the HTC Vive and nothing I try seems to fix the problem so I made a tool for quickly re-calibrating the floor from within the SteamVR dashboard. All that is required is to place one controller on the floor and clicking the floor fix button from the new dashboard app (it appears next to “Steam” and “Desktop”). See the video below.

Download the FloorFix tool from here (v1.0). Extract the zip somewhere and run ViveFloorFix.exe. If you get an error about missing msvcp140.dll then install the VS2015 runtime using the included vc_redist.x86.exe.

Update: OpenVR Advanced Settings has added a similar floor fix feature in a nicer package, you should use that instead of this. :)

edit: Note there currently seems to be a memory leak in the OpenVR SDK which can make FloorFix eat up excessive amounts of RAM over time. Restarting it every few days at least seems to be enough, I’ll make some workaround if Valve does not fix the issue in time (it is reported here)

Here’s an update to RBRift, now called RBRvr, that brings support for OpenVR. It should work at least with the HTC Vive, hopefully also with Oculus Rift although as I only have the Vive I haven’t been able to test it on the Rift.

This version also brings other improvements, including ability to drive with the Vive controllers. See the video below.

Download from here (v1.3). Edit: Get the updated version from here.

See the readme.txt for instructions and some troubleshooting hints. In-game you can also find a quick help sheet from the desk.

The default configuration has a render scale of 200%, if you are also using the SteamVR setting to increase the pixel density further you may see some performance problems. The render scale can be changed from the in-game menu or by editing the rbrvr.cfg file.

If you like it you can donate from the button on the right :)

Known issues:

  • Default camera isn’t always the correct in-car driver one, you may manually need to select the correct camera with the change camera key (default ‘1’) and then save your RBR profile.
  • Codriver mode is a bit buggy (wrong cameras seen).
  • If you have TrackIR, disable it when using RBRvr (head tracking conflicts).

Five hour flight

Flying weather has been totally awful this summer, just a week ago I had only 4½ hours of flying this year when at the same time last year I had already flown almost 30 hours. But this week I finally got two really good flights, first one just under 3 hours and the second one 5 hours 18 minutes. The 5 hour flight is required before doing any cross-country flights so I am happy I finally got it done.

Track of that flight is here, weather was mostly pretty good though big rain showers were in every direction and sometime after the 4 hour mark it got truly challenging to stay in the air. One last weak thermal (the shallow bump at the end of the track) saved it though!


Mclaren F1 GTR from the DLC

A new update for Assetto Corsa broke Joux Plane, so here is a quick update to get it working again. It also has working timing now thanks to AC supporting it in open config tracks now. The lighting is slightly tweaked as well as AC lighting changed quite a bit at some point making the track too bright. It still appears quite flat but at least in the morning it looks ok.

Full changelog:

  • Fixed compatibility with AC v1.1 (track was invisible)
  • Lighting modified to better suit recent AC versions
  • Implemented working start and finish line available in AC v1.1
  • Reverse version is now implemented as track configuration (reduced size)
  • Hotlap start position moved further back and barriers added to disallow reversing at start

Download from here. If you have the old version installed, remove the assettocorsa\content\tracks\joux-plane-rev directory as the reverse config now uses the new track configurations feature.

edit: Quick update to version v1.51 which fixes the reverse config finish line, download from the link above.

Here is another update to RBRift for Richard Burns Rally. Version 1.2 changelog:

  • Significantly improved performance, especially with longer mod tracks
  • Reducend render latency & corrected oculus tracking timing
  • Added config setting for reducing the vignette effect around the eyes
  • Added alt codriver mode where driver is wearing the rift (codriverMode=2)
  • Added gamma controls to cfg with defaults for slightly increased contrast
  • Added windshield hider feature (numpad *)
  • Added debug information display (numpad /)
  • Tweaked clip planes
  • Changed seat adjustment speedup key to left ctrl
  • In-car replay views are now in vr mode
  • Changed correct executable detection method
RBRift v1.2 with reduced vignette and hidden windshield

RBRift v1.2 with reduced vignette and hidden windshield

This version has pretty significant changes, like completely re-done stereo rendering implementation, corrected Oculus timing and new vignette reduction feature. It should now work very smoothly and latency free with vsync on, which is also default now.

Windshield hider is a new feature as well, it allows hiding parts of the car windshield which is just a mapped flat texture on the cars and does not appear right with stereo rendering. Also on many mod cars the windshield is too dark. The feature can be toggled with numpad asterisk key.

Clip plane tweaks should fix issues on some tracks where distant terrain got clipped away and improve in-car clipping. In-car views in replays now appear in “VR mode”. The 3D monitor effect from old versions is unavailable unfortunately, its no longer practical due to the different stereo rendering implementation.

Download from here. See the readme for install instructions as usual and some troubleshooting hints.


Here’s an update v1.1 to RBRift for Richard Burns Rally with fixes to some compatibility issues and few improvements. Changelog:

  •  Reduced number of backbuffers used by RBR (reduced latency)
  •  Fixed D3D error from Oculus runtime
  •  Fixed rift resolution issue in device initialization
  •  Fixed compatibility with rbr_rx.dll plugin (only cockpit was visible in-car)
  •  Added left shift + left ctrl as alternate shortcut key to recentering rift
  •  Added codriver mode

The latency fix should make it useable with vsync enabled, though by default its still disabled in the config. The compatibility fixes hopefully fix the random startup problems and make BTB tracks work that use the rbr_rx plugin.

The new codriver mode allows you to drive from the drivers seat using your standard monitor while a codriver rides with you on the codriver seat wearing the rift. So with it you can take a friend on a virtual rally car ride :) See the readme for instructions how to use it.

Download from here.Update: Go here for version 1.2.

See the readme for install instructions as usual and some troubleshooting hints.

Protip: for better immersion you can change the steering wheel rotation degrees the following way:

  1. Open misc.rbz file with a tool that can extract zip archives like 7-Zip File Manager.
  2. Extract the ‘LM_Driver.ini’ from it under ‘Misc’ directory in RBR.
  3. Modify the ‘Max Steeringwheel degrees’ from the ini file. Note the value is rotation in one direction so its half of what you usually have on your wheel.

I recently got a hold of the Oculus Rift DK2, and decided to try to make Richard Burns Rally work with it using a Direct3D “proxy” DLL. I had actually done it before already when I had access to the DK1 for a few days, but that was very rudimentary and did not really work too well. After some rewriting I got it working quite nicely so its here for anyone to try. It supports:

  • Oculus Rift DK1 and DK2 (DK2 preferred)
  • Full headtracking support, including positional tracking
  • Stereo rendering with correct IPD
  • Virtual 3D HUD
  • Virtual menus

It does not work with direct-to-rift mode for some reason so even the DK2 needs to be in extended mode. Also by default vsync is disabled since I experience some latency issue with vsync on – you can change the behaviour from the config file.

Download from here. Update: Grab version 1.1 from this post!

You need RBR version 1.02 with SSE executable. See the readme file for instructions how to use it and also some troubleshooting hints.

So the flying season has ended for me for this year. I got my license a few months ago, and already flew 25 hours as a certified pilot! So far in addition to the DG-505 trainer I flew the Astir CS Jeans and LS-4. Its surprising how different the planes handle and feel despite having a very similar design on first sight.

The LS-4 feels very nice, only thing I dont like about it so far is the wheel brake which is operated by pressing the bottom of both rudder pedals with your heels – slightly tricky if you want to use the rudder at the same time.

I almost had to do an outlanding as well, flying the Astir. I was 450m from the ground and over 8 km away from home in headwind. I felt quite anxious at first but I had a field picked for the outlanding and when I was low enough that I knew I’m absolutely not going to make it home, I felt quite confident about being able to land ok. But then I found a weak thermal still and after a bit of patience made it back up! Track for that flight is here.

Proper cross-country flying still seems a little bit scary, but maybe next year I will go an do it in a two seater with some experienced pilot.

I updated Freejoin with better compatibility for newer AC versions and also some improvements and new features. On the server side race now ends correctly a set time after the first player is finished, track+car config cycle is configurable and the server has administration commands.

Get the updated version from here. The client and server are compatible with the old version as well. For running a server check the server setup guide on that page, the process is somewhat different now.

edit: I did a quick update to version 1.22, on client it fixes all servers being displayed as password protected and on server sessions are automatically added/enabled/disabled depending on cycle setting.


I had my first solo flights a week ago, phew. All went well and I have done the required 10 solo flights now for my final flight test. I was even a bit surprised how easy I felt about the first solo flight, not much anxiety at all. As such the flying itself I feel I can handle well, its any unexpected situations especially during landing that I feel anxious about.

I took some video clips and pics with the Mobius action camera I had with me on a few longer flights, they are below. Next up for me is the final flight test, then I should get my glider license and then at some point I should man up for some cross-country flying. The “standard” easy route in our club seems to be to fly from Rautavaara to Iisalmi and back which is about 100km total. Not a difficult task in good weather but you need to be prepared for an outlanding on a field and the first time doing that feels like a huge challenge.

When weather is not so good it is good time to go do some geocaching. I went to “Kaivannonkierto” trail which is on a peninsula (if thats what it is called) that you can see on the last two flying images above. It is about 3km long looping path with some 15 geocaches and water on both sides.

The nature was nice and I enjoyed the walk, though I found the idea of geocaching trails – where you place as many geocaches as you can next to some path – a bit boring. Stopping every 150m to find a cache identical to the previous one is not too exciting.

Gliding season is in full swing. I did my first flight of the summer almost a month ago already but good weathers didn’t arrive until a few weeks ago. This weekend I flew only two flights, totaling under 1 hour 30 minutes but had plenty of new experiences:

  • New personal altitude record (3000m MSL)
  • Flying inside a cloud
  • Flying in a hail storm
  • Landing during rain
  • New personal shortest flight record (under 30 seconds), because of:
  • A true, non-practice failed wind launch due to winch engine failure

Flying can be unpredictable :) Unfortunately I did not have my cameras and stuff on board so I have only some less exciting photos from the ground.

Trying cloud flying was great, I did it with a teacher of course but managed it quite well. I found trusting the instruments to be not that hard, possibly due to so much simulator flying where the instruments are the only thing you have. Resisting the temptation to react to the things you think you feel the plane is doing is challenging however.

Flight track is here, the fast rise from 1200m MSL to 3000m MSL is inside a cloud. Solo flights ahead of me next…

freejoinAnnoyed by the clumbersome booking system in recently released multiplayer for Assetto Corsa, I wanted to see if something could be done to improve it. I came up with a system that uses prebooked slots and a specially prepared client to join those slots at any time.

Experimental version for AC early access v0.9.10 is available here. It requires the client to install a modified online interface module and a server to be running a special version. See the readme there for additional information.

While it allows joining a server at any time it has some limitations. Mainly you can only select from cars that the server has prebooked and annoyingly when a race is over the session will never end until all clients have disconnected.

edit: Freejoin updated to version 1.20 with better compatibility and various fixes. See the Freejoin page for more info.