Possible Solution to the AMD driver/directx 9c problems.

akschu

New member
I was working with Realflight 7.5 on an AMD 5600xt and couldn't update my drivers past 20.11.2 otherwise I would get all kinds of artifacting. Then I notice this:


It's a directX to vulkan layer meant for linux, but works on windows, and works on my system. I downloaded the latest release:


Used 7-zip to extract it, then copied the dxvk-1.10\x32\d3d9.dll file into C:\Program Files (x86)\RealFlight7 and presto chango, the realflight software started using this alternate directX library which talks to the video card drivers using Vulkan. I'm now running the latest AMD drivers and it's working fine.

Can someone with realflight 8 or 9 try this and confirm it works? If it does, I just found a way to convert realfight to using a modern graphics library, and Knife Edge owes me a case of craft beer (or I'd take an upgrade to RF9 ;-) )

schu
 
I just tried this on my system. HP Z230, i7-4790, 32G, GTX-960, SSD, Win10Pro. RF8.00.056. It works for me. Using navguides I seem to get about 10 extra fps with that dll file in the RF8 program directory as compared to without it. I didn't do any extensive testing, but I didn't see anything unusual. Obviously, I don't have an AMD video card, so I can't test to see if it fixes the AMD/DX9 problem, but it seems like it might be worth trying. I ran RF 4 times, twice with it & twice without & the frame rates were consistent each time, using 2 different aircraft & a simple take-off, circle, land flight.
 
Last edited:
Right, so if Knife Edge used that library (and contributed any changes they make back since it's open source) then they could retain their directX9c stack, but have the software actually work with Vulkan which is far more supported and performant.

Also, if they did the same with the wine stuff, they could potentially release a version that works on mac, which is desirable because much of the world runs on mac now as windows laptops are pretty crappy in comparison and most people that aren't gamers buy laptops.
 
I did the same test, placed the DLL files into RF9 program files and I did not see any frame rates improvement, see the attached picture of logs file using Fraps.
Above the red line is original DX9 DLL file, below the red line is using the Vulkan layer DLL file.
Unfortunately I do not have a new 5xxx or 6xxx AMD video card to test.
 

Attachments

  • Frame rates log.jpg
    Frame rates log.jpg
    323.6 KB · Views: 12
The intent of my post was simply to demonstrate that there was a change that I saw consistently, indicating that it was doing "something" - not trying to claim any significant improvement in performance. It didn't feel any different, but I wouldn't expect it to with 180-ish to 190-ish fps. But I admit that I WAS trying to encourage others to at least try it. It would be great if a fix THAT simple is a workaround for people with the AMD/DX9 driver problem. I wish I had Radeon to test.
 
Bill it is good to see you testing theDX9 equivalent and reporting back, I do not doubt you are getting better frame rates on your system, I just thought I would post my findings.
You are absolutely correct we need the AMD crowd to test and report back on the latest video card issues, it would be great to have a fix for the "updated drivers" problem.
 
Just as a side note I tried the Vulkan Layer DX11 file in RF-X, yes it works and RF-X plays normally but I did not see any improvement.
 
I'm going to test this with my available AMD test cards as soon as I get through my morning meetings. Great find, @akschu ! Expect a PM a little later.

I know there is a lot of enthusiasm for a Mac version. It's unclear to me whether this layer can solve all of the Windows/DirectX 9 dependencies. I'm not saying it definitely won't work, but I'm probably less optimistic than you all. Time will tell.
 
Some updates, testing with an RX5700XT, latest drivers from AMD:

First, I can reproduce akschu's results with RF7.5. Adding this project's d3d9.dll to my RealFlight 7 folder restored normal operation as far as I can tell. Sweet!

Unfortunately, it did not repair RF8HHE, RF9.5, or RF9.5S. Investigation continues.

NOTE: Don't let my results discourage you from trying. Anyone with affected AMD cards, please post your results if you try this method out.
 
Last edited:
Is there any way to confirm it's using the library? If the newer versions of RF use different versions of directX or 64-bit that could be the difference.
 
I don't know how to confirm it except that as I posted above, my fps changed with RF8-nonHHE. Checked frame rate, copied dll, checked frame rate, deleted dll, checked frame rate, re-copied dll, checked frame rate again. With the dll, the frame rate was ~10fps higher than without, both times. I assume that indicates that the dll in the program directory did something. But asj said his frame rate didn't change. Does that mean that my system used the dll & his didn't? Or did his use it & not affect the frame rate? Darned if I know. I don't know how to determine which version is actualy being loaded.
 
Did some testing with this on an iMac Pro in BootCamp (AMD Radeon GPU).

Adding the dll's to the RF 8.5 program directory:
- FPS went up by ~40fps (395 to 435)
- A log file was generated by DXVK driver and written to the desktop
- Switching to full screen mode and then back to windowed mode results in a corrupted RF display requiring a quit and restart of the program.

Adding the dll's to the RF9.5S (Steam version) program directory:
- Nothing happens, no change in FPS and no log file written.

I tried adding all the dll's from DXVK to RF 9.5S; but no luck so far. I can't get it to use the alternate driver.
Not sure whether this is because it is the Steam version.
 
When I start one of my other games in steam, I get the option of choosing which version of DirectX I want to use and with Realflight the option to start in VR mode instead. This would suggest that the Steam version works differently to the original DVD version.
 
Adding the dll's to the RF 8.5 program directory:
Is this a typo/slip-of-tongue based on the free 5.0->5.5, 7.0->7.5 updates, etc? My version is 8.00.056. Or is 8.5 the HH version, which I didn't buy? I tried RF7.5->RF-X s/w only upgrade which didn't work with my GT430 - I got 2fps on default & 6fps at lowest graphics settings. Tower let me deactivate & return X & swapped it for 8 when it first came out. Tower8->HH8 wasn't a free update, so I didn't do it. I upgraded to a GTX960 after I had 8 - but X died about the time I upgraded my GPU.
 
Is this a typo/slip-of-tongue based on the free 5.0->5.5, 7.0->7.5 updates, etc? My version is 8.00.056. Or is 8.5 the HH version, which I didn't buy? I tried RF7.5->RF-X s/w only upgrade which didn't work with my GT430 - I got 2fps on default & 6fps at lowest graphics settings. Tower let me deactivate & return X & swapped it for 8 when it first came out. Tower8->HH8 wasn't a free update, so I didn't do it. I upgraded to a GTX960 after I had 8 - but X died about the time I upgraded my GPU.
2fps-6fps with RF-X, brutal, must have been quite the slide show.
Yes RF-X is a very graphics power hungry software, I run it now with a RTX2080 (started with a GTX1050
70 fps) video card and it works great, frame rates of 160-200.
I tried the Vulkan layer DX11 DLL in RF-X but did not see any improvement in FPS.
 
2fps-6fps with RF-X, brutal, must have been quite the slide show.
Yep, it was. But I couldn't in good conscience just try return X for refund since I knew when I purchased it that it might be a problem - especially since the official policy was no refunds on opened software. The GT430 was 2G DX12, which met the official requirements even though it wasn't one of the recommended GPU's. I hoped it would be enough. I opted to pay the extra to get the X controller with RF8 when I returned X even though I already had an InterLink Elite & didn't actually NEED the controller.
 
Yes the frame rates increase by approximately 10fps in RF8 using the Vulkan DLL
Yep, it was. But I couldn't in good conscience just try return X for refund since I knew when I purchased it that it might be a problem - especially since the official policy was no refunds on opened software. The GT430 was 2G DX12, which met the official requirements even though it wasn't one of the recommended GPU's. I hoped it would be enough. I opted to pay the extra to get the X controller with RF8 when I returned X even though I already had an InterLink Elite & didn't actually NEED the controller.

The interlink-X controller works with RF8.5 HHE (I have 8,00.056)
Question: have you ever managed to get the X controller to work with RF7 ???
My Interlink Elite has a bad potentiometer and only stays connected for a few minutes, so I can not run RF7, would be nice to use the X controller.
 
No. RF7 uses the controller as copy protection & isn't detected by RF7. RF 8/9/X will use any Windows joystick as a controller. RF7 won't. You might want to open the Elite & identify/replace the bad pot(s).
 
Some updates, testing with an RX5700XT, latest drivers from AMD:

First, I can reproduce akschu's results with RF7.5. Adding this project's d3d9.dll to my RealFlight 7 folder restored normal operation as far as I can tell. Sweet!

Unfortunately, it did not repair RF8HHE, RF9.5, or RF9.5S. Investigation continues.

NOTE: Don't let my results discourage you from trying. Anyone with affected AMD cards, please post your results if you try this method out.

RX5700XT, Radeon SW v21.10.2, Win10 Pro 64 21H2, RF9.5 + d3d9.dll (separately tried both 32 and 64 bit versions)... Same issue of corrupted display requiring a reboot to recover.
 
Back
Top