https://bugs.winehq.org/show_bug.cgi?id=38921
Bug ID: 38921 Summary: Bionare XT GPUs incorrectly recognized Product: Wine Version: 1.7.46 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: linards.liepins@gmail.com Distribution: ---
Recently I had seen this bug in these Applications:
- Crysis 2 ( Non-supported VGA Error on launching ) - Counter-Strike Global Offense ( Engine error on launching )
All these games recognize my Radeon 7790 as Radeon 8770.
I guess this could be somewhat related / duped to this report: https://bugs.winehq.org/show_bug.cgi?id=33364
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #1 from Linards linards.liepins@gmail.com --- Output of lspci:
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] [1002:665c] (prog-if 00 [VGA controller]) Subsystem: ASUSTeK Computer Inc. Device [1043:045a] Flags: bus master, fast devsel, latency 0, IRQ 39 Memory at e0000000 (64-bit, prefetchable) [size=256M] Memory at f0000000 (64-bit, prefetchable) [size=8M] I/O ports at e000 [size=256] Memory at f7e00000 (32-bit, non-prefetchable) [size=256K] Expansion ROM at f7e40000 [disabled] [size=128K] Capabilities: [48] Vendor Specific Information: Len=08 <?> Capabilities: [50] Power Management version 3 Capabilities: [58] Express Legacy Endpoint, MSI 00 Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?> Capabilities: [150] Advanced Error Reporting Capabilities: [270] #19 Capabilities: [2b0] Address Translation Service (ATS) Capabilities: [2c0] #13 Capabilities: [2d0] #1b Kernel driver in use: radeon Kernel modules: radeon
Output of glxinfo:
OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD BONAIRE OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.6.1 (git-6ff3ae8) OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile
https://bugs.winehq.org/show_bug.cgi?id=38921
Linards linards.liepins@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86 |x86-64
https://bugs.winehq.org/show_bug.cgi?id=38921
Linards linards.liepins@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Bionare XT GPUs incorrectly |Bonaire XT GPUs incorrectly |recognized |recognized
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #2 from Henri Verbeet hverbeet@gmail.com --- I'm afraid there isn't much we can do about this. Like in bug 33364, this is essentially the same hardware sold under different names, and we just have to pick one. I'm somewhat curious about how the Windows driver distinguishes these, but we can't based on the OpenGL render string or the PCI ID alone. (And note that lspci simply lists multiple names as well.)
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #3 from Linards linards.liepins@gmail.com --- (In reply to Henri Verbeet from comment #2)
I'm afraid there isn't much we can do about this. Like in bug 33364, this is essentially the same hardware sold under different names, and we just have to pick one. I'm somewhat curious about how the Windows driver distinguishes these, but we can't based on the OpenGL render string or the PCI ID alone. (And note that lspci simply lists multiple names as well.)
I am not expert in Linux graphics stack, but IMHO lspci output ( Vendor / Device ID ) + correct Render string would be way better...
That would result in lspci+opengl ? bonaire_xt = 7790, right?
If I understand the info from this site: https://pci-ids.ucw.cz/read/PC/1002/665c
The https://pci-ids.ucw.cz/read/PC/1002/665c/10430452 is made from vendor_id:device_id:<Subsystem>
where <Subsystem> is outputted in line "Subsystem: ASUSTeK Computer Inc. Device [1043:045a]". If lspci can get it, that should be handable in wine, right?
Sorry, if this is all wrong. Again, I am not expert in graphics stack ; I just want to help.
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #4 from Linards linards.liepins@gmail.com --- Oh, maybe someone could add the 33364 in "See also" section?
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #5 from Henri Verbeet hverbeet@gmail.com --- (In reply to Linards from comment #3)
If I understand the info from this site: https://pci-ids.ucw.cz/read/PC/1002/665c
The https://pci-ids.ucw.cz/read/PC/1002/665c/10430452 is made from vendor_id:device_id:<Subsystem>
where <Subsystem> is outputted in line "Subsystem: ASUSTeK Computer Inc. Device [1043:045a]". If lspci can get it, that should be handable in wine, right?
The subsystem IDs could possibly help, but are not something we can necessarily get at. Even if we could, that would require a much larger database of card information, which I don't think we're willing to maintain for something that's in most cases only a cosmetic issue.
Something like udev hwdb would be helpful, but the strings there don't necessarily match the names from the Windows drivers, and we can't get at that either from OpenGL.
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #6 from Henri Verbeet hverbeet@gmail.com --- Actually, the way to get at the subsystem IDs would be to extend GLX_MESA_query_renderer with additional queries. We'd still need to maintain a large database, but I suppose we could add entries one at a time. Of course we'd also need to add support for GLX_MESA_query_renderer to Wine first.
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #7 from Linards linards.liepins@gmail.com --- (In reply to Henri Verbeet from comment #5)
(In reply to Linards from comment #3)
If I understand the info from this site: https://pci-ids.ucw.cz/read/PC/1002/665c
The https://pci-ids.ucw.cz/read/PC/1002/665c/10430452 is made from vendor_id:device_id:<Subsystem>
where <Subsystem> is outputted in line "Subsystem: ASUSTeK Computer Inc. Device [1043:045a]". If lspci can get it, that should be handable in wine, right?
The subsystem IDs could possibly help, but are not something we can necessarily get at. Even if we could, that would require a much larger database of card information, which I don't think we're willing to maintain for something that's in most cases only a cosmetic issue.
Something like udev hwdb would be helpful, but the strings there don't necessarily match the names from the Windows drivers, and we can't get at that either from OpenGL.
(In reply to Henri Verbeet from comment #6)
Actually, the way to get at the subsystem IDs would be to extend GLX_MESA_query_renderer with additional queries. We'd still need to maintain a large database, but I suppose we could add entries one at a time. Of course we'd also need to add support for GLX_MESA_query_renderer to Wine first.
Oh, then it seems like the issue consists of two things: - OpenGL extension for Mesa must be supported in Wine ; - Subsystem IDs must be matches from local data storage - database.
And to summ it up, to get all this going there must be _Economical_ interest in the first place, as, yes - cosmetic things definitely is .. well ... cosmetic ones. But, still, this should not be forgotten. :)
https://bugs.winehq.org/show_bug.cgi?id=38921
Linards linards.liepins@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=33364
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #8 from Linards linards.liepins@gmail.com --- (In reply to Linards from comment #7)
Oh, then it seems like the issue consists of two things:
- OpenGL extension for Mesa must be supported in Wine ;
- Subsystem IDs must be matches from local data storage - database.
To follow up the brainstorm, I'd say the first part is question of awareness of issue. The beneficators would be Graphics Designers ( GIMP / Blender / etc.) and Graphics Entertainment ( Games ) ... if they see it important, is is just question to push a bit... The second might be question of cooperation. If PCI ID listing site admins/owners could share their data in the database format, that would be just include in the wine buildsystem...
https://bugs.winehq.org/show_bug.cgi?id=38921
Johan Gardhage johan.gardhage@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |johan.gardhage@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=38921
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #9 from winetest@luukku.com --- (In reply to Henri Verbeet from comment #6)
Actually, the way to get at the subsystem IDs would be to extend GLX_MESA_query_renderer with additional queries. We'd still need to maintain a large database, but I suppose we could add entries one at a time. Of course we'd also need to add support for GLX_MESA_query_renderer to Wine first.
There has been some work towards this. I have no idea how it works under the hood. Could it solve this issue?
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #10 from Linards linards.liepins@gmail.com --- (In reply to winetest from comment #9)
(In reply to Henri Verbeet from comment #6)
Actually, the way to get at the subsystem IDs would be to extend GLX_MESA_query_renderer with additional queries. We'd still need to maintain a large database, but I suppose we could add entries one at a time. Of course we'd also need to add support for GLX_MESA_query_renderer to Wine first.
There has been some work towards this. I have no idea how it works under the hood. Could it solve this issue?
Well, I still see different outputs from following:
lspci: 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM]
glxinfo: Device: AMD BONAIRE (DRM 2.50.0 / 4.15.3-300.fc27.x86_64, LLVM 5.0.0) (0x665c) OpenGL renderer string: AMD BONAIRE (DRM 2.50.0 / 4.15.3-300.fc27.x86_64, LLVM 5.0.0)
Steam system info: Video Card: Driver: NVIDIA GeForce 8600 GT
Having that said, I do not feel it is really honest and professionally correct approach just to close this bug report, also because there still software like Counter-Strike: Global Offense, where I need to modify registry to make it running.
https://bugs.winehq.org/show_bug.cgi?id=38921
Linards linards.liepins@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |32548
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #11 from Linards linards.liepins@gmail.com --- On other hand, the fwupdmgr is returning correct information:
[linards@kompiic ~]$ fwupdmgr get-devices Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM]
https://bugs.winehq.org/show_bug.cgi?id=38921
Alex Deucher alexdeucher@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexdeucher@gmail.com
--- Comment #12 from Alex Deucher alexdeucher@gmail.com --- The marketing string is derived from a combination of the device ids and pci revision id, or a combination of the device ids, subsystem ids, and pci revision id. For amdgpu devices, we use the marketing name for the GL renderer sting. Something similar could be done for radeon. See: https://cgit.freedesktop.org/mesa/drm/tree/data/amdgpu.ids for the marketing strings and: https://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/drivers/radeon/r60... for the mesa change. The pci database that lspci uses it not adequate because it does not track pci revision ids.
https://bugs.winehq.org/show_bug.cgi?id=38921
Gregor Münch greg87@online.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |greg87@online.de
--- Comment #13 from Gregor Münch greg87@online.de --- I dont think that any Windows program checks for the exact driver string. Especially because AMD does extensive rebranding. The driver string on Windows Catalyst driver package can change with every release and in fact it did in the past numerous times. e.g. Radeon HD 7970 was identified as Radeon HD 7900 Series while it became in newer driver versions Radeon R9 200 / HD 7900 Series
Anyway I dont think that anything would change if wine would report what Catalyst would report: Radeon HD 7700 Series The reason why Crysis 2 does say non-supported is that it very likely just see's what Steam see's: Nvidia Geforce 8600 GT
So either you did something wrong with your registry and you should try with a clean .wine or wine fails to detect your card and hits a fallback path.
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #14 from Linards linards.liepins@gmail.com --- (In reply to Gregor Münch from comment #13)
I dont think that any Windows program checks for the exact driver string. Especially because AMD does extensive rebranding. The driver string on Windows Catalyst driver package can change with every release and in fact it did in the past numerous times. e.g. Radeon HD 7970 was identified as Radeon HD 7900 Series while it became in newer driver versions Radeon R9 200 / HD 7900 Series
Anyway I dont think that anything would change if wine would report what Catalyst would report: Radeon HD 7700 Series The reason why Crysis 2 does say non-supported is that it very likely just see's what Steam see's: Nvidia Geforce 8600 GT
So either you did something wrong with your registry and you should try with a clean .wine or wine fails to detect your card and hits a fallback path.
Hi Gregor,
Yes, these are fair points, jet they highlight quite a chain of issues community can experience, in particular: - There is either almost-working solution (used by fwupd / lspci for my particular video card) due to the way AMD handles their GFX ecosystem/market - There is fallback mechanism that is basically breaking some amount of applications to work normally ("fallback" is nor really a fallback, but rather default / constant vendor string if value == null ) - There is chance that Windows Registry implementation can be compromised since I have done that only to get my CS:GO kicking in Steam); the rest of changes are happening only via winetricks UI.
In summary I can make with my understanding, I, as basic/power-user, even with proper implementation of wine, cannot fully do stuff due to missing underlying Mesa infrastructure. And that SUCKS big big big time. If there is supereset of the issue we can link to this ticket, please do so.
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #15 from Linards linards.liepins@gmail.com --- Still present both with radeon and amdgpu drivers. Pasting output from currently used amdgpu driver:
$ lspci 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM]
$ glxinfo OpenGL vendor string: X.Org OpenGL renderer string: AMD Radeon HD 7700 Series (BONAIRE, DRM 3.27.0, 4.20.3-200.fc29.x86_64, LLVM 7.0.0) OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.2.8 OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile
$ inxi -Gxxx Graphics: Device-1: AMD Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] vendor: ASUSTeK driver: amdgpu v: kernel bus ID: 01:00.0 chip ID: 1002:665c Display: wayland server: Fedora Project X.org 1.20.3 driver: amdgpu compositor: gnome-shell v: 3.30.2 resolution: 1920x1080~60Hz OpenGL: renderer: AMD Radeon HD 7700 Series (BONAIRE DRM 3.27.0 4.20.3-200.fc29.x86_64 LLVM 7.0.0) v: 4.5 Mesa 18.2.8 compat-v: 4.4 direct render: Yes
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #16 from Linards linards.liepins@gmail.com --- Please close this. This seems to be effectively an issue of the amdgpu driver itself, not wine. If possible, please track the bug upstream.
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #17 from Alex Deucher alexdeucher@gmail.com --- (In reply to Linards from comment #16)
Please close this. This seems to be effectively an issue of the amdgpu driver itself, not wine. If possible, please track the bug upstream.
I don't think it has anything to do with the driver. Please see comment 12.
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #18 from Linards linards.liepins@gmail.com --- (In reply to Alex Deucher from comment #17)
(In reply to Linards from comment #16)
Please close this. This seems to be effectively an issue of the amdgpu driver itself, not wine. If possible, please track the bug upstream.
I don't think it has anything to do with the driver. Please see comment 12.
Ok, thanks Alex. If so, This feels most logical to be closed as NOTOURBUG. If AMD cannot do it 100% precisely all the time, then Wine for sure would be inadequate to expected to do so.
https://bugs.winehq.org/show_bug.cgi?id=38921
--- Comment #19 from Linards linards.liepins@gmail.com --- I do not use this GFX anymore on my workstation. Please close this as NOTOURBUG.
https://bugs.winehq.org/show_bug.cgi?id=38921
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |NOTOURBUG Status|UNCONFIRMED |RESOLVED
--- Comment #20 from Zebediah Figura z.figura12@gmail.com --- Sure, though note you can also close your own bugs yourself.
https://bugs.winehq.org/show_bug.cgi?id=38921
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED Resolution|NOTOURBUG |ABANDONED
--- Comment #21 from Austin English austinenglish@gmail.com --- Closing abandoned.
https://bugs.winehq.org/show_bug.cgi?id=38921
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |oleg.kuznetsov@metamint.ru
--- Comment #22 from Matteo Bruni matteo.mystral@gmail.com --- *** Bug 48244 has been marked as a duplicate of this bug. ***