You are not logged in.

#1 2023-04-09 01:48:41

LucasBiazi
Member
Registered: 2020-11-11
Posts: 111

[SOLVED] Low FPS in Doom Eternal, normal everywhere else.

Greetings.

I'm experiencing low performance in Doom Eternal (I'm playing through Steam). All other games run fine, Doom Eternal is the only exception regardless of my graphics options being high or low. I've seem some benchmarks on systems that are similar to mine and they're getting 160 FPS while I'm stuck at 30/40. My configs, alongside Arch installation:

OS: Arch Linux x86_64;
Boot Loader: GRUB 2;
Wayland; (Same behavior under X)
Host: A70 HYB Standard (laptop);
Kernel: 6.1.23-1-lts;
Shell: bash 5.1.16;
Resolution: 2560x1440;
DE: Plasma 5.27.4;
WM: kwin;
CPU: 12th Gen Intel i7-12700H (20) @ 4.600GHz;
IGPU: Intel Alder Lake-P;
DGPU: NVIDIA GeForce RTX 3060 Mobile / Max-Q;
Memory: 64 GB;
Storage: NVMEs (2);
DGPU accessed through "prime-run".

Relevant packages:

local/egl-wayland 2:1.1.11-4
    EGLStream-based Wayland external platform
local/lib32-libvdpau 1.5-1
    Nvidia VDPAU library
local/lib32-nvidia-utils 530.41.03-1
    NVIDIA drivers utilities (32-bit)
local/libva-nvidia-driver 0.0.8-1
    VA-API implementation that uses NVDEC as a backend
local/libvdpau 1.5-1
    Nvidia VDPAU library
local/libxnvctrl 530.41.03-1
    NVIDIA NV-CONTROL X extension
local/nvidia 530.41.03-3
    NVIDIA drivers for linux
local/nvidia-lts 1:530.41.03-3
    NVIDIA drivers for linux-lts
local/nvidia-prime 1.0-4
    NVIDIA Prime Render Offload configuration and utilities
local/nvidia-settings 530.41.03-1
    Tool for configuring the NVIDIA graphics driver
local/nvidia-utils 530.41.03-1
    NVIDIA drivers utilities
local/nvtop 3.0.1-1
    GPUs process monitoring for AMD, Intel and NVIDIA
------------------------------------------------------------------------------------------------------------------------
local/intel-gmmlib 22.3.3-1
    Intel Graphics Memory Management Library
local/intel-gpu-tools 1.27-1
    Tools for development and testing of the Intel DRM driver
local/intel-media-driver 23.1.0-1
    Intel Media Driver for VAAPI — Broadwell+ iGPUs
local/intel-ucode 20230214-1
    Microcode update files for Intel CPUs
local/libmfx 23.1.3-2
    Intel Media SDK dispatcher library
local/libva-utils 2.17.1-1
    Intel VA-API Media Applications and Scripts for libva
local/nvtop 3.0.1-1
    GPUs process monitoring for AMD, Intel and NVIDIA
local/vulkan-intel 23.0.2-2
    Intel's Vulkan mesa driver

Hardware Issue?
I doubt since other games run just fine. For instance, Doom 2016 runs smoothly at high video configuration.

Corrupted files?
I've already downloaded the game twice and checked the files' integrity through Steam, which returned me no errors.

