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

err:ninecfg:nine_set d3d9-nine.dll not found #1

Closed WuShichao closed 5 years ago

WuShichao commented 5 years ago

Hello, I use Padoka Stable PPA, when I compiling wine-nine-standalone, I get this error: installing 32bit binaries to /home/wushichao/.wine/dosdevices/c:/windows/syswow64 installing 64bit binaries to /home/wushichao/.wine/dosdevices/c:/windows/system32 enabling gallium nine 0034:err:ninecfg:nine_set d3d9-nine.dll not found. done

WuShichao commented 5 years ago

By the way, I think Padoka Stable PPA has d3dadapter9.so, because: ls /usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1.0.0 /usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1.0.0

dhewg commented 5 years ago

That's output from nine-install.sh. Did you use release.sh to build it? Did that succeed?

WuShichao commented 5 years ago

@dhewg Thanks, but I get a new error, still related to d3dadapter9: default

WuShichao commented 5 years ago

@dhewg when I locate dadadapter9, I do have it: default

dhewg commented 5 years ago

That's the runtime package, you need its headers and pkgconfig/d3d.pc. Which are in mesa-common-dev for this PPA, see https://github.com/iXit/wine-nine-standalone/wiki/Debian-and-Ubuntu

WuShichao commented 5 years ago

@dhewg Thanks, but I can't install mesa-common-dev, because it relies on libd3dadapter9-mesa (= 18.2.2-0ubuntu1~18.04.1), its version is still 18.2.2, but the mesa version in Padoka Stable PPA is already 18.3.3-1~c~padoka0, which makes it can't be installed.

dhewg commented 5 years ago

Sounds like you mixed mesa packages from the ubuntu repos and that ppa which conflict with each other. You need to install all mesa related packages from only one source.

It may be easier to just grab the release binaries, which I specifically provide to avoid all those problems with outdated packages ;)

WuShichao commented 5 years ago

@dhewg You're right, I just misunderstood your meaning of with Debian buster and **Ubuntu cosmic** the required development packages are:, now I know that's for users not using Padoka Stable PPA :) Now I can install mesa-common-dev, but I still get this error: default

dhewg commented 5 years ago

pkgconfig/d3d.pc is still missing I guess? Try dpkg -S d3d.pc It is in mesa-common-dev for oibaf's ppa, I thought it's the same for padoka? Anyway, that file from a -dev package is required

As a side note, just c&p shell output here, there's no need to post screenshots

WuShichao commented 5 years ago

@dhewg Thanks, here is the result: wushichao@family:~/wine-nine-standalone$ dpkg -S d3d.pc mesa-common-dev:amd64: /usr/lib/x86_64-linux-gnu/pkgconfig/d3d.pc But when I compiling it, it can find d3d, but I get new error: /usr/include/d3dadapter/present.h:26:10: fatal error: d3d9.h: no such file or directory

dhewg commented 5 years ago

Well, it tells you what's missing... Just grab a binary release. Even if you fixed that error, I suspect you run into the next issue with a buggy winegcc afterwards.

WuShichao commented 5 years ago

@dhewg I'm using Linux Mint 19.1 using Padoka PPA from very beginning, you mean I need grab wine-nine-standalone's binary release?

dhewg commented 5 years ago

Yeah, gallium-nine-standalone-v0.2.tar.gz from https://github.com/iXit/wine-nine-standalone/releases/tag/v0.2 should just work, including on Mint

WuShichao commented 5 years ago

@dhewg I grab the binary release, and just run ./nine-install.sh, still get the same error: installing 32bit binaries to /home/wushichao/.wine/dosdevices/c:/windows/syswow64 installing 64bit binaries to /home/wushichao/.wine/dosdevices/c:/windows/system32 enabling gallium nine 0034:err:ninecfg:nine_set d3d9-nine.dll not found. done But I can find d3d9-nine.dll.so in binary release's folder.

dhewg commented 5 years ago

Ok, well that's weird. Please paste the output of find /home/wushichao/.wine/drive_c/ -name \*nine\* | xargs ls -la

WuShichao commented 5 years ago

@dhewg That's on my desktop PC (AMD RX480), I also install it on my old laptop (AMD HD8670M card), not has this problem, but when I run wine ninewinecfg, I can see the GUI, get some new errors: default In the terminal, it says: nightwing@halo:~$ wine ninewinecfg 0009:fixme:win:EnumDisplayDevicesW ((null),0,0x32e4e4,0x00000000), stub! 0009:err:d3d9nine:present_create_adapter9 Unable to create ID3DAdapter9 (fd=13) 0009:fixme:win:EnumDisplayDevicesW ((null),1,0x32e4e4,0x00000000), stub! 0009:err:d3d9nine:d3dadapter9_new No available native adapters in system.

