DirectX error in games

I am new to Manjaro KDE and i like it. All of my apps run fine.

But the Games do not run at all. For instance if I run Among Us it says

Failed to initialize graphics.
Make sure you have DirectX 11 installed, have up to date
drivers for your graphics card and have not disabled
3D acceleration in display settings.
InitializeEngineGraphics failed

I think I require to install DirectX but I cannot figure out How?
Can someone give me a tutorial.

Actually I am a game developer i myself make games and if this issue is not resolved i have to leave Manjaro cause I may not be able to test my games.

I figured out that Games made with Unity don’t work.

My Hardware (Base):-

Core 2Quad Q9400
Intel Integrated graphics
8 GB DDR3 Ram
G41 Motherboard

(by running inxi -F):-

    System: Host: div-pc Kernel: 5.8.6-1-MANJARO x86_64 bits: 64 Desktop: KDE Plasma 5.19.5
    Distro: Manjaro Linux
    Machine: Type: Desktop Mobo: N/A model: G41 Series v: 1.01 serial: <superuser/root required>
    BIOS: American Megatrends v: 080015 date: 03/25/2019
    CPU: Topology: Quad Core model: Intel Core2 Quad Q9400 bits: 64 type: MCP L2 cache: 3072 KiB
    Speed: 2158 MHz min/max: N/A Core speeds (MHz): 1: 2158 2: 2138 3: 2350 4: 2413
    Graphics: Device-1: Intel 4 Series Integrated Graphics driver: i915 v: kernel
    Display: x11 server: X .Org 1.20.8 driver: intel unloaded: modesetting resolution: 1366x768~60Hz
    OpenGL: renderer: Mesa DRI Intel G41 (ELK) v: 2.1 Mesa 20.1.7
    Audio: Device-1: Intel NM10/ICH7 Family High Definition Audio driver: snd_hda_intel
    Sound Server: ALSA v: k5.8.6-1-MANJARO
    Network: Device-1: Realtek RTL810xE PCI Express Fast Ethernet driver: r8169
    IF: ens32 state: down mac: 00:e0:8c:68:07:54
    Device-2: Ralink MT7601U Wireless Adapter type: USB driver: mt7601u
    IF: wlp0s29f7u5 state: up mac: 20:e8:17:08:de:a4
    Drives: Local Storage: total: 298.10 GiB used: 184.56 GiB (61.9%)
    ID-1: /dev/sda vendor: Seagate model: ST3160215ACE size: 149.05 GiB
    ID-2: /dev/sdb vendor: Western Digital model: WD1600AAJS-61WAA0 size: 149.05 GiB
    Partition: ID-1: / size: 69.28 GiB used: 9.48 GiB (13.7%) fs: ext4 dev: /dev/sdb2
    Swap: Alert: No Swap data was found.
    Sensors: System Temperatures: cpu: 42.0 C mobo: N/A
    Fan Speeds (RPM): N/A
    Info: Processes: 183 Uptime: 20m Memory: 7.65 GiB used: 1.34 GiB (17.5%) Shell: Bash inxi: 3.1.05

By Running - sudo pacman -Qs vulkan:-

    local/lib32-vkd3d 1.2-2
    Direct3D 12 to Vulkan translation library By WineHQ
    local/lib32-vulkan-icd-loader 1.2.158-1
    Vulkan Installable Client Driver (ICD) Loader (32-bit)
    local/lib32-vulkan-intel 20.1.7-1
    Intel’s Vulkan mesa driver (32-bit)
    local/spirv-tools 2020.4-1 (vulkan-devel)
    API and commands for processing SPIR-V modules
    local/vkd3d 1.2-1
    Direct3D 12 to Vulkan translation library By WineHQ
    local/vulkan-icd-loader 1.2.151-1
    Vulkan Installable Client Driver (ICD) Loader
    local/vulkan-intel 20.1.7-1
    Intel’s Vulkan mesa driver
    local/vulkan-mesa-layers 20.2.2-2
    Mesa’s Vulkan layers

I hope somebody would help me this time

Here are a couple of resources you should/could read:

https://wiki.archlinux.org/index.php/wine