Game options/Proton/Launch options
The behavior can be observed regardless of the game options, such as: LOW/HIGH (general), Anti aliasing, resolution scaling, HDR, vertical sync, aspect ratio, scaling.
Tested on: GE-Proton7-54, Proton Experimental, Proton 7.0.6, Proton 5.0.10 (doesn't even launch on this one).
Current launch options: prime-run %command% +com_skipSignInManager 1  +com_skipIntroVideo 1  +com_skipKeyPressOnLoadScreens 1  +r_antialiasing 0 (already tested with gamemoderun aswell, same results)

If extra information is needed just input me and I'll provide it, thanks in advance.

Last edited by LucasBiazi (2023-04-16 01:04:34)


Always backup important files when editing it.

Offline

#2 2023-04-09 23:38:29

LucasBiazi
Member
Registered: 2020-11-11
Posts: 111

Re: [SOLVED] Low FPS in Doom Eternal, normal everywhere else.

The attached image is a picture of my external monitor running the game through KVM. The game runs just fine through W11, further indicating that the issue isn't hardware related. When running in the laptop through Proton I have had the impression that the DGPU isn't being fully utilized since it is quieter than normal/fan speeds are low. Could it indicate that I might have installed prime wrongly or something related? Since we're talking about it, could Proton run a game "perfectly" but present performance issues? I'll look into it and update this comment with the results in time.

Picture mentioned.


Always backup important files when editing it.

Offline

#3 2023-04-11 10:40:41

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,252

Re: [SOLVED] Low FPS in Doom Eternal, normal everywhere else.

Does Doom Eternal use vulkan ?

Please post

$ vulkaninfo   --summary  #comes_with__vulkantools__
$ pacman -Qs vulkan

Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#4 2023-04-11 10:47:30

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,917

Re: [SOLVED] Low FPS in Doom Eternal, normal everywhere else.

Chances are that despite prime_run being supposed to switch the default GPU/listing order that the game still picks the intel card as it is a possibility. Do you have an ingame setting to pick the renderer card? Alternatively try adding

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json

to the start of your runtime cmdline

See this thread for reference of similar troubles: https://bbs.archlinux.org/viewtopic.php?id=280222 since Doom Eternal will use Vulkan natively, the auto-switch logic as is implemented in DXVK will not trigger.

Last edited by V1del (2023-04-11 10:48:57)

Offline

#5 2023-04-11 12:22:08

LucasBiazi
Member
Registered: 2020-11-11
Posts: 111

Re: [SOLVED] Low FPS in Doom Eternal, normal everywhere else.

Lone_Wolf wrote:

Does Doom Eternal use vulkan ?

As far as I know it does. I've seen some people online talk about it while researching the possibility of utilizing OpenGl to run it.
Output required:

vulkaninfo   --summary
==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.246


Instance Extensions: count = 22
-------------------------------
VK_EXT_acquire_drm_display             : extension revision 1
VK_EXT_acquire_xlib_display            : extension revision 1
VK_EXT_debug_report                    : extension revision 10
VK_EXT_debug_utils                     : extension revision 2
VK_EXT_direct_mode_display             : extension revision 1
VK_EXT_display_surface_counter         : extension revision 1
VK_EXT_swapchain_colorspace            : extension revision 4
VK_KHR_device_group_creation           : extension revision 1
VK_KHR_display                         : extension revision 23
VK_KHR_external_fence_capabilities     : extension revision 1
VK_KHR_external_memory_capabilities    : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2         : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2       : extension revision 1
VK_KHR_portability_enumeration         : extension revision 1
VK_KHR_surface                         : extension revision 25
VK_KHR_surface_protected_capabilities  : extension revision 1
VK_KHR_wayland_surface                 : extension revision 6
VK_KHR_xcb_surface                     : extension revision 6
VK_KHR_xlib_surface                    : extension revision 6
VK_LUNARG_direct_driver_loading        : extension revision 1

Instance Layers: count = 6
--------------------------
VK_LAYER_AMD_switchable_graphics_32 AMD switchable graphics layer 1.3.235  version 1
VK_LAYER_NV_optimus                 NVIDIA Optimus layer          1.3.236  version 1
VK_LAYER_VALVE_steam_fossilize_32   Steam Pipeline Caching Layer  1.3.207  version 1
VK_LAYER_VALVE_steam_fossilize_64   Steam Pipeline Caching Layer  1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_32     Steam Overlay Layer           1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_64     Steam Overlay Layer           1.3.207  version 1

Devices:
========
GPU0:
        apiVersion         = 1.3.236
        driverVersion      = 530.41.3.192
        vendorID           = 0x10de
        deviceID           = 0x2520
        deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
        deviceName         = NVIDIA GeForce RTX 3060 Laptop GPU
        driverID           = DRIVER_ID_NVIDIA_PROPRIETARY
        driverName         = NVIDIA
        driverInfo         = 530.41.03
        conformanceVersion = 1.3.3.1
        deviceUUID         = c52fc1b8-2d9b-cf8b-02a3-c3db28992429
        driverUUID         = 3f4f90dd-753c-577a-b215-5e16a1ae82c0
GPU1:
        apiVersion         = 1.3.238
        driverVersion      = 23.0.2
        vendorID           = 0x8086
        deviceID           = 0x46a6
        deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
        deviceName         = Intel(R) Graphics (ADL GT2)
        driverID           = DRIVER_ID_INTEL_OPEN_SOURCE_MESA
        driverName         = Intel open-source Mesa driver
        driverInfo         = Mesa 23.0.2
        conformanceVersion = 1.3.0.0
        deviceUUID         = 3fc767c9-e985-a63e-93d2-cc522c14963b
        driverUUID         = 9bb8225e-db2e-6a20-282d-526794955fa9
pacman -Qs vulkan
local/lib32-amdvlk 2022.Q4.4-3
    AMD's standalone Vulkan driver
local/lib32-nvidia-utils 530.41.03-1
    NVIDIA drivers utilities (32-bit)
local/lib32-vulkan-icd-loader 1.3.245-1
    Vulkan Installable Client Driver (ICD) Loader (32-bit)
local/nvidia-utils 530.41.03-1
    NVIDIA drivers utilities
local/spirv-tools 2022.4-1 (vulkan-devel)
    API and commands for processing SPIR-V modules
local/vulkan-headers 1:1.3.246-1 (vulkan-devel)
    Vulkan header files
local/vulkan-icd-loader 1.3.245-1
    Vulkan Installable Client Driver (ICD) Loader
local/vulkan-intel 23.0.2-2
    Intel's Vulkan mesa driver
local/vulkan-tools 1.3.245-1 (vulkan-devel)
    Vulkan Utilities and Tools
V1del wrote:

Chances are that despite prime_run being supposed to switch the default GPU/listing order that the game still picks the intel card as it is a possibility. Do you have an ingame setting to pick the renderer card?

I though about it, but the game won't even start without "prime-run". There's no such option as far as I could find in-game. However, I found this option for the console: "+com_skipIntroVideo 1 +r_physicalDeviceIndex 0", neither with your tweak nor with this one was I successful, unfortunately. I'll look into the thread attached.

Last edited by LucasBiazi (2023-04-11 12:24:45)


Always backup important files when editing it.

Offline

#6 2023-04-11 13:10:17

seth
Member
Registered: 2012-09-03
Posts: 60,813

Re: [SOLVED] Low FPS in Doom Eternal, normal everywhere else.

https://github.com/archlinux/svntogit-p … /prime-run doesn't export VK_ICD_FILENAMES so you should make sure it ends up w/ the proper vulkan driver.

Offline

#7 2023-04-11 13:23:21

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,917

Re: [SOLVED] Low FPS in Doom Eternal, normal everywhere else.

Something else I'm seeing, remove lib32-amdvlk. Also I'm not saying you shouldn't add prime-run, keep it but add the variable nonetheless.

Offline

#8 2023-04-12 07:37:47

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,252

Re: [SOLVED] Low FPS in Doom Eternal, normal everywhere else.

One more suggestion since you have 2 cards capable of providiing vulkan :
install vulkan-mesa-layers & lib32-vulkan-mesa-layers .
That will add (among other things) the VK_LAYER_MESA_device_select which helps applications a lot with using either card for vulkan.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#9 2023-04-16 01:04:13

LucasBiazi
Member
Registered: 2020-11-11
Posts: 111

Re: [SOLVED] Low FPS in Doom Eternal, normal everywhere else.

I'm back, sorry for the delay.

Something else I'm seeing, remove lib32-amdvlk...

I just did it, no idea how it got there.

One more suggestion since you have 2 cards capable of providiing vulkan :
install vulkan-mesa-layers & lib32-vulkan-mesa-layers .
That will add (among other things) the VK_LAYER_MESA_device_select which helps applications a lot with using either card for vulkan.

I just installed the packages as well, thanks for the heads up.

After doing the procedures above I attempted to launch the game with the same parameters as last time, which gave me the same result. After removing "prime-run", it now works as expected. I must say I'm a little confused, this is the first time that utilizing prime-run hurts the FPS; I'll have to re-ready the wiki page for it. The parameters that got the game running are:

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json gamemoderun %command% +com_skipSignInManager 1  +com_skipIntroVideo 1  +com_skipKeyPressOnLoadScreens 1  +r_antialiasing 0+com_skipIntroVideo 1 +r_physicalDeviceIndex 0

Once again thanks everyone, I'd never figure this one out alone.


Always backup important files when editing it.

Offline

#10 2023-04-16 06:33:15

seth
Member
Registered: 2012-09-03
Posts: 60,813

Re: [SOLVED] Low FPS in Doom Eternal, normal everywhere else.

https://bbs.archlinux.org/viewtopic.php … 2#p2094412

I doubt that the presence of "prime-run" is the problem, but the absence of VK_ICD_FILENAMES

Also fyi

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json gamemoderun %command% +com_skipSignInManager 1  +com_skipIntroVideo 1  +com_skipKeyPressOnLoadScreens 1  +r_antialiasing 0+com_skipIntroVideo 1 +r_physicalDeviceIndex 0

There's a double but on the second instance invalid com_skipIntroVideo that probabla invalidates r_antialiasing

Offline

#11 2023-04-16 08:43:30

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,252

Re: [SOLVED] Low FPS in Doom Eternal, normal everywhere else.

https://docs.mesa3d.org/envvars.html#vu … -variables

VK_LAYER_MESA_device_select offers more flexibilty and allows applications that use vulkan to choose whichever card / device they want to use.
In many ways it's an improved successor of the VK_ICD_FILENAMES method.

With VK_LAYER_MESA_device_select layer present prime-run should still work fine for everything not using vulkan, but is not needed anymore for vulkan and may even cause issues.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

Board footer

Powered by FluxBB