WuShichao commented 5 years ago

@dhewg for my desktop PC: wushichao@family:~/gallium-nine-standalone$ find /home/wushichao/.wine/drive_c/ -name *nine* | xargs ls -la lrwxrwxrwx 1 wushichao wushichao 62 2月 4 16:09 /home/wushichao/.wine/drive_c/windows/system32/d3d9-nine.dll -> /home/wushichao/gallium-nine-standalone/lib64/d3d9-nine.dll.so lrwxrwxrwx 1 wushichao wushichao 64 2月 4 16:09 /home/wushichao/.wine/drive_c/windows/system32/ninewinecfg.exe -> /home/wushichao/gallium-nine-standalone/bin64/ninewinecfg.exe.so -rw-r--r-- 1 wushichao wushichao 106772 1月 26 16:51 /home/wushichao/.wine/drive_c/windows/system32/wininet.dll lrwxrwxrwx 1 wushichao wushichao 62 2月 4 16:09 /home/wushichao/.wine/drive_c/windows/syswow64/d3d9-nine.dll -> /home/wushichao/gallium-nine-standalone/lib32/d3d9-nine.dll.so lrwxrwxrwx 1 wushichao wushichao 64 2月 4 16:09 /home/wushichao/.wine/drive_c/windows/syswow64/ninewinecfg.exe -> /home/wushichao/gallium-nine-standalone/bin32/ninewinecfg.exe.so -rw-r--r-- 1 wushichao wushichao 106772 1月 26 16:59 /home/wushichao/.wine/drive_c/windows/syswow64/wininet.dll

PS: I can run the GUI on my desktop PC, but it seems to lack more things, terminal says nothing: image

dhewg commented 5 years ago

0009:err:d3d9nine:d3dadapter9_new No available native adapters in system. That means no gallium drivers, do you use AMD's binary drivers on that box?

WuShichao commented 5 years ago

@dhewg I also use Padoka Stable PPA on my laptop.

dhewg commented 5 years ago

Hm, the error makes it sounds like you're not. What does glxinfo | grep OpenGL say?

WuShichao commented 5 years ago

@dhewg It's Padoka PPA, I'm very sure :) nightwing@halo:~$ glxinfo | grep OpenGL ATTENTION: default value of option vblank_mode overridden by environment. OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.3 - padoka PPA OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 18.3.3 - padoka PPA OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.3.3 - padoka PPA OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10 OpenGL ES profile extensions:

When I run neofetch, you can see my two GPUs: GPU: Intel Haswell Mobile GPU: AMD Radeon HD 8670A/8670M/8690M

dhewg commented 5 years ago

Ok it is, but that's an Intel GPU, not a AMD one :P

WuShichao commented 5 years ago

@dhewg When I run neofetch, you can see my two GPUs: GPU: Intel Haswell Mobile GPU: AMD Radeon HD 8670A/8670M/8690M

WuShichao commented 5 years ago

@dhewg nightwing@halo:~$ DRI_PRIME=1 glxinfo | grep OpenGL ATTENTION: default value of option vblank_mode overridden by environment. OpenGL vendor string: X.Org OpenGL renderer string: AMD HAINAN (DRM 2.50.0, 4.15.0-45-generic, LLVM 7.0.0) OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.3 - padoka PPA OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.5 (Compatibility Profile) Mesa 18.3.3 - padoka PPA OpenGL shading language version string: 4.50 OpenGL context flags: (none) OpenGL profile mask: compatibility profile OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.3.3 - padoka PPA OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 OpenGL ES profile extensions:

dhewg commented 5 years ago

So try DRI_PRIME=1 with wine/nine?

WuShichao commented 5 years ago

@dhewg Thank you very much! default nightwing@halo:~$ DRI_PRIME=1 wine ninewinecfg 0009:fixme:win:EnumDisplayDevicesW ((null),0,0x32e4e4,0x00000000), stub! ATTENTION: default value of option vblank_mode overridden by environment. 0009:fixme:win:EnumDisplayDevicesW (L"\\.\DISPLAY1",0,0x32e4e4,0x00000000), stub! 0009:fixme:win:EnumDisplayDevicesW (L"\\.\DISPLAY1",1,0x32e4e4,0x00000000), stub! 0009:fixme:win:EnumDisplayDevicesW ((null),1,0x32e4e4,0x00000000), stub! Native Direct3D 9 v0.2.0.166-release is active. For more information visit https://github.com/iXit/wine-nine-standalone

dhewg commented 5 years ago

yay