[Bug 297319] [Request] x11/xlibre & x11-servers/xlibre-server: Create beta branch (25.2.x) for legacy NVIDIA 390/470/340

[email protected] Thu, 06 Aug 2026 21:13:08 +0000
Newsgroups gmane.os.freebsd.devel.ports.bugs
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=297319

            Bug ID: 297319
           Summary: [Request] x11/xlibre & x11-servers/xlibre-server:
                    Create beta branch (25.2.x) for legacy NVIDIA
                    390/470/340
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Individual Port(s)
          Assignee: [email protected]
          Reporter: [email protected]

Hi,

I'm experiencing a GLX initialization failure with `xlibre-server-25.1.8` on
FreeBSD when using the legacy proprietary NVIDIA 390 driver. The same hardware
works correctly on X.Org and was recently fixed in Arch Linux. I also filed an
issue about this on the official GitHub
(https://github.com/b-aaz/xlibre-ports/issues/37)

System
------

- OS: FreeBSD 15.1-RELEASE-p2 amd64
- xlibre-server: 25.1.8
- GPU: NVIDIA GeForce GT 430
- Driver packages: `nvidia-driver-390-390.157_1`,
`xlibre-nvidia-driver-390-390.157_1`
- Packages installed from binary repository (pkg)

Problem
-------

With XLibre 25.1.8, `glxinfo` crashes and GLX fails to initialize:

$ glxinfo | grep -E "OpenGL renderer|OpenGL vendor"
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  166 (NV-GLX)
  Minor opcode of failed request:  4 ()
  Resource id in failed request:  0x1600004
  Serial number of failed request:  37
  Current serial number in output stream:  37

$ mdo Xorg -version

XLibre X Server 1.25.1.8
X Protocol Version 11, Revision 0
Current Operating System: FreeBSD LGA775 15.1-RELEASE-p2 FreeBSD
15.1-RELEASE-p2 releng/15.1-n283596-aadd58dddcbc GENERIC amd64
Current version of pixman: 0.46.4


Expected behavior
-----------------

With X.Org 21.1.24 on the same system, everything works correctly:

$ glxinfo | grep -E "OpenGL renderer|OpenGL vendor"
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 430/PCIe/SSE2

$ mdo Xorg -version

X.Org X Server 1.21.1.24
X Protocol Version 11, Revision 0
Current Operating System: FreeBSD LGA775 15.1-RELEASE-p2 FreeBSD
15.1-RELEASE-p2 releng/15.1-n283596-aadd58dddcbc GENERIC amd64

Current version of pixman: 0.46.4
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.


Context
-------

I reported the same issue (https://github.com/xlibre-arch/xlibre-arch/issues/5)
for the Arch Linux packages. The maintainer fixed it by releasing `beta` branch
(XLibre 25.2.x) built with `-Dlegacy_nvidia_padding=true`. After installing the
`beta` packages, hardware GLX works perfectly on GNU/Linux:

$ glxinfo | grep -E "OpenGL renderer|OpenGL vendor"
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 430/PCIe/SSE2

$ sudo Xorg -version

XLibre X Server 1.25.2.2
X Protocol Version 11, Revision 0
Current Operating System: Linux LGA775 6.18.41-1-lts #1 SMP PREEMPT_DYNAMIC
Thu, 30 Jul 2026 11:55:49 +0000 x86_64
Kernel command line: root=UUID=ae010e5c-bfd1-48d0-ac1b-8b147d6e68a6 rw
nvidia-drm.modeset=1 usbcore.autosuspend=-1
Current version of pixman: 0.46.4


Suggested fix
-------------

XLibre upstream has two branches: `stable` (currently 25.1.x) and `beta`
(currently 25.2.x). The `beta` branch contains fixes specifically for legacy
NVIDIA cards and requires building with `-Dlegacy_nvidia_padding=true` to avoid
ABI mismatch and GLX failures.

Could the FreeBSD port please be updated to 25.2.2 (or newer), or alternatively
add a `beta` branch? I am happy to test any patches or experimental builds.

Thanks!

--- Comment #1 from Bugzilla Automation <[email protected]> ---
Maintainer informed via mail

-- 
You are receiving this mail because:
You are the assignee for the bug.