https://linuxreviews.org/The_New_Wine_Vulkan_Backend_For_DirectX_9-11_Is_Coming_Along_Nicely

https://forum.winehq.org/viewtopic.php?f=8&t=33406

DirectX is a toolkit for Windows. It’s not a core component, so it’s not shipped with Wine, you need to add it.

You could take a look at Proton, which AFAIK includes DXVK, a compatibility layer between DirectX and Vulkan.

If you intend to make games playable on both Windows and Linux, you could also replace DirectX by OpenGL or Vulkan.

I can run Among Us with proton on steam. Works like a charm without issues.

But your graphics card need to support vulkan:

Test it with (install vulkan-tools):

vulkaninfo

or

vkcube

If not, then you need to disable dxvk and use the common opengl layer in proton:

Start it with this command:

PROTON_USE_WINED3D=1 %command%

One would have guessed a game developer or anyother developer to know these things…

No idea what kind of platform you create your games for, but abandoning Manjaro because you can’t get it to work is equal to abandoning Linux as a whole…
I guess you make your games for M$'s OS because of the DirectX you mention, in that case you should know that you need to develop on that OS also.

You can however develop platform independed if you use Frameworks that are so, like Vulkan/OpenGL in combination with Proton/Wine as mentioned above…

I make games on Unity. I know that too, but you know, I need other games made with unity to work on my system too. Such as the games on itch.io that are made for windows, 'cause i test other developer’s games too and they won’t give their time porting the game to Vulkan or OpenGL as unity if exported for windows automatically sets the renderer to DirectX.

Idk why but when i was on a Linux distribution based on Ubuntu (specifically Feren OS). It automatically worked without me trying to do any command line stuff other then just install wine.

quoting from ‘the other thread’… removed ‘the other parts’.

Click your game in Lutris and look at the right side menu, you can run an executable inside your WINE prefix, so if you want to install DirectX you can do it this way, but you shouldn’t have to in theory. In the game configuration in Lutris just check the DXVK box it’s all it needs.

Granted you have DXVK working on your machine.

Also you can change the WINE version used in Lutris for other ones.

There is still the 4$ solution too :wink:

Ok I done it
By running vulkaninfo

ERROR: [Loader Message] Code 0 : /usr/lib32/libvulkan_intel.so: wrong ELF class: ELFCLASS32
ERROR at /build/vulkan-tools/src/Vulkan-Tools-1.2.159/vulkaninfo/vulkaninfo.h:248:vkEnumerateInstanceExtensionProperties failed with ERROR_INITIALIZATION_FAILED

By running vkcube

Segmentation fault (core dumped)

I think my integrated graphics are a problem? but when i search in internet it shows that Intel hd 4000 series have the support in Vulkan whereas windows does not have it.
I love that fact though :wink:

Already done it bro didn’t help
It stays always the same


are you are Linux pro or a Noob like me btw?

If you mean do I have issue doing whatever I want on my computer, the answer is no.

That’s not how you run a game through Lutris by double clicking the executable in Dolphin.

I posted the wrong screen shot see this:-

First, every time I reboot I see this error idk why?

And yes this is the main problem

Do you know how I fix it?

@Div_Sharp

Ok here is a step by step by step tutorial with pure wine in a terminal:

  1. Install wine and winetricks:
pamac install wine winetricks
  1. Create the directories:
mkdir -p ~/among-us/prefix
  1. Initialize the prefix:
WINEPREFIX=~/among-us/prefix WINEARCH=win64 wineboot
  1. Copy the game to /home/$USER/among-us/
  2. Install directx11:
WINEPREFIX=~/among-us/prefix WINEARCH=win64 winetricks d3dx11_43 d3dx11_42
  1. Start it:
WINEPREFIX=~/among-us/prefix WINEARCH=win64 wine ~/among-us/Among\ Us.exe

PS: Just tested and it works. Same thing works also in lutris because it is just a nice GUI for this.

2 Likes

Ok, now I know my integrated graphics wont work with vulkan that’s why this error happened. I think I have to use Windows to just run games.

Here is the log

