I'm trying to play Dragon Quest 11 on Ubuntu using Proton DB 5.13.6. The game keeps coming up saying Direct X 11 is required. I'm playing it on a Macbook Pro 2012 with the following specs:
Intel Core i5-3210M CPU @ 2.50GHz x 4
Intel HD Graphics 4000 (IVB GT2)
Ubuntu 20.04.2 LTS
64-bit
I tried installing wine but it kept saying something about gecko, which I tried to research but didn't understand.
I found a post saying that I need a Vulkan drive, but that Vulkan doesn't run on a Macbook pro that so old. Is there anyway to install Direct X 11 or any work-arounds?
32 Answers
I'm not sure if Wine ever successfully supported DirectX 11. I think it was never finished. More recently people that have been using Vulkan are reporting even better framerates than using Wine's native DirectX 9. I don't recall the entire installation procedure. You will need to obtain the latest winetricks from GitHub, then:
chmod +x /path/winetricks <optional> sudo ln -s /path/winetricks /usr/bin And then:
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. > I never used Vulkan, but if I'm not mistaken you will also need to install the i386 versions of your graphics drivers, penGL libraries, Vulkan libraries, etc.
Verify which ones you are missing using these commands:
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 > 3He probably isn't here /usr/lib/. Like on my device.
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: Try PlayOnlinux. I haven't tried the games, but it seems to me that it has all the tools for this. 