在 Ubuntu 20.04 上安装 Direct X 11

在 Ubuntu 20.04 上安装 Direct X 11

我正在尝试使用 Proton DB 5.13.6 在 Ubuntu 上玩《勇者斗恶龙 11》。游戏不断提示需要 Direct X 11。我在 Macbook Pro 2012 上玩这款游戏,其规格如下:

英特尔酷睿 i5-3210M CPU @ 2.50GHz x 4

英特尔高清显卡 4000 (IVB GT2)

Ubuntu 20.04.2 LTS

64 位

我尝试安装 wine,但是它一直说一些有关 gecko 的事情,我尝试研究但却不明白。

我发现一篇帖子说我需要一个 Vulkan 驱动器,但 Vulkan 无法在这么旧的 Macbook Pro 上运行。有没有办法安装 Direct X 11 或任何解决方法?

答案1

我不确定 Wine 是否成功支持 DirectX 11。我认为它从未完成过。最近,使用 Vulkan 的人报告的帧速率甚至比使用 Wine 的原生 DirectX 9 更好。我不记得整个安装过程。您需要从 GitHub 获取最新的 winetricks,然后:

chmod +x /path/winetricks
<optional> sudo ln -s /path/winetricks /usr/bin

进而:

WINEPREFIX=~/.wine_test64 WINEARCH=win64 winecfg
< the above will create your initial wine prefix >
WINEPREFIX=~/.wine_test64 WINEARCH=win64 winetricks
< pick "Select Default Wine Prefix" and pick "Install DLL's or Windows components", search for dxvulkan or dvkd3d >
< to avoid having to write all that big command everytime
you can simply rename ~/.wine_test64 to ~/.wine
and then you will be able to type only winetricks when needed.
That's the default location of wine. >

我从未使用过 Vulkan,但如果我没记错的话,您还需要安装 i386 版本的图形驱动程序、penGL 库、Vulkan 库等。

使用以下命令验证您缺少哪些:

dpkg -l | grep glx
dpkg -l | grep gl1
dpkg -l | grep mesa
dpkg -l | grep vk    < that's an L, not an I, it's for List >

答案2

他可能不在这里/usr/lib/。就像在我的设备上一样。

ldconfig -p | grep vulkan
    libvulkan_radeon.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libvulkan_radeon.so
    libvulkan_radeon.so (libc6) => /lib/i386-linux-gnu/libvulkan_radeon.so
    libvulkan_intel.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libvulkan_intel.so
    libvulkan_intel.so (libc6) => /lib/i386-linux-gnu/libvulkan_intel.so
    libvulkan.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libvulkan.so.1
    libvulkan.so.1 (libc6) => /lib/i386-linux-gnu/libvulkan.so.1
    libvulkan.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libvulkan.so

ldd `which vulkaninfo`
    linux-vdso.so.1 (0x00007fff3cdd4000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7490a6f000)
    libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f7490a45000)
    libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f7490908000)
    libwayland-client.so.0 => /lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007f74908f7000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f7490716000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f74906fb000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7490507000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f7490b20000)
    libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f7490501000)
    libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f74904f9000)
    libffi.so.7 => /lib/x86_64-linux-gnu/libffi.so.7 (0x00007f74904ed000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f74904ca000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f749037b000)
    libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f749035f000)
ldd /usr/lib/libvulkan.so.1*
ldd: /usr/lib/libvulkan.so.1*: Нет такого файла или каталога

vulkaninfo
ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_intel.so: wrong ELF class: ELFCLASS32
INTEL-MESA: warning: Haswell Vulkan support is incomplete