002c:fixme:winediag:LdrInitializeThunk wine-staging 5.21 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq .org.
0024:err:winediag:gnutls_initialize failed to load libgnutls, no support for encryption
0024:err:winediag:gnutls_initialize failed to load libgnutls, no support for pfx import/export
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0024:fixme:imm:ImmReleaseContext (00020056, 04B88FA8): stub
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:fixme:dxgi:DXGID3D10CreateDevice Ignoring flags 0x20.
0024:fixme:winediag:wined3d_select_feature_level None of the requested D3D feature levels is supported on this GPU with the current shader backend.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:fixme:d3d11:d3d11_create_device WARP driver not implemented, falling back to hardware.
0024:fixme:dxgi:DXGID3D10CreateDevice Ignoring flags 0x20.
0024:fixme:winediag:wined3d_select_feature_level None of the requested D3D feature levels is supported on this GPU with the current shader backend.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:fixme:dxgi:DXGID3D10CreateDevice Ignoring flags 0x20.
0024:fixme:winediag:wined3d_select_feature_level None of the requested D3D feature levels is supported on this GPU with the current shader backend.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed, using fallback value 2^23.
0024:fixme:d3d11:d3d11_create_device WARP driver not implemented, falling back to hardware.
0024:fixme:dxgi:DXGID3D10CreateDevice Ignoring flags 0x20.
0024:fixme:winediag:wined3d_select_feature_level None of the requested D3D feature levels is supported on this GPU with the current shader backend.
0024:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0030FC64

Idk why, but when I search on Internet it shows that linux has a driver for my 4 series graphics that support vulkan. But I cannot figure how how to install it.
Here is a example that has that driver:-

Do I have to leave the issue as it is and use windows to run my games or is there any solutions.(I am not leaving Linux)

When Installing directX it gives this log:-

You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
Using winetricks 20200412 - sha256sum: 40ff4c67804584b73d4d36153e1f64ca426d739f1790bd748f5ded0865e8cc7f with wine-5.21 (Staging) and WINEARCH=win64
Executing w_do_call d3dx11_43
Executing mkdir -p /home/divsharp-/among-us
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
Executing load_d3dx11_43 
Executing cabextract -q -d /home/divsharp-/among-us/prefix/dosdevices/c:/windows/temp -L -F *d3dx11_43*x86* /home/divsharp-/.cache/winetricks/directx9/directx_Jun2010_redist.exe
/home/divsharp-/.cache/winetricks/directx9/directx_Jun2010_redist.exe: no valid cabinets found
Note: command cabextract -q -d /home/divsharp-/among-us/prefix/dosdevices/c:/windows/temp -L -F *d3dx11_43*x86* /home/divsharp-/.cache/winetricks/directx9/directx_Jun2010_redist.exe returned status 1. Aborting.

From what I see here:


the gpu has not full support.

The device on my laptop:


but at least i can start vkcube wthout problems… to be honest, i never used vulkan on intel gpus xD

Directx need to be downloaded. No Internet connection?

Update

Did the same steps like i descibed on my laptop. Works great and no problems.

[user@Lenovo-G50-30 ~]$ inxi -Gazy
Graphics:
  Device-1: Intel Atom Processor Z36xxx/Z37xxx Series Graphics & Display 
  vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:0f31 
  Device-2: Acer Lenovo EasyCamera type: USB driver: uvcvideo bus ID: 1-4.1:3 
  chip ID: 5986:0652 serial: <filter> 
  Display: x11 server: X.Org 1.20.9 driver: intel display ID: :0.0 screens: 1 
  Screen-1: 0 s-res: 1366x768 s-dpi: 96 s-size: 361x203mm (14.2x8.0") 
  s-diag: 414mm (16.3") 
  Monitor-1: eDP1 res: 1366x768 hz: 60 dpi: 102 size: 340x190mm (13.4x7.5") 
  diag: 389mm (15.3") 
  OpenGL: renderer: Mesa DRI Intel HD Graphics (BYT) v: 4.2 Mesa 20.2.3 
  compat-v: 3.0 direct render: Yes 

But however… wine with vulkan does not work with directx11/10, but with directx9. For DX11/10 there you need to use wined3d with native libs (not built-in).

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.