RealFlight on Linux

I was able to get RealFlight 9.5S running on Linux using Proton/Wine. I haven’t been able to find any existing information on how to get it to work, so I am posting these instructions since there are likely a number of RealFlight users here who would like to avoid using a separate Windows machine or VM for ArduPilot testing.

  1. Enable Proton in Steam (Settings → Steam Play → Enable Steam Play for all other titles)

  2. Set RealFlight’s launch options to: PROTON_USE_WINED3D=1 %command%. This disables DXVK, which doesn’t work with RealFlight.

  3. If you attempt to launch RealFlight now, you should get the following error:

    KEError 21017: Registry key load operation failed.
    Key: SOFTWARE\Microsoft\Windows\CurrentVersion\AppPaths\RealFlight9Pro_Steam.exe
    Value: ProgramToLaunch.

  4. To fix this, you need to create the registry key mentioned in the error message. The easiest way I found to do this was to add PROTON_DUMP_DEBUG_COMMANDS=1 to the beginning of the launch options, then try to start RealFlight. This will create a script that can be used to run arbitrary commands in RealFlight’s Wine prefix.

  5. Modify the following registry file to match your system (you will most likely just need to adjust the username), and save it to a file named realflight.reg:

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\RealFlight9Pro_Steam.exe]
    "ProgramToLaunch"="Z:\\home\\ben\\.steam\\steam\\steamapps\\common\\RealFlight 9\\RealFlight.exe"
  6. In a terminal, run /tmp/proton_$USER/run regedit, then import realflight.reg (Registry → Import Registry File…).

  7. Remove PROTON_DUMP_DEBUG_COMMANDS=1 from the launch options

  8. Install the Microsoft version of d3dx9_36.dll using winetricks. I just pointed the standard version of winetricks at the RealFlight Wine prefix:
    WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/1070820/pfx/" winetricks d3dx9_36
    Alternatively, protontricks could be used to make this a little easier (not tested).

With this setup, RealFlight works pretty much perfectly. The only issue I have found is that the menu bar disappears after exiting the aircraft editor.


I recently discovered that the Spectre/Meltdown mitigations have a massive impact on RealFlight/ArduPilot SITL performance, at least on my machine (Intel Skylake). RealFlight was struggling to maintain 30 FPS with mitigations enabled, but with them disabled it normally achieves around 200 FPS.

I’m currently working with Gazebo for simulation, but I’m interested in Realflight. Do you @BenWolsieffer or anyone else know whether this still works on (Ubuntu) Linux?

I still use this regularly on Arch Linux, and it should also work on Ubuntu.