Nvidia GTX 1650 not picked up by wine

Questions about Wine on Linux
Locked
Maledictus010
Level 1
Level 1
Posts: 5
Joined: Tue May 10, 2022 4:48 pm

Nvidia GTX 1650 not picked up by wine

Post by Maledictus010 »

Hello all,

I hope someone can shed some light on the following.

My GTX is not recognized by Wine. For example, when running Skyrim legendary edition the launcher says the card is a GTX 470. The game will run but much slower than on the Integrated Intel CPU.

Some details:
PC is a MSI Katana with Optimus setup, Intel Integrated and Nvidia GTX 1650. OS is Linux Mint 20.3. All drivers for Optimus are installed and working, when testing on native Linux (games through Steam) everything works as intended. The Nvidia driver is the 510 meta package from the default Mint repository. Wine is development 7.8, the bottle is 32bit.

The wine log says this:
0158:trace:d3d:wined3d_guess_card Unrecognized renderer "NVIDIA GeForce GTX 1650/PCIe/SSE2", falling back to default.

Some more from the log:

Code: Select all

0158:trace:d3d:wined3d_adapter_init_gl_caps Guessed GL vendor 0x4.
0158:trace:d3d:wined3d_adapter_init_gl_caps Guessed vendor PCI ID 0x10de.
0158:trace:d3d:wined3d_guess_card Applying card selector "NVIDIA".
0158:trace:d3d:select_card_handler Applying card selector "NVIDIA binary driver".
0158:trace:d3d:wined3d_guess_card Unrecognized renderer "NVIDIA GeForce GTX 1650/PCIe/SSE2", falling back to default.
0158:trace:d3d:wined3d_adapter_init_gl_caps Guessed device PCI ID 0x06cd.
0158:trace:d3d:fixup_extensions Applying driver quirk "Reserved varying for gl_ClipPos".
0158:trace:d3d:match_broken_nv_clip GL_NV_vertex_program2_option result.clip[] test passed
0158:trace:d3d:match_broken_rgba16 Real color depth is 16
0158:trace:d3d:wined3d_caps_gl_ctx_test_viewport_subpixel_bits Readback colors are 0xffff0000, 0xffff0000, 0xffff0000, 0xffff0000.
0158:trace:d3d:test_pbo_functionality PBO test successful.
0158:trace:d3d:wined3d_adapter_init_gl_caps Emulating 0x0 bytes of video ram.
0158:trace:d3d:wined3d_adapter_init_gl_caps Driver UUID: {3a595e8e-7a4c-785f-b901-76f61cefa68b}, device UUID {f8a7c5a9-788b-18dc-5b4e-91a811261f13}.
0158:trace:d3d:wined3d_adapter_find_fill_offset Good 6 lower 0, test 3.
0158:trace:d3d:wined3d_adapter_find_fill_offset Good 3 lower 0, test 1.
0158:trace:d3d:wined3d_adapter_find_fill_offset Good 1 lower 0, test 0.
0158:trace:d3d:wined3d_adapter_find_fill_offset No need for a filling convention offset.
0158:trace:d3d:wined3d_adapter_gl_init_d3d_info Max texture stages: 8.
0158:trace:d3d:wined3d_adapter_gl_init_d3d_info Maximum point size support - max point size 2.04700000e+03.
0158:trace:d3d:wined3d_driver_info_init OS version 6.1.
0158:trace:d3d:wined3d_driver_info_init GPU maximum feature level 0xb100.
0158:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0158:trace:d3d:get_driver_version_info Looking up version info for driver 0xf, driver_model 0x4.
0158:trace:d3d:get_driver_version_info Found driver "nvd3dum.dll", subversion 13, build 9135.
What I don't get is that when I run Skyrim on Steam for Linux through Proton the GTX is detected correctly. The Skyrim launcher says "Geforce GTX 1650" and the game runs with expected FPS (but no sound because of other problems with Proton).

Any info on this would be met with gratitude.

Thank you,
Regards,
Tom
jkfloris
Level 12
Level 12
Posts: 3141
Joined: Thu Aug 14, 2014 10:10 am

Re: Nvidia GTX 1650 not picked up by wine

Post by jkfloris »

You could try to set a different VideoPciVendorID and VideoPciDeviceID in the registry.
Since the GeForce GTX 1650 does not appear in the gpu_description_table, try the NVIDIA GeForce GTX 1650 SUPER (PCI ID: 10de:2187)
Maledictus010
Level 1
Level 1
Posts: 5
Joined: Tue May 10, 2022 4:48 pm

Re: Nvidia GTX 1650 not picked up by wine

Post by Maledictus010 »

Hi,

Thanks for looking this up for me. I tried it and got literally 1fps in-game. The skyrim launcher said the card was the one as specified in the registry but it somehow still doesn't lead to anything good. Also tried the videomemory key in the registry, no effect.
I've had a similar problem with Dungeon Siege 3 and setting VK_ICD_FILENAMES to the nvidia.json file helped. Tried that here but no effect. I'm still learning so I'm not yet clear on all the relations between wine/vulkan/dxvk etc so maybe this was a stupid idea.
I had the idea to extract the wine settings from the Proton bottle that Steam sets up because that actually runs the game, but I have no idea how to do that. I'll try simply setting the WINEPREFIX and then run regedit to see if I can find something interesting.

Thanks again,
Regards.
Maledictus010
Level 1
Level 1
Posts: 5
Joined: Tue May 10, 2022 4:48 pm

Re: Nvidia GTX 1650 not picked up by wine

Post by Maledictus010 »

Update:

I found the device ID for my GTX 1650, it is 1f9d. Setting this did not work, of course.
You mentioned the gpu_description_table. Where can I find this? I suppose it is a part of the code, googling didn't find anything useful.
I've tried some device IDs from similar cards (looking at devicehunt.com for Nvidia cards) but to no avail.
If I could only figure out how Proton defines the card I'd be on my way. I suppose it is possible that Proton has a different detection system, as it is a fork, and therefore more uptodate.

Regards.
Maledictus010
Level 1
Level 1
Posts: 5
Joined: Tue May 10, 2022 4:48 pm

Re: Nvidia GTX 1650 not picked up by wine

Post by Maledictus010 »

For those interested:

Tried:
- looking at the wined3d source and picking cards that are close to my own based on driver version and hardware build. Zero success.
- more fiddling with registry settings. Zero success.
- looking at the internals of the Proton bottles to see what I can learn. Zero success.
- Using SteamPlay and winetricks to adapt Proton bottles and run games that way. Success.

So I'm throwing in the towel more or less. My impression is that wine hasn't caught up with more recent graphic cards, or maybe mine is exotic and causes detection trouble because of it. If I learn anything more of importance I will update here.

Final thoughts:
- report this as a bug? will that help the devs?
- use stand alone Proton as Wine replacement, see what happens. Something for a rainy day.

Regards,
Tom
jkfloris
Level 12
Level 12
Posts: 3141
Joined: Thu Aug 14, 2014 10:10 am

Re: Nvidia GTX 1650 not picked up by wine

Post by jkfloris »

You mentioned the gpu_description_table. Where can I find this?
You can find the gpu_description_table here:
https://source.winehq.org/git/wine.git/ ... ctx.c#l322

Proton uses dxvk instead of wined3d for the DirectX translation.
If you want to use dxvk with Wine, you can use winetricks

Code: Select all

winetricks -q dxvk
invisible kid
Level 5
Level 5
Posts: 354
Joined: Tue Dec 24, 2019 3:23 pm

Re: Nvidia GTX 1650 not picked up by wine

Post by invisible kid »

Just noting that this fixed a similar issue I was having in world of warcraft. Went from 8fps to 60fps. Hope it helps for your situation.
Maledictus010
Level 1
Level 1
Posts: 5
Joined: Tue May 10, 2022 4:48 pm

Re: Nvidia GTX 1650 not picked up by wine

Post by Maledictus010 »

Well, dxvk changed things. After installing dxvk the Skyrim launcher 'detected' the GTX 1650 and the FPS in Skyrim was as it should be. So progress. I'd like to know what the mechanics are here so back to google for now.
Some things are still off (hickups, mouse acceleration is wonky now, some other games now run like crap) but I'm happy this hurdle's been taken.
Thank you for helping me along.

Regards,
Tom
Locked