You are not logged in.
Hello.
I experience low performance in Valve games built for native Linux environment, that using OpenGL.
My fps locked around 70~120 fps, no matter how game is technically complex.
In additional, it can happen randomly. For example you can have decent performance in one session and low performance in second session. And continuously have low-perf session.
My setup:
Arch Linux 6
gtx 1070
proprietary 470 and 525 driver
xfce4 de and x11 display server
steam installed from multilib repo
Firstly i tried downgrade my driver. This solved my problem for a while.
Second. I tried delete my shader cache, and set up shader options in Steam, problem still exist.
Last edited by ilABCli (2023-02-13 07:25:54)
Offline
This sounds like you're facing a bottleneck somewhere in the display stack (atm it is impossible to tell whether this is a hardware or software bottleneck) .
Please post the full outputs of
$ lspci -knn
$ glxinfo -B #comes_with__mesa-utils__
$ glxinfo32 -B #comes_with__lib32-mesa-utils__
$ xrandr -q
$ vulkaninfo --summary #comes-with__vulkan-tools__(run all commands as your regular user)
Welcome to archlinux forums.
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
Also disable the compositor, https://wiki.archlinux.org/title/Xfwm#Composite_manager
Offline
Welcome to archlinux forums.
Thank you.
Here is terminal output for commands you requested.
xrandr -q
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DVI-D-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
1920x1080 60.00 + 74.91* 59.94 50.00
1680x1050 59.95
1440x900 59.89
1366x768 59.79
1280x1024 75.02 60.02
1280x960 60.00
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
720x576 50.00
720x480 59.94
640x480 75.00 72.81 59.94 59.93
DP-1 disconnected (normal left inverted right x axis y axis)
DVI-D-1 disconnected (normal left inverted right x axis y axis)glxinfo -B
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 8192 MB
Total available memory: 8192 MB
Currently available dedicated video memory: 5782 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce GTX 1070/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 470.161.03
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6.0 NVIDIA 470.161.03
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 470.161.03
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20glxinfo32 -B
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 8192 MB
Total available memory: 8192 MB
Currently available dedicated video memory: 5601 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce GTX 1070/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 470.161.03
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6.0 NVIDIA 470.161.03
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 470.161.03
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20lspci -knn
00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0100] (rev 09)
Subsystem: ASUSTeK Computer Inc. Device [1043:84ca]
Kernel driver in use: snb_uncore
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0101] (rev 09)
Subsystem: ASUSTeK Computer Inc. Device [1043:84ca]
Kernel driver in use: pcieport
00:14.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1e31] (rev 04)
Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:84ca]
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
00:16.0 Communication controller [0780]: Intel Corporation 7 Series/C216 Chipset Family MEI Controller #1 [8086:1e3a] (rev 04)
Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:84ca]
Kernel driver in use: mei_me
Kernel modules: mei_me
00:1a.0 USB controller [0c03]: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 [8086:1e2d] (rev 04)
Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:84ca]
Kernel driver in use: ehci-pci
00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
Subsystem: ASUSTeK Computer Inc. P8H77-I Motherboard [1043:8415]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
00:1c.0 PCI bridge [0604]: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 1 [8086:1e10] (rev c4)
Subsystem: ASUSTeK Computer Inc. P8H77-I Motherboard [1043:84ca]
Kernel driver in use: pcieport
00:1c.5 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 6 [8086:1e1a] (rev c4)
Subsystem: ASUSTeK Computer Inc. Device [1043:84ca]
Kernel driver in use: pcieport
00:1d.0 USB controller [0c03]: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 [8086:1e26] (rev 04)
Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:84ca]
Kernel driver in use: ehci-pci
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev a4)
Subsystem: ASUSTeK Computer Inc. Device [1043:84ca]
00:1f.0 ISA bridge [0601]: Intel Corporation B75 Express Chipset LPC Controller [8086:1e49] (rev 04)
Subsystem: ASUSTeK Computer Inc. Device [1043:84ca]
Kernel driver in use: lpc_ich
Kernel modules: lpc_ich
00:1f.2 SATA controller [0106]: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] [8086:1e02] (rev 04)
Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:84ca]
Kernel driver in use: ahci
00:1f.3 SMBus [0c05]: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller [8086:1e22] (rev 04)
Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:84ca]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1070] [10de:1b81] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:3772]
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:3772]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09)
Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:8505]
Kernel driver in use: r8169
Kernel modules: r8169vulkaninfo --summary
==========
VULKANINFO
==========
Vulkan Instance Version: 1.3.235
Instance Extensions: count = 19
-------------------------------
VK_EXT_acquire_xlib_display : extension revision 1
VK_EXT_debug_report : extension revision 9
VK_EXT_debug_utils : extension revision 2
VK_EXT_direct_mode_display : extension revision 1
VK_EXT_display_surface_counter : extension revision 1
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
Instance Layers: count = 6
--------------------------
VK_LAYER_MANGOHUD_overlay Vulkan Hud Overlay 1.3.0 version 1
VK_LAYER_NV_optimus NVIDIA Optimus layer 1.2.175 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.2.175
driverVersion = 470.161.3.192
vendorID = 0x10de
deviceID = 0x1b81
deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
deviceName = NVIDIA GeForce GTX 1070
driverID = DRIVER_ID_NVIDIA_PROPRIETARY
driverName = NVIDIA
driverInfo = 470.161.03
conformanceVersion = 1.2.6.0
deviceUUID = eba9b216-9e11-6889-56d8-769f6fc2e91a
driverUUID = 21235eef-a066-1931-6351-fce5f4c8e266Offline
Also disable the compositor
I disabled compositor, launch csgo and reenable a compositor, now csgo run fast from session to session, and im looking for more reliable solution as possible on this environment
Last edited by ilABCli (2023-02-13 11:38:14)
Offline
VK_LAYER_MANGOHUD_overlay Vulkan Hud Overlay 1.3.0 version 1
VK_LAYER_NV_optimus NVIDIA Optimus layer 1.2.175 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 1MangoHud tends to work best if VK_LAYER_MESA_overlay is present, install vulkan-mesa-layers & lib32-vulkan-mesa-layers .
Other then that I see no issues in the outputs.
Edited after seeing post #5
Last edited by Lone_Wolf (2023-02-13 11:15:53)
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
Did you use the xfwm4 compositor or eg. picom?
For xfwm4, try to *disable* vsync, https://wiki.archlinux.org/title/Xfwm#Video_tearing
Offline
MangoHud tends to work best if VK_LAYER_MESA_overlay is present, install vulkan-mesa-layers & lib32-vulkan-mesa-layers.
After i installed this packages my fps are gone, even after deinstalling they and i removed mangohud, fps are still low.
Problem is not in MangoHud, it started right since i installed arch trough archinstall, and installed games on steam.
Offline
Did you use the xfwm4 compositor or eg. picom?
Im using compositor provided by xfce and i turned vblank off and verified it. Still opengl games are running slow. Vulkan API games are running good tho.
Last edited by ilABCli (2023-02-13 20:01:52)
Offline
i turned vblank and verified
This lacks crucial information about what you actually did.
You "turned vblank" *what* and "verified" *what*?
How dows
Still opengl games are running slow. Vulkan API games are running good tho.
fit
I disabled compositor, launch csgo and reenable a compositor, now csgo run fast from session to session, and im looking for more reliable solution as possible on this environment
Is the performance ok while the compositor is disabled?
Offline
i turned vblank and verified
I set up vblank mode to off and verified it by command...
[user@archlinux ~]$ xfconf-query -c xfwm4 -p /general/vblank_mode
offIs the performance ok while the compositor is disabled?
No.
When i disabled compositor for first time and got fps boost, it was coincidence.
With disabled vblank and compositor performance is still bad.
Last edited by ilABCli (2023-02-13 19:24:14)
Offline
Ok, at least we know it's not the compositor blocking the fps.
How's the performance w/ eg. https://archlinux.org/packages/community/x86_64/warsow/ ?
Also check nvidia-smi whether vulkan and OpenGL both move into a higher performance mode (*lower* P-number)
To make sure it's not the game itself that's syncing,
export __GL_SYNC_TO_VBLANK=0Offline
Ok, at least we know it's not the compositor blocking the fps.
How's the performance w/ eg. https://archlinux.org/packages/community/x86_64/warsow/ ?
This game runs just fine at 250 fps stable.
After ingame console commands like r_maxfps and cl_maxfps i capped to fps up to 1k.
Both Nvidia and engine fps counters show 250 and 1000 fps as well.
Last edited by ilABCli (2023-02-14 21:51:40)
Offline
Also check nvidia-smi whether vulkan and OpenGL both move into a higher performance mode (*lower* P-number)
To make sure it's not the game itself that's syncing,export __GL_SYNC_TO_VBLANK=0
This game runs just fine at 250 fps stable.
Tested against
For example you can have decent performance in one session and low performance in second session
?
In that case it would be a steam problem rather than a system/config/driver problem.
Is that btw. a steam "session" or a login session (or do you even have to reboot between those "sessions")?
Offline
I use the -vulkan launch option in csgo, seems to perform better
Offline
I use the -vulkan launch option in csgo, seems to perform better
I explicitly said about OpenGL. Vulkan games runs smoothly. Also not all Valve games have Vulkan mode.
Last edited by ilABCli (2023-02-18 16:19:09)
Offline
Did you test warsow across multiple "sessions"?
Also
Is that btw. a steam "session" or a login session (or do you even have to reboot between those "sessions")?
Offline
Did you test warsow across multiple "sessions"?
Alsoseth wrote:Is that btw. a steam "session" or a login session (or do you even have to reboot between those "sessions")?
Yes, performance in Warsow is stable across multiple sessions with turned VSYNC off (accordingly by Nvidia X Server overlay).
I have performance issues in Steam OpenGL games between game sessions (not Steam).
Also if i decrease game resolution in problem games in windowed mode, it will give me fps boost.
i didn't understood what actually means P* number but nvidia-smi returns me in Perf column P0 both in warsow and in wolfenstein 2 new colossus during gameplay.
Its more like steam issue, so i will probably switch to flatpak package instead arch multilib.
Offline
i didn't understood what actually means P* number
The lower the number, the higher the GPUs performance mode, ie. P0 when gameing is the expected behavior.
Performance is low despite the P0 state?
Also if i decrease game resolution in problem games in windowed mode, it will give me fps boost.
But not between windowed and fullscreen mode?
Do you set "__GL_THREADED_OPTIMIZATIONS=1"?
Offline
i didn't understood what actually means P* number
The lower the number, the higher the GPUs performance mode, ie. P0 when gameing is the expected behavior.
Performance is low despite the P0 state?Also if i decrease game resolution in problem games in windowed mode, it will give me fps boost.
But not between windowed and fullscreen mode?
Do you set "__GL_THREADED_OPTIMIZATIONS=1"?
ye, i set __GL_THREADED_OPTIMIZATIONS.
[user@archlinux ~]$ printenv __GL_THREADED_OPTIMIZATIONS
1i can get fps boost only when i decrease resolution in windowed mode, because if i decrease resolution in "fullscreen" mode it just stretch game for fitting in desktop resolution.
also, i can't query nvidia-smi in valve games, because when valve game window inactive it decrease performance to 20 fps, but nvidia x display server settings shows maximum gpu performance state
Last edited by ilABCli (2023-02-21 09:26:32)
Offline
also, i can't query nvidia-smi in valve games, because when valve game window inactive it decrease performance to 20 fps
You can
nvidia-smi -l > /tmp/nvidia-smi.logand then return to the game.
if i decrease resolution in "fullscreen" mode it just stretch game for fitting in desktop resolution
What however would suggest that the window size matters what brings us right back to the compositor.
We need to figure what determines the performance.
Use an openbox session instead of xfce and see whether it's slow there as well.
Offline
Use an openbox session instead of xfce and see whether it's slow there as well.
Nah, performance in different wm still bad
I installed openbox, set as default wm, and rebooted pc before testing games.
Offline