root@Venue-11-Pro-7130-vPro:/home/mct# sudo dpkg -l | grep glx
ii  libglx-mesa0:amd64                         20.2.6-0ubuntu0.20.04.1               amd64        free implementation of the OpenGL API -- GLX vendor library
ii  libglx-mesa0:i386                          20.2.6-0ubuntu0.20.04.1               i386         free implementation of the OpenGL API -- GLX vendor library
ii  libglx0:amd64                              1.3.2-1~ubuntu0.20.04.1               amd64        Vendor neutral GL dispatch library -- GLX support
ii  libglx0:i386                               1.3.2-1~ubuntu0.20.04.1               i386         Vendor neutral GL dispatch library -- GLX support
ii  libxcb-glx0:amd64                          1.14-2                                amd64        X C Binding, glx extension
ii  libxcb-glx0:i386                           1.14-2                                i386         X C Binding, glx extension
root@Venue-11-Pro-7130-vPro:/home/mct# sudo dpkg -l | grep gl1
ii  libegl1:amd64                              1.3.2-1~ubuntu0.20.04.1               amd64        Vendor neutral GL dispatch library -- EGL support
ii  libgl1:amd64                               1.3.2-1~ubuntu0.20.04.1               amd64        Vendor neutral GL dispatch library -- legacy GL support
ii  libgl1:i386                                1.3.2-1~ubuntu0.20.04.1               i386         Vendor neutral GL dispatch library -- legacy GL support
ii  libgl1-mesa-dri:amd64                      20.2.6-0ubuntu0.20.04.1               amd64        free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-dri:i386                       20.2.6-0ubuntu0.20.04.1               i386         free implementation of the OpenGL API -- DRI modules
ii  libgstreamer-gl1.0-0:amd64                 1.16.2-4                              amd64        GStreamer GL libraries
ii  libwayland-egl1:amd64                      1.18.0-1                              amd64        wayland compositor infrastructure - EGL library
ii  libwayland-egl1:i386                       1.18.0-1                              i386         wayland compositor infrastructure - EGL library
root@Venue-11-Pro-7130-vPro:/home/mct# sudo dpkg -l | grep mesa
ii  libegl-mesa0:amd64                         20.2.6-0ubuntu0.20.04.1               amd64        free implementation of the EGL API -- Mesa vendor library
ii  libgl1-mesa-dri:amd64                      20.2.6-0ubuntu0.20.04.1               amd64        free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-dri:i386                       20.2.6-0ubuntu0.20.04.1               i386         free implementation of the OpenGL API -- DRI modules
ii  libglapi-mesa:amd64                        20.2.6-0ubuntu0.20.04.1               amd64        free implementation of the GL API -- shared library
ii  libglapi-mesa:i386                         20.2.6-0ubuntu0.20.04.1               i386         free implementation of the GL API -- shared library
ii  libglu1-mesa:amd64                         9.0.1-1build1                         amd64        Mesa OpenGL utility library (GLU)
ii  libglu1-mesa:i386                          9.0.1-1build1                         i386         Mesa OpenGL utility library (GLU)
ii  libglx-mesa0:amd64                         20.2.6-0ubuntu0.20.04.1               amd64        free implementation of the OpenGL API -- GLX vendor library
ii  libglx-mesa0:i386                          20.2.6-0ubuntu0.20.04.1               i386         free implementation of the OpenGL API -- GLX vendor library
ii  libosmesa6:i386                            20.2.6-0ubuntu0.20.04.1               i386         Mesa Off-screen rendering extension
ii  mesa-utils                                 8.4.0-1build1                         amd64        Miscellaneous Mesa GL utilities
ii  mesa-va-drivers:amd64                      20.2.6-0ubuntu0.20.04.1               amd64        Mesa VA-API video acceleration drivers
ii  mesa-va-drivers:i386                       20.2.6-0ubuntu0.20.04.1               i386         Mesa VA-API video acceleration drivers
ii  mesa-vdpau-drivers:amd64                   20.2.6-0ubuntu0.20.04.1               amd64        Mesa VDPAU video acceleration drivers
ii  mesa-vdpau-drivers:i386                    20.2.6-0ubuntu0.20.04.1               i386         Mesa VDPAU video acceleration drivers
ii  mesa-vulkan-drivers:amd64                  20.2.6-0ubuntu0.20.04.1               amd64        Mesa Vulkan graphics drivers
ii  mesa-vulkan-drivers:i386                   20.2.6-0ubuntu0.20.04.1               i386         Mesa Vulkan graphics drivers
root@Venue-11-Pro-7130-vPro:/home/mct# sudo dpkg -l | grep vk
ii  libvkd3d1:i386                             1.1-4                                 i386         Direct3D 12 to Vulkan translation - library
ii  lunarg-vkconfig                            1.2.170.0~rc2-1lunarg20.04-1          amd64        LunarG GUI tool to configure Vulkan layers

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

VULKAN_SDK=~/Downloads/VulkanSDK/1.2.170/x86_64
PATH=$VULKAN_SDK/bin:$PATH
LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH
VK_LAYER_PATH=$VULKAN_SDK/etc/explicit_layer.d

{
    "ICD": {
        "api_version": "1.2.170",
        "library_path": "/usr/lib/x86_64-linux-gnu/libvulkan_intel.so"
    },
    "file_format_version": "1.0.0"
}
DRI_PRIME=1 glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 4200 (HSW GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 20.2.6
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 20.2.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 20.2.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

尝试一下 PlayOnlinux。我还没有尝试过游戏,但我觉得它有实现这一目的所需的所有工具。 在此处输入图片描述

相关内容