[Bug 51662] New: Wine was built without libvkd3d-shader support.
https://bugs.winehq.org/show_bug.cgi?id=51662 Bug ID: 51662 Summary: Wine was built without libvkd3d-shader support. Product: Wine Version: 6.0.1 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs(a)winehq.org Reporter: nagle(a)animats.com Distribution: --- Attempting to run a test program that uses Vulkan. The program is "cube.exe" from WGPU; it's just a basic test to see if Vulkan graphics work. Set the renderer=vulkan registry key under Direct3d with wine regedit per release notes. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 --- Comment #1 from John Nagle <nagle(a)animats.com> --- Created attachment 70536 --> https://bugs.winehq.org/attachment.cgi?id=70536 Error message and backtrace from Wine crash Ubuntu 20.04 LTS Attempting to test WGPU cross-compiling under Wine. This is the simplest WGPU program with graphical output,and is a standard example provided with WGPU. It was cross-compiled on Linux using Rust, with target x86_64-pc-windows-gnu. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 Sveinar Søpler <cybermax(a)dexter.no> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |cybermax(a)dexter.no --- Comment #2 from Sveinar Søpler <cybermax(a)dexter.no> --- Ubuntu 20.04 (and 21.04) only have the libvkd3d-1.1 distro package. This means it is built pre- libvkd3d-shader. If you want wine with "full" vkd3d support - from vkd3d-1.2, you need to either install libvkd3d from a PPA and build yourself, or wait for distro packages being updated (not very likely for 20.04/21.04 tbh)
From WineHQ build services: [ 39s] [358/694] installing libvkd3d-dev-1.1-4 [ 225s] configure: vkd3d 64-bit development files not found (or too old), Direct3D 12 won't be supported.
-- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 --- Comment #3 from John Nagle <nagle(a)animats.com> --- It fails with executable Wine 6.0.1, downloaded from Wine's repository. I'm not building Wine from source. There's nothing later than that other than a development release. Ref: https://www.winehq.org/ "Ubuntu 20.04 (and 21.04) only have the libvkd3d-1.1 distro package. This means it is built pre- libvkd3d-shader." This isn't a shader level problem. This is a GPU memory allocation problem. It doesn't need the latest shaders. The WGPU developers write, at https://github.com/gfx-rs/wgpu/issues/1854#issuecomment-904087026 "Also the log has this: fixme:d3d12_device_CheckFeatureSupport: Unhandled feature 0x12. Using NVIDIA GeForce GTX 470 (Dx12) fixme:vkd3d_select_memory_type: Custom heaps not supported yet. So it looks like vkd3d doesn't like some of the feature support queries and the fact we are using custom heaps. This is clearly a bug in vkd3d, not wgpu." So, Wine people, here's the WGPU bug report. WGPU people, here's the Wine bug report: https://bugs.winehq.org/show_bug.cgi?id=51662 There's no code here by me. You guys work it out. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 Zebediah Figura <z.figura12(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12(a)gmail.com --- Comment #4 from Zebediah Figura <z.figura12(a)gmail.com> --- I'm rather confused; are you reporting a bug for a Direct3D 11 application or a Direct3D 12 application? Comment 0 suggests the former, in which case you're indeed running into limitations based on an old build of libvkd3d, but then in comment 3 you say the latter. Can you please give exact reproduction instructions? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 --- Comment #5 from John Nagle <nagle(a)animats.com> --- Repro steps Install current Rust on Ubuntu Linux (20.04 LTS used). Install current Wine (6.0.1) or use Wine 5 that ships with 20.04 LTS. Install Rust target for x86_64-pc-windows-gnu Build WGPU examples for that target, debug mode. wine cube.exe
I'm rather confused; are you reporting a bug for a Direct3D 11 application or a Direct3D 12 application?
I'm not sure what mode was selected. WGPU speaks Direct3D 11, and 12, Vulkan, and OpenGL, selected at run time. (Plus WebGL and Metal if built for other targets.) The intent is that WGPU handles the compatibility issues for the user. There's some negotiation at startup. That negotiation may have have gone badly. See https://github.com/gfx-rs/wgpu, "Supported platforms". Here's a compiled version of "cube.exe" (named wgpu-cube.exe because of a name conflict.) Can you get that to run under any version of Wine? http://www.animats.com/sl/misc/wgpu-cube.zip -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 --- Comment #6 from Zebediah Figura <z.figura12(a)gmail.com> --- (In reply to John Nagle from comment #5)
Here's a compiled version of "cube.exe" (named wgpu-cube.exe because of a name conflict.) Can you get that to run under any version of Wine?
It doesn't run in d3d12 or Vulkan mode (mostly because I don't have a working Vulkan driver, though presumably the errors mentioned in comment 3 would apply here as well). On the other hand, if I set WGPU_BACKEND=dx11 or disable d3d12.dll and vulkan-1.dll, I get an error "No suitable GPU adapters found on the system!", which also appears if I set WGPU_BACKEND=dx11 on Windows. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 --- Comment #7 from John Nagle <nagle(a)animats.com> --- That makes sense. WGPU can use DX12 or Vulkan, but neither works yet in Wine. WGPU doesn't yet support DX11 or OpenGL, both of which Wine supports. So there's no overlap and no option works. I think. How far away is Wine support for either DX12 or Vulkan? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 --- Comment #8 from Zebediah Figura <z.figura12(a)gmail.com> --- (In reply to John Nagle from comment #7)
That makes sense. WGPU can use DX12 or Vulkan, but neither works yet in Wine. WGPU doesn't yet support DX11 or OpenGL, both of which Wine supports. So there's no overlap and no option works. I think.
How far away is Wine support for either DX12 or Vulkan?
Both d3d12 and Vulkan are supported in Wine. The latter is relatively quite complete since we just delegate down to the host driver. The former has more missing features, but actually in the git version both D3D12_FEATURE_D3D12_OPTIONS2 and custom heaps are supported. In fact, I tested using a different computer that supports Vulkan and has vkd3d git installed, and both the d3d12 and Vulkan backends work. What I don't understand is how you're getting wined3d messages, from comments 0 and 1. What exactly did you do to trigger that? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 --- Comment #9 from John Nagle <nagle(a)animats.com> ---
What exactly did you do to trigger that?
wine cube.exe So, environment issues: $ wine --version wine-6.0.1 $ which wine /usr/bin/wine $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal Software and updates/Other software (repositories) https://dl.winehq.org/wine-builds/ubuntu focal main $ apt list --installed | grep wine fonts-wine/focal,focal,now 5.0-3ubuntu1 all [installed,automatic] libwine-development/focal,now 5.5-3ubuntu1 amd64 [installed,automatic] wine-stable-amd64/focal,now 6.0.1~focal-1 amd64 [installed,automatic] wine-stable-i386/focal,now 6.0.1~focal-1 i386 [installed,automatic] wine-stable/focal,now 6.0.1~focal-1 amd64 [installed,automatic] winehq-stable/focal,now 6.0.1~focal-1 amd64 [installed] winetricks/focal,focal,now 0.0+20200412-1 all [installed] As far as I can tell, I have the latest stable version of Wine installed. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 --- Comment #10 from Zebediah Figura <z.figura12(a)gmail.com> --- Right, but as far as I can tell the d3d11 backend of that cube sample simply doesn't work. I.e. it doesn't work on Windows either, and in Wine I don't even see it getting as far as making any d3d11 calls. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 John Nagle <nagle(a)animats.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nagle(a)animats.com --- Comment #11 from John Nagle <nagle(a)animats.com> --- Created attachment 70544 --> https://bugs.winehq.org/attachment.cgi?id=70544 Successful run of program which supposedly does not run under Windows Running on Windows 7 Pro, AMD_64. Downloaded and unzipped the executable from the animats.com web site where I put it because it's too big to upload to this board. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 --- Comment #12 from John Nagle <nagle(a)animats.com> --- Confirmation of the problem from the WGPU devs. See https://github.com/gfx-rs/wgpu/issues/1854 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 --- Comment #13 from Zebediah Figura <z.figura12(a)gmail.com> --- (In reply to John Nagle from comment #11)
Created attachment 70544 [details] Successful run of program which supposedly does not run under Windows
Yes, it runs under Windows, but not, as I said, using the d3d11 backend. I.e. if you set WGPU_BACKEND=dx11 before running, it gives the same "no suitable GPU adapters found" error as I get on Linux. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51662 --- Comment #14 from Sveinar Søpler <cybermax(a)dexter.no> --- (In reply to John Nagle from comment #12)
Confirmation of the problem from the WGPU devs. See
As a recap to my/our findings on that issue, i would conclude the follwing: I think this is a WONTFIX/NOTOURBUG type of issue, since WineHQ dev's cant really push distro's to provide newer systemlibs (vkd3d). For now on Ubuntu: 1. You need libvkd3d_1.2 from a Ubuntu PPA 2. You need to build wine-devel-6.1 or newer with the above library to get D3D12 support (Or you need to download unsupported pre-compiled non-system .deb's from elsewhere.) 3. You need to run "winetricks d3dcompiler_47" (to install Microsoft d3dcompiler) on the prefix to get the rust/wgpu samples to work. I can do some more verification for this if needed, but I think that my conclusion is that this is a "distro problem" and not a "winebug", since it does seem to work if you do the above 3 steps. Sounds reasonable? PS. I will have a chat with the ubuntu package maintainer about this, since a similar issue with a different system library was partially solved with the switch to libFAudio back when... just to make wine-devel be built with D3D12 libs perhaps. TBD on that tho - no promise or anything :) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla