0

When I try to use plot() in octave-cli I get an empty window instead of a plot and the following error:

Insufficient GL support

which suggests that the glx module is missing from the X server configuration. So I added

Section "Module"
    Load "glx"
EndSection

to my otherwise empty X configuration file at /usr/local/etc/X11/xorg.conf.

It didn't help.

What is interesting is that I've got the following logs in /var/log/Xorg.0.log:

(EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)

(I cannot recover the whole log file but before that message there is an information that mesa-dri has already successfully loaded GLX).

I tried to set up Nvidia card to support GLX for me but I could find a way to do it.

What can I do to bring GL support to my system?


Details

  • OS: FreeBSD 12.0-CURRENT FreeBSD 12.0-CURRENT #2 r324767 amd64 with a GENERIC kernel build from source.
  • Hardware: Lenovo Yoga 3 14 with Nvidia GeForce 940M and Intel Broadwell HD Graphics 5500.
2

tl;dr

The solution is pretty simple:

pkg remove nvidia-driver nvidia-xconfig nvidia-settings xorg drm-next-kmod
pkg autoremove
pkg install xorg drm-next-kmod

What happened?

It turns out that nvidia-driver overwrites files previously installed by xorg and/or drm-next-kmod. As a result the X server is unable to determine, what is really in charge of supporting GL.

AFAIK, the technology used in this machine is called Optimus (more here). It doesn't seem to be well supported on FreeBSD and its configuration is not obvious. Because of that it is not recommended to mix those two GPUs on FreeBSD. Just stick to one of them (I've choosen the Intel card).


References

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.