Hi,
Il 27/11/24 01:36, zhengxianwei ha scritto:
- It actually mentions two ways to test vkd3d. The first one is
available at: https://gitlab.winehq.org/wine/vkd3d/-/wikis/home https://gitlab.winehq.org/wine/vkd3d/-/wikis/home
Building Wine with Direct3D 12 support Wine uses pkg-config to find vkd3d libraries. If vkd3d libraries are installed system-wide, the Wine configure script should find the vkd3d libraries automatically. You can also use PKG_CONFIG_PATH, VKD3D_CFLAGS or VKD3D_LIBS to override pkg-config search path, C compiler flags for libvkd3d, or linker flags for libvkd3d, e.g. $ ../wine-git/configure PKG_CONFIG_PATH=$HOME/src/vulkan/install/lib/ pkgconfig
However, following the steps didn’t work. It seems that VKD3D_FLAGS and VKD3D_LIBS have been deprecated?
"Didn't work" is not a very complete or usable description of the problems you found, so it's hard to help you with that. However, if you want a build of vkd3d that is usable with Wine I think you're off course here. Page https://gitlab.winehq.org/wine/vkd3d/-/wikis/home is mostly about building vkd3d on a Linux/macOS system on its own, which is different to crosscompiling it to a .dll library (which is what you need to use it in Wine).
- The second method is the one you provided on this page:
When I tried following the instructions on this page, I encountered many issues. It seems to treat vkd3d as a .dll file instead of an .a file. Additionally, during ./configure, it seems to treat the host environment as Windows, requiring dependencies to be reinstalled even if they are already installed. It doesn’t feel like a testing environment meant for Ubuntu x64. Is that correct?
As before, saying that you "encountered many issues" doesn't help me a lot with understand what these issues are. You should describe explicitly what you're trying to do and which problems you find if you want to hope that somebody will be able to help you.
It's correct that you need to build vkd3d as a .dll library (what we call a PE build) if you want to use it within Wine, and it's true that a standard Ubuntu environment requires some work before it's able to host such a compilation process. All of that is described in the page I already linked to you. It's a bit lengthy, unfortunately, and it requires some non-trivial knowledge about how compilation works, or at least the availability to study a little bit to acquire said knowledge, but that's what it is.
I can't help, though, wondering a little bit about what's your ultimate goal. Are you trying to play some particular game? Are you trying to add vkd3d support for some particular game? Are you trying to do some vkd3d development without having a particular application in mind? Depending on what's your real goal, compiling a PE build of vkd3d might not necessarily be the easiest way to get there, especially if you're not much used to PE cross compilation.
Gio.