Bug 263778

Summary: x11/xscreensaver: Fails to run: glslideshow: undefined symbol "eg1GetPlatformDisplay" (missing --with-glx ?)
Product: Ports & Packages Reporter: Christopher <inbox>
Component: Individual Port(s)Assignee: Charlie Li <vishwin>
Status: Open ---    
Severity: Affects Many People CC: cmt, vishwin, x11
Priority: --- Keywords: needs-patch, needs-qa, regression
Version: LatestFlags: vishwin: maintainer-feedback+
koobs: maintainer-feedback? (x11)
Hardware: Any   
OS: Any   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=811885

Description Christopher 2022-05-05 00:00:54 UTC
First let me say thank you to all involved with getting the 6.0 version into the ports tree!

I have it happily running on several newer workstations and laptops.

However, I did have an issue with two older laptops which use the nvidia-driver-340 (latest version).  The prior version of xscreensaver worked fine but version 6 does not.

The error I when launching from cmd line using any of the GL screensavers is:

ld-elf.xo.1:/usr/local/bin/xscreensaver-hacks/glslideshow: undefined symbol "eg1GetPlatformDisplay"

The error on the desktop when trying to launch any GL screen saver is a black screen with big red print  "glslideshow crashed with status 1"

I did some digging and see this is an issue with v6 and older video cards.

see:  https://bugs.gentoo.org/811885

From comment #1 of the above link, I did the following...

I edited the make file to include --with-glx \ in the CONFIGURE_ARGS section.  I placed it right under --with-gl \ and then rebuilt xscreensaver.

It worked!  GL screensavers back in action under the legacy nvidia driver.

I am not saying it's the "proper" or "right" way to go about it, I'll let other's figure that out.  I am just saying... it worked for me and hope this helps other's who come across the same issue.

It might be nice to have an option to do something like this for those with legacy hardware, etc.
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2022-05-05 00:15:54 UTC
Thank you for the report Christopher. 

For ports issues, its always most helpful to prefix issue summaries with "$category/$portname: " replacing category and portname with the actual category and portname values.
Comment 2 Christopher 2022-05-05 07:35:25 UTC
Please accept my apologies... I'll do better next time.
Comment 3 Charlie Li freebsd_committer freebsd_triage 2022-05-05 22:28:24 UTC
Hmm…this may be why xscreensaver occasionally "hangs", doesn't display the unlock dialog or clear itself after an unlock (with invisible dialog) on my two-high-pixel-density-monitor setup, with latest mesa even. Let me dogfood --with-glx a bit.
Comment 4 Christoph Moench-Tegeder freebsd_committer freebsd_triage 2022-05-06 12:44:27 UTC
(In reply to Christopher from comment #0)

legacy nvidia driver, egl? that rings a bell: bug #263209, comment #5

(it should be eglGetPlatformDisplay() with an ell "l" not one "1", right?)