http://bugs.winehq.org/show_bug.cgi?id=30526
Bug #: 30526 Summary: d3d: guess card, no card selector for mesa's llvmpipe software driver Product: Wine Version: 1.5.2 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: bpaterni@gmail.com Classification: Unclassified
Running software that utilizes direct3d produces the following output when run through gallium's llvmpipe:
fixme:d3d_caps:wined3d_guess_card No card selector available for GL vendor 0x4 and card vendor 0000 (using GL_RENDERER "Gallium 0.4 on llvmpipe (LLVM 0x209)").
Looking at the source, adding a card selector for llvmpipe seems simple enough. However, I'm not quite sure what all needs to be done in order to support the new selector.
http://bugs.winehq.org/show_bug.cgi?id=30526
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |ABANDONED
--- Comment #1 from Austin English austinenglish@gmail.com --- No reply in 2 years, abandoned.
http://bugs.winehq.org/show_bug.cgi?id=30526
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #2 from Austin English austinenglish@gmail.com --- Closing.
https://bugs.winehq.org/show_bug.cgi?id=30526
Sjors Gielen winehq@sjor.sg changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winehq@sjor.sg
--- Comment #3 from Sjors Gielen winehq@sjor.sg --- Bug still present in Wine 1.7.29 (latest devel release), please reopen.
Steps to reproduce (clean WINEPREFIX):
1. Install xpra http://xpra.org/. Xpra is like GNU screen but for X11: it hosts a virtual X11 server that can be attached locally or via SSH. I test this with Xpra 0.14.9. 2. Start xpra: `xpra start :100 --start-child=xterm` 3. Attach to virtual xpra screen: `xpra attach :100` 4. Run `wine dxdiag` in the Xpra xterm screen.
Wait until the WINEPREFIX configuration is complete. Once wined3d is initialized by dxdiag, the following two errors appear:
fixme:d3d:wined3d_guess_card No card selector available for card vendor 0000 (using GL_RENDERER "Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits)"). Illegal instruction
$ glxinfo | grep 'OpenGL renderer' OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits)
glxgears appears to work fine.
https://bugs.winehq.org/show_bug.cgi?id=30526
--- Comment #4 from Sjors Gielen winehq@sjor.sg --- (In reply to Sjors Gielen from comment #3)
Bug still present in Wine 1.7.29 (latest devel release), please reopen.
Can also reproduce on git master as of 955582c8ce9a40d0a267e561d1af40b6c5805dbb, which is no surprise as that's the 1.7.29 release commit.
https://bugs.winehq.org/show_bug.cgi?id=30526
--- Comment #5 from Sjors Gielen winehq@sjor.sg ---
From looking into `WINEDEBUG=+d3d,+winediag,+relay wine dxdiag`, it seems the
Illegal instruction is not in wined3d_guess_card itself. The function returns a "fake card" (vendor ID 0x10de, device ID 0x0191) and Wine continues much further.
The original bug report for this bug never mentioned a crash after the method failure, but I still suspect the message and the crash are related. If not, I will file a new bug for the crash and leave this one rest in peace.
https://bugs.winehq.org/show_bug.cgi?id=30526
--- Comment #6 from Sjors Gielen winehq@sjor.sg --- Created attachment 49773 --> https://bugs.winehq.org/attachment.cgi?id=49773 Relay log of running dxdiag, with d3d traces.
WINEDEBUG=+d3d,+winediag,+relay wine dxdiag
I'm having problems finding the true reason for the illegal instruction in this log.
It appears the last call to a d3d function is around 20% of the log file, and after that lots of registry calls still happen that don't immediately look like "cleanup after failure" to me.
GDB reports: trace:d3d:check_fbo_compat RB attachment call ok utils.c / 1412 [New LWP 18909]
Program received signal SIGILL, Illegal instruction. [Switching to LWP 18909] 0x78f532ca in ?? () (gdb) bt #0 0x78f532ca in ?? () #1 0x7dcf6bf0 in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?)
https://bugs.winehq.org/show_bug.cgi?id=30526
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |yurikazakov9184@gmail.com
--- Comment #7 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- *** Bug 48243 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=30526
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|ABANDONED |--- Status|CLOSED |REOPENED CC| |o.dierick@piezo-forte.be Ever confirmed|0 |1
--- Comment #8 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
Duplicate bug indicates that the issue is still present in wine 4.21.
Reopening.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=30526
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED CC| |z.figura12@gmail.com Resolution|--- |INVALID
--- Comment #9 from Zebediah Figura z.figura12@gmail.com --- This bug report is kind of a mess.
In the first place, the FIXME message is, like many, not really a bug in itself. In theory we should always be returning a valid card from the appropriate D3D functions, but I doubt there are applications that break on the given data in practice. More importantly, this message, or one like it, is actually desirable, since use of llvmpipe often means the user's graphics drivers are improperly configured or nonfunctional. We may want to create a real card selector for llvmpipe and other software renderers (perhaps even mapping it to WARP) but we'd still want to print a message in that case.
The bug described by comment 3 is likely due to llvmpipe, but the cause is almost certainly not that we return no valid PCI vendor. Unfortunately, I couldn't test with the given setup (I couldn't easily figure out how to get xpra to work), but I did test running 'wine dxdiag' with both nouveau and llvmpipe (the latter simply by setting LIBGL_ALWAYS_SOFTWARE=1), and I didn't get any crashes. If there still is a crash for anyone, please file a new bug.
I'm going to go ahead and mark this INVALID, on the "FIXMEs are not bugs" principle.
https://bugs.winehq.org/show_bug.cgi?id=30526
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Austin English austinenglish@gmail.com --- Closing.