Hello @nPHYN1T3, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.
XScreen 0.1
https://gist.github.com/nPHYN1T3/80ab94764925e9b5fca6031112eea5c1
I did a little test. Looks like because Steam uses GTK and GTK is broken by design it's not seeing things correctly. It's only reading what is on the XScreen it was launched on. So Unless I launch Steam on every XScreen it will never poll the correct amount of GPU's, screens or desktop size.
XScreen 0.0
https://gist.github.com/nPHYN1T3/81ae830ef7c62d51f3d61b792a1ce16f
Thanks. Steam's System Information, and by extension the Hardware Survey reports the GPU that the Steam client is running on through OpenGL. DXVK environment variables are irrelevant to that render path. If you want more manual control over the GPU selected by the NVIDIA proprietary driver with OpenGL applications, then take a look at the __NV_PRIME_RENDER_OFFLOAD_PROVIDER examples in https://download.nvidia.com/XFree86/Linux-x86_64/530.41.03/README/primerenderoffload.html and you can confirm which GPU ends up getting used by Steam with the nvidia-smi utility.
This looks like mismatched expectations on what render path is the actual default choice for any given window on your system versus a Steam client bug.
I think you misunderstand. This is the survey i.e. you are collecting the wrong data to understand what a client is gaming on. I launch Steam on my NON-Gaming GPU and all my games are launched with DISPLAY=:0.0 %command% i.e. if you want accurate data on users hardware it's being done wrong.
As a fun addendum to this CS2 now has the same behavior. It enumerates GPU's and locks on to the first thing is finds leaving it broken. It constantly locks onto the wrong GPU and ignores the GPU it's run on (the good one) failing with a CreateSwapChain() error because it builds shaders and sets up for the WRONG GPU.
Setting DXVK_FILTER_DEVICE_NAME or DISPLAY= is ignored, the only want to run the game is with DISPLAY=:0.1 to force it onto the wrong GPU. Ironically Steam itself SHOULD be run on DISPLAY=:0.1 but no longer functions to do so...what an mess.
As a note to the previous bit about __NV_PRIME_RENDER_OFFLOAD_PROVIDER that is for PRIME...I do not use PRIME, this is not an IGP/APU situation there is NO PRIME. My machine has multiple DESKTOP GPU'S! In the PRIME docs you link you denote renderer via the driver (again assuming an APU/IGP). Given ALL MY GPU'S use the same driver how does this help denote the correct GPU? It doesn't.
Yes I'm fed up with these half baked responses and the fact Steam is constantly broken. It constantly re-enables cloud. Draw calls flash garbage all over. Steam can/will write garbage to GPU VRAM until the GPU dies. It no longer runs on XScreens other than 0.0. You can't interact with half the UI due to the click through bugs of which the "compatibility" option only fixes some things.
While the survey bug is of small concern the fact the behavior shows up in the new CS2 and make the game I PAID FOR unplayable brings everything together. I just want WHAT I PAID for but Steam is hell bent on breaking everything so you can't access what you've paid for. It was fine for years...now it's just a shovelware trash fire. /rant
Just want to add myself to the list of people concerned about this. I don't have a weird config; I'm on my Dell XPS 9710 with an 11800H and a 3060 Mobile GPU. It's not my main gaming machine but I do play some games directly on it, in addition to streaming from my gaming desktop.
The survey is collecting only the iGPU (Intel UHD) and ignoring the RTX 3060. This now makes me think that when news outlets cover Steam HW survey results and point out the surprising number of people gaming on integrated graphics, they're actually seeing a flaw in the data collection process rather a truly fascinating datum.
Your system information
Please describe your issue in as much detail as possible:
Got asked to do the hardware Survey. When it finished collecting hardware I noticed the GPU was wrong.
Steps for reproducing this issue: