protonscr

Incorrect primary team color for non-standard clothing in Team Fortress 2

dxvkclosed d3d9not our bugwindowsamd proprietary
doitsujin/dxvk#4067 · opened 2024-06-11 by WapMap · updated 2024-06-29 · 28 comments · github
1 matching comments, n / p to jump
WWapMap 2024-06-11 github
  • OS: Windows 10 Pro (22H2, 19045.4474)
  • GPU: RX 6600 XT
  • Driver: 24.5.1
  • DXVK version: most likely 2.3.1 or 2.3 (Don't know exactly what version is used in the official version of Team Fortress 2)
  • Original API: DirectX 9

As I know Team Fortress 2 uses DXVK for Vulkan, so I decided to report this visual bug here.

Screenshot of bug:
image

In this case, the coloring of the hat, glasses, and pants is not correct.

BBlisto91 2024-06-11 github

Hi there.
Is this only with specific outfits? If so would you be able to make a apitrace?

WWapMap 2024-06-11 github

For some reason apitrace doesn't want to record in inventory, main menu, gear, etc things.

BBlisto91 2024-06-11 github

No problem. I will try to poke at the game locally.

WWapMap 2024-06-11 github

And yes, so far it's only noticeable with non-standard clothing.

BBlisto91 2024-06-11 github

I have not been able to reproduce this so far in either Linux or Windows with the same hat.
Tested using a RX 7900 xtx

WWapMap 2024-06-11 github

Did you use the DLL from Github or the command to run -vulkan in General?

BBlisto91 2024-06-11 github

The latter

WWapMap 2024-06-11 github

Then I guess it's a bug on my end. Thanks for your time.

BBlisto91 2024-06-11 github

No need to close it yet. I will poke some more later.

WWapMap 2024-06-11 github

No need to close it yet. I will poke some more later.

Ok.

WWapMap 2024-06-12 github

By the way, I was wondering if these commands have some effect on this? Commands: r_threaded_particles 1; r_threaded_renderables 1; snd_mix_async 1 and mat_queue_mode 2. I usually enter them through the console in the main menu. They are related to graphics. And -threads 16, but I don't think that has anything to do with it. But I'll mention it just in case.

TTiagoquix 2024-06-12 github

@WapMap Are you using an outdated FPS configuration? It may have an effect on the cosmetics. I have played TF2 on Linux for quite some time now and have not seen any visual bug like that. Also, make sure you are using the DXVK version and not the Legacy OpenGL version of the game.

About the ConVars and launch option you mentioned, have a look at https://docs.comfig.app/latest/tf2/misconceptions/ (https://github.com/mastercomfig/mastercomfig). Quoting the page here and some observations of mine:

  • r_threaded_particles 1: is the default value.
  • r_threaded_renderables 1: not used by the game. Keep it at 0 (the default value).
  • snd_mix_async 1: is related to the sound system, but only works for the Xbox 360. Keep it at 0 (the default value).
  • mat_queue_mode 2: AFAIK, forces the multi-threaded system. This is not necessary; the default value, mat_queue_mode -1, will automatically determine the best threading mode for your system.
  • -threads launch option: the Source Engine automatically determines the value for this, and caps it at 3, due to performance issues with higher values. Valve also recommends removing this launch option.

I would say the visual bug you are seeing is probably related to a FPS. config, a launch option or a mod.
Please test TF2 in a clean state and see if the issue persists. (Make a backup of your tf/cfg and tf/custom folders. Your video options may be reset after testing, so remember to reapply them.)

WWapMap 2024-06-12 github

@WapMap Are you using an outdated FPS configuration? It may have an effect on the cosmetics. I have played TF2 on Linux for quite some time now and have not seen any visual bug like that. Also, make sure you are using the DXVK version and not the Legacy OpenGL version of the game.

About the ConVars and launch option you mentioned, have a look at https://docs.comfig.app/latest/tf2/misconceptions/ (https://github.com/mastercomfig/mastercomfig). Quoting the page here and some observations of mine:

* `r_threaded_particles 1`: is the default value.

* `r_threaded_renderables 1`: not used by the game. Keep it at `0` (the default value).

* `snd_mix_async 1`: is related to the sound system, but only works for the Xbox 360. Keep it at `0` (the default value).

* `mat_queue_mode 2`: AFAIK, forces the multi-threaded system. This is not necessary; the default value, `mat_queue_mode -1`, will automatically determine the best threading mode for your system.

* `-threads` launch option: the Source Engine automatically determines the value for this, and caps it at `3`, due to performance issues with higher values. Valve also [recommends](https://www.reddit.com/r/GlobalOffensive/comments/5y8r7v/in_depth_discussion_of_the_threads_launch_option/dep5yno/) removing this launch option.

I would say the visual bug you are seeing is probably related to a FPS. config, a launch option or a mod. Please test TF2 in a clean state and see if the issue persists. (Make a backup of your tf/cfg and tf/custom folders. Your video options may be reset after testing, so remember to reapply them.)

Nah, nothing changed after a complete reset and running in “standard” mode, the bug still remains. I wrote in the beginning that I ran it on Windows and it works on it through DirectX 9.

TTiagoquix 2024-06-12 github

Does the bug persist when you're in a match, or does it only happen in the loadout screen?

Also, could you please tell the name of the cosmetics and the paints you've applied to them?

Please also try the following launch options and see if they make a difference:

DXVK_CONFIG="d3d9.customDeviceId = 1c82; d3d9.customVendorId = 10de" %command%

These launch options make your PC report the GPU as NVIDIA GeForce GTX 1050 Ti.

BBlisto91 2024-06-12 github

%command% isn't a thing on Windows

WWapMap 2024-06-12 github

The bug persists regardless of my actions, whether I'm sitting in the main menu or playing a round, it stays the same.

TTiagoquix 2024-06-12 github

%command% isn't a thing on Windows

Isn't it a Steam-specific thing where it replaces the %command% part with the game executable?

There's this Bioshock Infinite guide on how to skip the launcher https://steamcommunity.com/sharedfiles/filedetails/?id=3003566535 and it suggests using "BioShockInfinite" -run %command%.

The bug persists regardless of my actions, whether I'm sitting in the main menu or playing a round, it stays the same.

Thanks. I'll test locally here on Linux and I will come back with my results.

@WapMap If unable to use the DXVK_CONFIG env. variable due to being on Windows, you can try these Source Engine-specific launch options, which should achieve a similar result:

-force_device_id 1c82 -force_vendor_id 10de

On Linux, you can use the DXVK_CONFIG env. variable.

TTiagoquix 2024-06-12 github

I believe your equipped cosmetics are Field Practice and Surgical Survivalist painted with Team Spirit. I've also equipped the Power-Up Canteen.

If that's the case, then I'm unable to reproduce. I'm on NVIDIA GeForce GTX 1050 Ti, using mastercomfig Ultra preset, without DXVK-specific env. variables set.

image

And here's how they look when painted full black:

image

WWapMap 2024-06-12 github

The only coloring on the hat was green. There's nothing else painted.

TTiagoquix 2024-06-12 github

Default paints:

image

Light green paint on hat:

image

Lime green paint on hat:

image

Still unable to reproduce on Linux.

BBlisto91 2024-06-12 github

Isn't it a Steam-specific thing where it replaces the %command% part with the game executable?

There's this Bioshock Infinite guide on how to skip the launcher https://steamcommunity.com/sharedfiles/filedetails/?id=3003566535 and it suggests using "BioShockInfinite" -run %command%.

I stand corrected.
But i at least believe env vars wont work like they do on Linux.

WWapMap 2024-06-12 github

Default paints:

image

Light green paint on hat:

image

Lime green paint on hat:

image

Still unable to reproduce on Linux.

Here's what it looks like in the original. I don't use any graphics presets, just the console commands listed above and the graphics settings in the game itself.
image

TTiagoquix 2024-06-12 github

But i at least believe env vars wont work like they do on Linux.

AFAIK, they don't. If you use something like DXVK_FRAME_RATE=60 %command% in your launch options, Windows will complain about DXVK_FRAME_RATE.exe not being present in the game directory.

Here's what it looks like in the original. I don't use any graphics presets, just the console commands listed above and the graphics settings in the game itself.

That's the Zepheniah's Greed paint. Also renders normally here:

image

WWapMap 2024-06-25 github

The problem turned out to be on AMD's side, in the 6000 series. You can see it in the comments: https://steamcommunity.com/sharedfiles/filedetails/?id=3228732058

KK0bin maintainer 2024-06-25 github

So am I understanding this correctly:

It renders correctly with DXVK on both Nvidia and AMD Linux (RADV)?

WWapMap 2024-06-25 github

As I understand it renders normally everywhere except 6000 series with standard AMD drivers, I haven't checked with other drivers. I found this out from the tests here and a lot of comments on the link above.

TTiagoquix 2024-06-25 github

I can confirm it renders normally for NVIDIA on Linux (DXVK).

WWapMap 2024-06-28 github

Recently driver 24.6.1 was released, after installing it, the bug was fixed. I will test it more and then close this issue. Unless, of course, something new comes along.