Hello, when new Wine versions are built with libglvnd, Wine can no longer initialize OpenGL (at least for me). This seems to be a problem for the packaged i386 builds, because it runs fine for me on 64-bit. I spent an afternoon trying to figure out what the problem might be, but couldn't find a solution. Currently the builds are still offered without libglvnd to at least ensure running on AMD and Intel cards. I'm sorry for the affected NVIDIA¹ users (?) that i can't think of a solution to the problem, so i'm asking for help here. Many thanks in advance! 1: 0024:err:winediag:X11DRV_WineGL_InitOpenglInfo Direct rendering is disabled, most likely your 32-bit OpenGL drivers haven't been installed correctly (using GL renderer "GeForce GTX 650......
I think the ask here would be to create a lib32 version of libglvnd. Could you give me a step-by-step of how to see this in the form of something like a shell script? Out of curiosity is there some reason to not run 64-bit wine and make this port i386 only?
(In reply to Kevin Bowling from comment #1) < Out of curiosity is there some reason to not run 64-bit wine and make this port i386 only? Use the port emulators/wine for 32-bit Windows binaries in an i386 environment or 64-bit Windows binaries in an amd64 environment; use emulators/i386-wine for 32-bit Windows binaries in an amd64 environment. This is because FreeBSD cant cross compile. > I think the ask here would be to create a lib32 version of libglvnd. I may have already an idea which is in testing.
(In reply to Alexander Vereeken from comment #2) My idea didn't work, normally it shouldn't be necessary to create an extra lib32 glvnd package since the build script itself bundles the needed library, like for the mesa-dri or other small libraries like gnutls, faudio etc. > Could you give me a step-by-step of how to see this in the form of something like a shell script. What would you like to see in the form of a shell script? If you mean to create such an i386-wine package you can take a look at https://wiki.freebsd.org/i386-Wine
Nice. The problem seems to be that the new renamed library's with _mesa are missing. I will create a patch today :)
(In reply to Alexander Vereeken from comment #3) I don't actually use wine so whatever is necessary to see the bug after 'pkg install', if it can be distilled to some commands that will reduce the time I need to spend doing generic research and spend it on fixing the issue :) (In reply to Alexander Vereeken from comment #4) Which files specifically are missing? Is it an issue with mesa-libs or libglvnd?
The port did not take libGLX_mesa with it and a few other x11 libraries that were naturally copied to the lib32 directory. But this is a problem by the port and not from mesa-libs or libglvnd. I'm still waiting for feedback from one if nvidia is working again and then i can rebuild & submit the binaries with libglvnd enabled. To reproduce this issue: Just run an application that requires at least OpenGL to trigger that stuff and then you should have a error message like in my first message.
(In reply to Alexander Vereeken from comment #6) Ok I'll await that feedback and jump in if it needs more help. If it works, I'll commit it with your approval.
Created attachment 226056 [details] i386-wine & i386-wine-devel fixed for AMD & NVIDIA with libglvnd enabled Attached is the patch for the two ports (i386-wine & i386-wine-devel), there are also other very little internal improvements. If you think it should run separately then i can also send both separately. I thank Daniel for reporting and testing with NVIDIA and you Kevin for your helpfulness :) Reported by: Daniel Menelkir <menelkir@itroll.org> Tested by: Daniel Menelkir <menelkir@itroll.org> [using NVIDIA], Alexander Vereeken <Alexander88207@protonmail.com> (maintainer) [using AMD]
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=0600023cb017513806f58d632b68fd1c966fd1bd commit 0600023cb017513806f58d632b68fd1c966fd1bd Author: Alexander Vereeken <Alexander88207@protonmail.com> AuthorDate: 2021-06-26 09:01:15 +0000 Commit: Kevin Bowling <kbowling@FreeBSD.org> CommitDate: 2021-06-26 09:04:54 +0000 emulators/i386-wine{-devel}: Fix libglvnd PR: 256782 Reported by: Daniel Menelkir <menelkir@itroll.org> Tested by: Daniel Menelkir <menelkir@itroll.org> emulators/i386-wine-devel/Makefile | 2 +- emulators/i386-wine-devel/Makefile.amd64 | 2 +- emulators/i386-wine-devel/Makefile.i386 | 21 +++++++++++++++++++++ emulators/i386-wine-devel/distinfo | 18 +++++++++--------- emulators/i386-wine-devel/pkg-plist | 3 +++ emulators/i386-wine/Makefile | 3 +++ emulators/i386-wine/Makefile.amd64 | 4 ++-- emulators/i386-wine/Makefile.i386 | 21 +++++++++++++++++++++ emulators/i386-wine/distinfo | 18 +++++++++--------- emulators/i386-wine/pkg-plist | 3 +++ 10 files changed, 73 insertions(+), 22 deletions(-)
LGTM, thanks for your contribution!
Created attachment 226057 [details] newdistinfo.diff You have seen that i have made a mistake in the portrevision, here is the new distinfo.
(In reply to Alexander Vereeken from comment #11) Thanks, not sure how I missed that. I found one other issue, can you check the LICENSE_FILE for i386-wine (for at least the FreeBSD 14 dist file)
(In reply to Kevin Bowling from comment #12) i386-wine-devel uses: ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${EXTRACT_ONLY} -C ${WRKDIR} --include '/usr/local/share/licenses/[^/]*/LICENSE' -s '|/usr/local/share/licenses/[^/]*/||g' i386-wine uses: ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${EXTRACT_ONLY} -C ${WRKDIR} --include '/usr/local/share/licenses/${DISTNAME}/LICENSE' -s '|/usr/local/share/licenses/${DISTNAME}/||g' The rest of the distfile looks ok to me, would it be ok if I adopt the i386-wine-devel license extract for i386-wine?
I see because the version mismatch, sure good catch.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=3da5204497006152dbc5cbb73fb0e10002e7de6c commit 3da5204497006152dbc5cbb73fb0e10002e7de6c Author: Kevin Bowling <kbowling@FreeBSD.org> AuthorDate: 2021-06-26 21:33:10 +0000 Commit: Kevin Bowling <kbowling@FreeBSD.org> CommitDate: 2021-06-26 21:36:35 +0000 emulators/i386-wine{-devel}: fix distfile issues * Use the i386-wine-devel distfile extraction in i386-wine * Update distinfo PR: 256782 Approved by: maintainer (Alexander Vereeken <Alexander88207@protonmail.com>) Fixes: 0600023cb017 emulators/i386-wine{-devel}: Fix libglvnd emulators/i386-wine-devel/distinfo | 18 +++++++++--------- emulators/i386-wine/Makefile.amd64 | 2 +- emulators/i386-wine/distinfo | 18 +++++++++--------- 3 files changed, 19 insertions(+), 19 deletions(-)
Thanks a lot for your patience on this, I think we can close this out now. I'll be happy to handle any remaining fallout.