Installing Direct X 11 on Ubuntu 20.04

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?

3

2 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 >
3

He 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.enter image description here

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like