Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't run games with Gallium-Nine #172

Open
artslay opened this issue Sep 10, 2024 · 11 comments
Open

Can't run games with Gallium-Nine #172

artslay opened this issue Sep 10, 2024 · 11 comments

Comments

@artslay
Copy link

artslay commented Sep 10, 2024

Ubuntu Ubuntu 24.04.1
2024-09-10_18-08
GPU Info:
2024-09-10_18-09

@lorn10
Copy link

lorn10 commented Oct 6, 2024

Perhaps the problem here is / was Wine staging? At least on Wine devel this worked until Wine 9.17 I think.

Whatever, this could be otherwise also Mesa related. Perhaps you try out the latest Mesa devel version from the oibaf PPA.

@the-burrito-triangle
Copy link

Gallium Nine is also broken for me on Fedora 39. I have an Intel Xe / UHD 750 (RocketLake GT1) and AMD Radeon 7600 and neither card (using DRI_PRIME=) works with Gallium Nine on Mesa 23.3.6 and Wine 9.1. Also fails on CachyOS with latest Mesa and latest Wine (9.19) with the same error message:

Native Direct3D 9 will be unavailable.
For more information visit https://github.com/iXit/wine-nine-standalone
err:d3d9nine:d3dadapter9_new Your display driver doesn't support native D3D9 adapters.

@lorn10
Copy link

lorn10 commented Oct 19, 2024

For me on Lubuntu 24.04 LTS with Wine 9.19 and Mesa 24.3-git2410190600.019770-oibaf-n (git-019770f 2024-10-19 noble-oibaf-ppa) it works fine:

Nine_config_v0 10 0 408
Nine_config_v0 10 0 408_about

Note, Gallium Nine was indeed broken on Wine 9.18 because of a change in Wine, see #173. So it is needed to install the latest Gallium Nine Standalone version v0.10. This works perfectly on Ubuntu with latest winetricks.

@the-burrito-triangle
Copy link

the-burrito-triangle commented Oct 19, 2024

So, trying again on Fedora 40 with winehq-staging-9.19 and a clean prefix, the install script doesn't work:

$ ./nine-install.sh
002c:fixme:winediag:loader_init wine-staging 9.19 is a testing version containing experimental patches.
002c:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
installing 32bit binaries to /home/mack/.wine/dosdevices/c:/windows/system32
wine64 not found, skipping 64bit
enabling gallium nine
wine: failed to start L"C:\\windows\\system32\\ninewinecfg.exe"
Application could not be started, or no application associated with the specified file.
ShellExecuteEx failed: File not found.

Has "wine64" been depreciated in the WineHQ builds? It's omission breaks the install script. It's probably better to look for the presence of a "syswow64" directory in the default wine prefix first, as this directory is only present in a 64bit prefix--otherwise system32 directory is 32bit. This works around wine64 not being present anymore.

Update: Fedora 40 apparently provides wine64 in a separate package, but its only for their Wine 9.15 build and likely wouldn't work with the winehq-staging-9.19 package.

@the-burrito-triangle
Copy link

the-burrito-triangle commented Oct 19, 2024

When manually making sym links to the 64bit files (with ".so" removed from the file names) and placing them into the system32 directory, running the the GUI shows:

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

under "Loading of d3d9adapter9 succeeded":

gallium-nine-gui

@the-burrito-triangle
Copy link

the-burrito-triangle commented Oct 19, 2024

It also seems that Fedora does not (by default) provide d3dadapter9.so.1 in /user/lib/i386-linux-gnu/d3d/. And in fact, doesn't even have this directory to begin with. Which is why, when the install script did work on my Fedora 39 system, Gallium Nine didn't work... It all makes sense now. I wanted to try this out with a few old d3d9 games I have--people have said Gallium Nine still works better than DXVK for older games. Oh well.

@the-burrito-triangle
Copy link

So... trying out a 32bit wine prefix, just to see if the install script would work, I get this:

$ WINEARCH=win32 WINEPREFIX=~/.wine winecfg
wine: WINEARCH is set to 'win32' but this is not supported in wow64 mode.

Apparently Wine has changed a lot since I've last updated my distro, and clearly, I need to do some more reading.

@the-burrito-triangle
Copy link

the-burrito-triangle commented Oct 19, 2024

Okay! The Fedora mesa-libd3d packages provides d3dadapter9.so.1. So it's now working on Fedora 39 and 40!

Rather than use the install script and GUI, I added a dll override in winecfg and made a sym link to the 64bit shared object named d3d9.dll in the folder of the game I wanted to test it with:

Screenshot from 2024-10-19 17-53-43
Screenshot from 2024-10-19 17-50-41

@lorn10
Copy link

lorn10 commented Oct 20, 2024

Yeah it looks that Wine Staging has incorporated more of the upcoming syswow64 infrastructure.

Perhaps it already uses the new 64bit implementation which will be enabled in regular Wine not before versions 10? 🤔

If so then this topic here is a good feedback thread for that matter. But it should be renamed to something like "Compatibility of Gallium Nine with the new syswow64 infrastructure".

@the-burrito-triangle
Copy link

Yep, starting with Fedora 40, WineHQ packages use the "new" WoW64 and breaks the wine-nine-standalone install script. Should I open a separate issue for this?

https://gitlab.winehq.org/wine/wine/-/wikis/Fedora

Note: the Fedora 40 packages are built with "new WoW64"
architecture. Unlike the "old WoW64," these packages do not require a
separate install of the 32-bit wine-common package or any 32 bit
dependencies. These packages can run 32 bit programs, but will have
performance issues in OpenGL. They cannot run 16 bit programs.

@lorn10
Copy link

lorn10 commented Oct 23, 2024

Well yes you can open a new issue but I think this topic here covers it already. This is true if Wine Staging has generally changed to the new WoW64 mode which would then affect all distros not only Fedora.

As mentioned for me on Lubuntu and Kubuntu 22.04 LTS / 24.04 LTS Wine devel is working (again) fine. Whatever, Wine 10.0 is not so far away and the install problem should be resolved until Wine 10.0 is out. We will see when this topic will be addressed. Whatever, but it is definitively good to know that Gallium Nine is working also with the new WoW64 mode. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants