protonscr

Some Source-Engine-1 games give less FPS if settings are changed without restarting the game.

dxvkclosed d3d9
doitsujin/dxvk#5161 · opened 2025-08-22 by Isaac-Clarke · updated 2025-08-26 · 21 comments · github
2 matching comments, n / p to jump
IIsaac-Clarke 2025-08-22 github

Software information

I basically tested Half Life 2 and Left 4 Dead 2, but I believe the other S-E-1 games are like this too (I don't have much free time, so I only thoroughly tested Half Life 2).

Other issues (with S-E-1 games) I don't believe are connected to this are:

  1. that the framerate doesn't really stay steady, if fluctuates in a RADIUS of 5 to 20 fps above and below from "its average point" (with DXVK)
  2. the "proper" framerate isn't always the same, it changes every time the game is launched, usually differs from 5 to 40fps (lower than "the lucky max) at worse (with DXVK)
  3. when changing settings in Half Life 2, at least the Resolution or MSAA, the menu's fonts become smaller

Image


As described in the title: IF the settings are changed in-game and then the game isn't restarted, its FPS will be lower compared to if the game was just started without changing settings.
{I was re-running some settings to double-check the results in Linux and this time (from the launch of the game to when settings were changed without restarting) I was basically gifted 50 to 100 fps at a lower GPU% at any setting of MSAA. I don't have the time to re-test them all thoroughly just because lord Gaben wants to troll me with random FPS fluctuations, so I'll just remark once more that the "proper, expected" framerate isn't always the same for each and every time the game gets launched.}

Here's the place I used to benchmark the performance:

Image

Here are my notebook's notes:

Half Life 2 Rx 6650 xt performance 22 august 2025.txt

I do also believe that there's something about the CPU use, but that may just be Vulkan compared to DirectX_9
(some helpful Devs here showed that when CPU-bottlenecked Vulkan gives more FPS, but when GPU-bottlenecked it gives less, with the same hardware, compared to Dx9).
Still, even with Vulkan's lower max FPS compared to DX9 the Ryzen 5600x should be able to achieve 1000fps or more in S-E-1, yet the GPU isn't always pinned at 100% when it is the bottleneck...
There's also to note that, in HL2, with this GPU (compared to the RTX 2070 I previously had in this PC) the DirectX_9 fps stayed unusually low (around 400 when MSAA was on, and around 500 to 600 with MSAA off).



System information

  • GPU: RX 6650 xt
  • Driver: mesa v: 25.1.7
  • Wine version: no?
  • DXVK version: Default using the -vulkan launch command as to this date.
  • Operating System: Fedora KDE 42, latest update to this date

Apitrace file(s)

  • Put a link here

For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace

{I have no idea what this stuff above here is. I don't believe I need it now. I can edit after if needed.}

Log files

Please attach Proton or Wine logs as a text file:

  • When using Proton, set the Steam launch options for your game to PROTON_LOG=1 %command% and attach the corresponding steam-xxxxx.log file in your home directory.
  • When using regular Wine, use wine game.exe > game.log 2>&1 and attach the resulting game.log file.

{I don't believe I need it now. I can edit after if needed.}

BBlisto91 2025-08-22 github

Hi there. Does this not happen with the games OpenGL renderer or wined3d? If it does I think it would be better to make a issue at https://github.com/ValveSoftware/Source-1-Games

IIsaac-Clarke 2025-08-22 github

Thank you for the question @Blisto91 , because it forced me to at least take a look at ToGL (since it's not on Windows).

Long story short: no, the performance is basically the same, withing the margin of error (the numbers fluctuate a little, I make a mental average when it's below 5 points of difference for the %ages).

25 85 750-800fps
25 86 750-800

That said, it's sad that ToGL performs better than DXVK for my GPU, here and now........

I kind of hope that DXVK is somehow bugged as hell because this is strange. Other alternative would be that "Valve just slapped DXVK on stuff and doesn't really care about its performance".

This issue may be connected to the old one https://github.com/doitsujin/dxvk/issues/4895#issue-3038301421 but my instincts tell me that it may at best be adjacent. After all this GPU also performs weirdly with S-E-1 on W10 too.


Going back to Windows 10: I am googling some stuff to figure out why only with S-E-1 games the GPU% use goes crazy. I think it may be just a RTSS thing, so I looked for that, and found this page here.

https://forums.guru3d.com/threads/msi-afterburner-3-0-0-beta-19-2014-3-27.387818/

The keyword is "unified gpu usage monitoring".

BBlisto91 2025-08-22 github

Does it behave differently with old versions of dxvk? How does overall vram usage look?

IIsaac-Clarke 2025-08-22 github

I can't compare the "old" version with my old numbers because that was a different GPU,
and honestly, other than the fact that taking down number takes time, if "testing older DXVK versions" isn't as easy as setting a different launch option or a different Proton version then I am not interested in testing it.

It's the same reason why I didn't modify my Fedora KDE install to make NTSYNC work.

IIsaac-Clarke 2025-08-22 github
Image

Left 4 Dead 2:

If I use ToGL to make it run the lighting stuff is all borked.

Why can't our magic rocks make all games run good in the same way, and older games run better on newer magic rocks?
I hate it here. :(

IIsaac-Clarke 2025-08-22 github

So, funny thing:

I tried out L4D2, as seen above.
I did that for multiple reasons, among writing a quick comment here https://gitlab.freedesktop.org/mesa/mesa/-/issues/12886#note_3064846 , and found this out:

If I use ToGL for Half Life 2, but try to start a new game INSTEAD OF LOADING FROM A SAVE, the game crashes while loading. This happens too with L4D2 if I use map x.

Loading from a save in HL2 doesn't crash, while starting a game normally in L4D2 gives me the error above.

TF2 too has a problem with ToGL.
https://discussion.fedoraproject.org/t/team-fortress-2-togl-malfunction/161964

IIsaac-Clarke 2025-08-22 github

I am going insane.

Image

Image

ToGL is the first image, DXVK is the second.

ToGL is not rendering the light right...


Portal 2 {and CS:S} seems to be the only {ones} Source-Engine-1 game to not have ToGL completely borked (if CS:GO still looks as intended it wouldn't really count because it has been abandoned by Valve).

EDIT!!!

I tested the GT 1030 PC yesterday, and while there too HL2 had broken lighting, Portal 2 ALSO DID; while on the contrary with this 6650xt one, Team Fortress 2 and L4D2 are ok???

ToGL

Image

DXVK

Image

Counter Strike: Source may too not have problems, at least for now...

Image
KK0bin maintainer 2025-08-22 github

DXVK version: Default using the -vulkan launch command as to this date.

That's ancient, please try a recent version of DXVK.

IIsaac-Clarke 2025-08-22 github

That's ancient, please try a recent version of DXVK.

Please, tell me how.

BBlisto91 2025-08-22 github

The games should ship a file called libdxvk_d3d9.so so if you download a native version of dxvk, e.g dxvk-native-2.7-steamrt-sniper.tar.gz, then you can replace it with the same named file from the native arhcive. For 32 bit they are located at \usr\lib32\ in the downloaded archive.

Edit: These instructions are for the Linux native version of the games. The Windows versions you'll have to replace a dll instead

IIsaac-Clarke 2025-08-22 github

If I come around doing that, then I will try.

Still, for now I have depleted my time, and patience, with these trials of time. Honestly I've also simply spent too much time doing this at all today...

KK0bin maintainer 2025-08-22 github

Just run the Windows version with Proton.

Also can you upload your save game of that nice panorama of Episode 1 where you made those screenshots in the original post?

IIsaac-Clarke 2025-08-22 github

Just run the Windows version with Proton.

Since the issue at hand is not "maximum fps", but GPU use and "different performance compared to [parameters above]" then that would be a good option,
but since I was distracted by taking down more numbers from different games I forgot the most important factor in this context:

This happens under DirectX 9 in Windows 10 too. I showed so in the linked .txt file.
Yes, it also has a different problem too (frames tend to cap to 400?? The GPU isn't used even beyond 80%!?!?) but the MSAAoff and MSAAx2 numbers are proof enough.


upload your save game of that nice panorama

Half Life 2: Lost Coast

I don't know the specific files so here's them all.

The latest 3 are, in chronological order:

  1. Noclip, AI_off, in front of Cop.
  2. Just after starting the game.
  3. Noclip, AI_off, floating around where the "automatic benchmark" would give the most FPS (least amount of CPU work, so the bottleneck becomes the GPU).

save.zip

IIsaac-Clarke 2025-08-22 github

Important to notice:

Strangely my GT 1030 PC with Fedora KDE does render light properly (at least in TF2, with ToGL), BUT it runs at around 5fps.

^ This means that I'm open to test things. I just need clear instructions to follow. ^


I re-checked if I remembered well, just in case.

IIsaac-Clarke 2025-08-23 github

Important information which by my bias I don't see important, but I should always communicate it:

My Fedora KDE setup has 2 screens:

  • Oled 1440p 360hz
  • LED VA 1440p 180hz

Using "mirrored screen" or not gives just minor bugs, like "locking the max framerate to 180" and stuff like that in Quake Remaster and such. The HL2 numbers didn't change.

Now I was looking at Quake Remaster and DOOM 1 + 2 because yes (trying to solve another thingy) and found out that

in DOOM 1 + 2, when selecting the Software renderer and the Dx11 renderer, the FPS caps at 400, like on Windows' HL2 numbers...

(It can fluctuate somewhat higher, again, just like in W10; and in Vulkan it caps to 500 for some dumb reason too, tho...)

Image Image Image
IIsaac-Clarke 2025-08-23 github

Ok, my last comments here where somewhat off-topic, but at least they were remotely relevant to the issue.

Since this new data would be going even more off-topic from this issue (except for the context below here), and "the proper page" was closed off on July 1st, I made a Reddit post about Portal 2's performance.


tl;dr :

My comment here

That said, it's sad that ToGL performs better than DXVK for my GPU, here and now........

was wrong because of the lighting bug in HL2. Testing Portal_2, ToGL is the worse (as seen in my first series of tests).

Here's the new post:
https://www.reddit.com/r/linux_gaming/comments/1mxwdd7/updated_directx_9_w10_dxvk_togl_dxvk_and_proton/


I have to upload the excel file here tho, to not leave just a PNG as material.

23 august 2025 Portal 2 values.xls
23 august 2025 Portal 2 values.ods

KK0bin maintainer 2025-08-23 github

Can you please stop throwing in completely unrelated games like Doom 1 & 2.

KK0bin maintainer 2025-08-23 github

Since the issue at hand is not "maximum fps", but GPU use and "different performance compared to [parameters above]" then that would be a good option,
but since I was distracted by taking down more numbers from different games I forgot the most important factor in this context:

This happens under DirectX 9 in Windows 10 too. I showed so in the linked .txt file.
Yes, it also has a different problem too (frames tend to cap to 400?? The GPU isn't used even beyond 80%!?!?) but the MSAAoff and MSAAx2 numbers are proof enough.

What?

Closing this because I have no idea what's even going on anymore.

IIsaac-Clarke 2025-08-23 github

That was uncalled for.

YES, I DID go a little out of focus with some posts, but that's because I was taking down numbers, doing research and responding at the same time.

Can you please stop throwing in completely unrelated games like Doom 1 & 2.

I can't for this simple reason:
The Distro one uses IS important. I am using 2 monitors, so if my Distro gets a stroke and "something stops working properly" that's an important Data Point to solve the issue/s I am bringing.

I literally said in that DOOM comment that "selecting Dx11 as renderer under Proton NOW caps the FPS to 400 JUST LIKE ON WINDOWS"!

KK0bin maintainer 2025-08-23 github

The Distro one uses IS important. I am using 2 monitors, so if my Distro gets a stroke and "something stops working properly" that's an important Data Point to solve the issue/s I am bringing.

If the distro matters at all, it's not a DXVK bug. So either it's unimportant or it needs to be closed because its not our issue.

The problem is that you don't understand how DXVK or graphics programming in general works, so you can't decide what's relevant and what isn't.

I literally said in that DOOM comment that "selecting Dx11 as renderer under Proton NOW caps the FPS to 400 JUST LIKE ON WINDOWS"!

Which is completely irrelevant. If DOOM has a 400 FPS limit, that has nothing to do with HL2 at all.
You've already proven that there's no hard cap in HL2 by showing that it runs higher than that without MSAA.

yet the GPU isn't always pinned at 100% when it is the bottleneck

Then it's not the bottleneck.

IIsaac-Clarke 2025-08-23 github

If DOOM has a 400 FPS limit

It doesn't. That's the point. Up to last month both Dx11 and Vulkan renderers (under Proton) reached 600fps and above.

The problem is that you don't understand how DXVK or graphics programming in general works, so you can't decide what's relevant and what isn't.

That's WHY we are here.
Bad jokes aside, IT IS why I am here: just like I have no idea how to fix a car I bring it to the mechanic and thus also tell all the info I believe are useful.

I truly am sorry that your role in this is more laborious than mine, I completely understand that.
Still, that doesn't give you any authority to say "you understand nothing", because altho I can neither engineer, build or truly fix a car, I can still be able to drive it.

If I were to feel a wheel to be off-center I report it. If the issue comes out to be a complicated mechanical mess that's your (the mechanic's) job to fix it. I am under no duty to understand the deepest parts of how my tools work, my only duty here is to NOT DARE spam useless info or trivia which would impede such job to be done!

Then it's not the bottleneck.

I should've said "when it should be the bottleneck" instead, because the CPU ain't there yet (1000-1200 max framerate by Ryzen 5600x in S-E-1).

Launch options

Upstream links