Hello!
After the last upgrade, optirun-primus stops working.
I’m stuck to legacy driver (nvidia-390xx):
optirun --debug glxinfo
[ 1889.547126] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 1889.547235] [INFO]Configured driver: nvidia
[ 1889.547926] [DEBUG]optirun version 3.2.1-21-g0851da6 starting...
[ 1889.547971] [DEBUG]Active configuration:
[ 1889.547997] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 1889.548034] [DEBUG] X display: :8
[ 1889.548040] [DEBUG] LD_LIBRARY_PATH: /usr/lib/nvidia:/usr/lib32/nvidia:/usr/lib:/usr/lib32
[ 1889.548047] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 1889.548053] [DEBUG] Accel/display bridge: auto
[ 1889.548063] [DEBUG] VGL Compression: proxy
[ 1889.548070] [DEBUG] VGLrun extra options:
[ 1889.548076] [DEBUG] Primus LD Path: /usr/lib/primus:/usr/lib32/primus
[ 1889.548132] [DEBUG]Using auto-detected bridge primus
[ 1891.061162] [INFO]Response: Yes. X is active.
[ 1891.061182] [INFO]Running application using primus.
[ 1891.061368] [DEBUG]Process glxinfo started, PID 19771.
primus: fatal: failed to load PRIMUS_LOAD_GLOBAL
[ 1891.068695] [DEBUG]SIGCHILD received, but wait failed with No child processes
[ 1891.068717] [DEBUG]Socket closed.
[ 1891.068735] [DEBUG]Killing all remaining processes.
primusrun gives the same output:
primusrun glxgears
primus: fatal: failed to load PRIMUS_LOAD_GLOBAL
but when the bridge=primus is bypassed, optirun works correctly:
optirun -b none --debug glxgears
[ 2106.970660] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 2106.970814] [INFO]Configured driver: nvidia
[ 2106.971217] [DEBUG]optirun version 3.2.1-21-g0851da6 starting...
[ 2106.971236] [DEBUG]Active configuration:
[ 2106.971240] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 2106.971244] [DEBUG] X display: :8
[ 2106.971248] [DEBUG] LD_LIBRARY_PATH: /usr/lib/nvidia:/usr/lib32/nvidia:/usr/lib:/usr/lib32
[ 2106.971253] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 2106.971257] [DEBUG] Accel/display bridge: none
[ 2106.971261] [DEBUG] VGL Compression: proxy
[ 2106.971265] [DEBUG] VGLrun extra options:
[ 2106.971269] [DEBUG] Primus LD Path: /usr/lib/primus:/usr/lib32/primus
[ 2108.532950] [INFO]Response: Yes. X is active.
[ 2108.532969] [INFO]Running application using none.
[ 2108.533157] [DEBUG]Process glxgears started, PID 21841.
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
319 frames in 5.0 seconds = 63.681 FPS
299 frames in 5.0 seconds = 59.696 FPS
[ 2119.472097] [DEBUG]SIGCHILD received, but wait failed with No child processes
[ 2119.472118] [DEBUG]Socket closed.
[ 2119.472143] [DEBUG]Killing all remaining processes.
Looking for solutions, I have uninstalled/reinstalled nvidia (with MHWD, then with pacman) with the same result. I did the same in chroot. This is my knowledge limit.
'optirun -b none nvidia-setting" is working, so the discrete card is detected, but using its “nvidia.conf” gives a black screen (solved with MHWD, after a jumpscare).
What can I do with primusrun? or should I forget this issue?
Thank you!
Update: Using 'optirun -b none < command > doesn’t work. the renderer is Intel:
optirun -b none glxheads
glxheads: exercise multiple GLX connections (any key = exit)
Usage:
glxheads xdisplayname ...
Example:
glxheads :0 mars:0 venus:1
Name: :0
Display: 0x58c558c551b0
Window: 0x2c00002
Context: 0x58c558cfe0d0
GL_VERSION: 3.3 (Compatibility Profile) Mesa 25.0.2-arch1.2
GL_VENDOR: Intel
GL_RENDERER: Mesa Intel(R) HD Graphics 3000 (SNB GT2)