Doom 2016 Vulkan renderer is broken since 440 drivers ( Optimus )

I was able to play this game with Vulkan renderer at 440 series drivers just fine. But with 450.66 driver and newer releases (i’m on 455.45.01 now and problem still exists) it has visual corruptions all over the place. Game doesn’t have any of those mentioned/shown issues with OpenGL renderer and id Software’s embedded performance metrics shows with OpenGL renderer driver reports VRAM as 4096 mb like it should be , but with Vulkan renderer it reports 4342 mb’s of VRAM.

I’m running the game via SteamPlay/Proton 5.0 on an Optimus laptop with these variables:


Nvidia bug report and screenshot that shows the issue at main menu are attached. Also video footages that shows the issue are also attached.

nvidia-bug-report.log.gz (884.1 KB)

So at further investigation , i captured some faulty frames with Renderdoc. I will attach them here.

“directional occlusion” pass setting from the advanced settings menu of the game is the culprit. When it is on ( set to low , medium or high ) and any of the anti aliasing modes that involves usage of compute shaders ( like TAA , TSSA) are set , nearly everything is black , menu also flickers.

When “directional occlusion” pass is set to on but AA modes that doesn’t involve compute shader usage like FXAA , SMAA everything looks ok.

Example image from rdc capture:

Directional occlusion on - TSSA 8X on:

Directional occlusion on - FXAA on:

I tried recreating issue on below configuration setup but no luck so far.

Acer Predator PH315-53 + Ubuntu 20.04 LTS + Geforce GTX 1650 + Driver 450.66

I launched steam using below command –

And then changed Graphics API to Vulkan in Doom Advanced setting section but there were no corruption observed while playing game.

Could you please confirm if there were any other settings done at your end ?

Hi @amrits

My settings are simply like this:

This one says custom but it is just high preset+ Anisotropic is set to 8X. On high settings preset , it is set to 4x by default.Setting it to 8X makes it “custom”

Enabling/disabling usage of compute shaders ( it has an option for it at advanced options menu ) sometimes affects flickering issue that happens in main menu but that flickering is not always reproducible unlike the main issue i reported.

1-) My setup:

I didn’t mess,configure any Xorg.conf. Retrieved these from usr/share/x11

xorg.conf.d.tar.gz (2.2 KB)

2-) My output of xrandr --listproviders:

Providers: number : 2

Provider 0: id: 0x44 cap: 0x9, Source Output, Sink Offload crtcs: 3 outputs: 2 associated providers: 0 name:modesetting
Provider 1: id: 0x229 cap: 0x0 crtcs: 0 outputs: 0 associated providers: 0 name:NVIDIA-G0

3-) I have options nvidia-drm modeset=1 set in /etc/modprobe.d/zz-nvidia-modeset.conf

4-) My inxi -SMGxx output:


Device-1: Intel HD Graphics 630 vendor: ASUSTeK driver: i915 v: kernel
bus ID: 00:02.0 chip ID: 8086:591b
Device-2: NVIDIA GP107M [GeForce GTX 1050 Mobile] vendor: ASUSTeK
driver: nvidia v: 455.45.01 bus ID: 01:00.0 chip ID: 10de:1c8d
Display: x11 server: X.Org 1.20.8 driver: modesetting,nvidia
unloaded: fbdev,nouveau,vesa tty: N/A
OpenGL: renderer: Mesa Intel HD Graphics 630 (KBL GT2)
v: 4.6 Mesa 20.3.0 - kisak-mesa PPA direct render: Yes

As a last note , ( not sure if it makes any difference or sense ) but a screenshot from NV x-server settings. I wonder why it says X Screens:Screen 256 and Display Devices:None

the render is broken on my system too 1050 4GB only in offload mode
i you swtich to nvidia only the game will become playable so it’s an issue with nvidia offload(and maybe the 1050 4GB) and not whole render

Thanks for checking out. So GTX 1050 4 GB is problematic and repro tries should have done on such hw.

@amrits Maybe you want to check that out.

Any advancement on this?

With another Nvidia user ( Pascal GTX 1060 desktop) we are able to reproduce the issue.

To put it simply ; on Optimus setups app profiles doesn’t seem to be applying.On a desktop system (or any other unaffected system) modifying binary driver as to look for randombinary.exe instead of DOOMx64vk.exe will reproduce the issue. This behaviour also explains why issue below happens too. Same issue.


Issue here is solved without changing driver.

On same driver ( 460.67) i can repro the issue if i launch the game with:


However if i launch the game like this:


I can’t repro the issue.

Issue seems to be rooted from __GLX_VENDOR_LIBRARY_NAME=nvidia

Proton 5.13-6 , Nvidia driver 460.67, Intel HD 630+GTX 1050 Optimus setup, on-demand mode

Nice find. Does this also happen if you set


but omit


(setting both should be superfluous but working)

While i didn’t try this yet ( not at home currently) i would expect result to be same ( problematic) because in this state i would have to point nvidia icd to game in order to utilize NV gpu with it. Doom 2016 doesn’t offer any gpu selection and uses first available adapter. Which on many up to date multi gpu systems that means either using igpu or lavapipe. Which pointing out NV icd should have similar result to what NV only optimus layer does.

Will try with pointing icd method anyway, for testing sake.