Заготовка GF210+nvidia_glx_340.108Во вложении грубая заготовка:
Последовательность команд для связки
GF210+nvidia_glx_340.108+mesa
glxinfo и glxgears не вылетают и работают.
Но glxgears выдаёт чуть больше 1000 fps.
Фишка в том, что с драйвером 340.108, грузится libglx X-сервера, а не nvidia-драйвера.
Логично было бы на этом и остановиться, но мы же не ищем лёгких путей?
Столь же почти логично предположить, что если в xorg.conf внести изменения с добавлением секции OutputClass, принудительно заставляя грузится libglx nvidia-драйвера,
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$ grep Files -A11 /etc/X11/xorg.conf
Section "Files"
ModulePath "/etc/libnvidiacurrent"
ModulePath "/usr/lib64/X11/modules"
EndSection
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
ModulePath "/etc/libnvidiacurrent"
ModulePath "/usr/lib64/X11/modules"
EndSection
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$ grep '\"glx\"' -A12 /var/log/Xorg.0.log
[ 21.643] (II) LoadModule: "glx"
[ 21.643] (II) Loading /etc/libnvidiacurrent/libglx.so
[ 22.246] (II) Module glx: vendor="NVIDIA Corporation"
[ 22.246] compiled for 4.0.2, module version = 1.0.0
[ 22.246] Module class: X.Org Server Extension
[ 22.256] (II) NVIDIA GLX Module 340.108 Wed Dec 11 14:26:50 PST 2019
[ 22.268] (II) LoadModule: "nvidia"
[ 22.268] (II) Loading /etc/libnvidiacurrent/nvidia_drv.so
[ 22.370] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 22.370] compiled for 4.0.2, module version = 1.0.0
[ 22.370] Module class: X.Org Video Driver
[ 22.383] (II) NVIDIA dlloader X Driver 340.108 Wed Dec 11 14:06:00 PST 2019
[ 22.383] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[altuser@trucegarage ~]$
ожидаемо, что glxinfo и glxgears вылетят с ошибкой:
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$ glxinfo | grep OpenGL
Error: couldn't find RGB GLX visual or fbconfig
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$ glxgears
Error: couldn't get an RGB, Double-buffered visual
[altuser@trucegarage ~]$
Думаете на этом и конец?
Самое интересное только начинается.
Почти ожидаемо, что если в xorg.conf удалить секцию OutputClass, приведя xorg.conf к исходному виду
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$ grep Files -A6 /etc/X11/xorg.conf
Section "Files"
ModulePath "/etc/libnvidiacurrent"
ModulePath "/usr/lib64/X11/modules"
EndSection
Section "InputDevice"
# generated from default
[altuser@trucegarage ~]$
следует ожидать, что грузиться должен, libglx X-сервера.
Но нет, libglx nvidia-драйвера не только продолжает грузиться
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$ grep '\"glx\"' -A12 /var/log/Xorg.0.log
[ 24.335] (II) LoadModule: "glx"
[ 24.335] (II) Loading /etc/libnvidiacurrent/libglx.so
[ 25.016] (II) Module glx: vendor="NVIDIA Corporation"
[ 25.016] compiled for 4.0.2, module version = 1.0.0
[ 25.016] Module class: X.Org Server Extension
[ 25.026] (II) NVIDIA GLX Module 340.108 Wed Dec 11 14:26:50 PST 2019
[ 25.039] (II) LoadModule: "nvidia"
[ 25.039] (II) Loading /etc/libnvidiacurrent/nvidia_drv.so
[ 25.140] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 25.140] compiled for 4.0.2, module version = 1.0.0
[ 25.141] Module class: X.Org Video Driver
[ 25.153] (II) NVIDIA dlloader X Driver 340.108 Wed Dec 11 14:06:00 PST 2019
[ 25.153] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[altuser@trucegarage ~]$
Но самое забавное, это то, что libglx nvidia-драйвера не только используется
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$ glxinfo | grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 210/PCIe/SSE2
OpenGL core profile version string: 3.3.0 NVIDIA 340.108
OpenGL core profile shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.3.0 NVIDIA 340.108
OpenGL shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 2.0 NVIDIA 340.108 340.108
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.00
OpenGL ES profile extensions:
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$ nvidia-settings --query='NvidiaDriverVersion'
Attribute 'NvidiaDriverVersion' (trucegarage:0.0): 340.108
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$ nvidia-settings --glxinfo | grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 210/PCIe/SSE2
OpenGL version string: 3.3.0 NVIDIA 340.108
OpenGL extensions:
[altuser@trucegarage ~]$
но и начинает работать:
[altuser@trucegarage ~]$
[altuser@trucegarage ~]$ export __GL_SYNC_TO_VBLANK=0; glxgears
21766 frames in 5.0 seconds = 4353.155 FPS
22338 frames in 5.0 seconds = 4467.590 FPS
22336 frames in 5.0 seconds = 4467.075 FPS
22337 frames in 5.0 seconds = 4467.269 FPS
X connection to :0.0 broken (explicit kill or server shutdown).
[altuser@trucegarage ~]$
Казалось бы конец должен быть равным началу. С отвалом и отказом акселерации, и вылетом glxinfo и glxgears. Но нет.
И такая алогичность, и в своём роде непредсказуемость, в известном смысле, мешает описать последовательность поднятия проприетарного драйвера на GF210. Логичную и предсказуемую.
Поскольку общий вид действий, сводится:
- Логичная последовательность действий
- Логичная правка с нелогичным результатом.
- Следующая нелогичная правка приводящая к требуемому результату.
Кстати багрепорт у альтов висит
Ошибка 40108 - glxinfo выдает ошибку Error: couldn't find RGB GLX visual or fbconfig https://bugzilla.altlinux.org/40108Но движухи никакой.