iXit / wine-nine-standalone

Build Gallium Nine support on top of an existing WINE installation
GNU Lesser General Public License v2.1
272 stars 23 forks source link

Proton: d3d9adapter9 fails to load (file not found) #109

Closed tmarplatt closed 2 years ago

tmarplatt commented 3 years ago

Hello first of all thanks for an amazing work in wine-nine. It does wonders for me in regular wine with d3d9 applications, whereas dxvk9 would simply take over my CPU. But I'm trying to get wine-nine running under Proton and it's a different story.

Installation goes fine. But d3d9adapter9 fails to load. When I run ninewinecfg, I get this message under "Loading of d3d9adapter9 succeeded":

/usr/lib/i386-linux-gnu/GL/lib/d3d: cannot open shared object file: No such file or directory

Incidentally, the actual system path should be /usr/lib/i386-linux-gnu/d3d/d3dadapter9.so.1 instead.

Things I've tried:

I suppose it's something to do with Proton not allowing to cross container boundaries? I don't know how wine looks for the shared object in the first place.

axeldavy commented 3 years ago

It is possible to indicate the path to search in a windows register (Software\Wine\Direct3DNine ModulePath)

tmarplatt commented 2 years ago

Hi, thanks for leaving this issue open.

I've come back to using Gallium Nine and after getting this same issue again (this time under Linux Mint 20.3 and a fresh winehq-devel 7.3 wineprefix) I saw that wine-nine-standalone now prints a more helpful error message. So thanks for that!

However, the wine registry has two candidate places where a "Software/Wine" registry key could be added. The correct one is HKEY_CURRENT_USER/Software/Wine/Direct3DNine where a string (not a key) named ModulePath must be entered, and its value set to the proper filesystem path where the d3dadapter9 library file is located.

Gallium Nine is now installed and working. Thanks again!