Выпуск NVIDIA 361.28 с независящей от поставщика реализацией драйвера OpenGL
Компания NVIDIA представила новую стабильную ветку проприетарного драйвера NVIDIA 361.28, которая отнесена к выпускам с длительным сроком поддержки (LTS). Драйвер доступен для Linux (ARM, x86, x86_64), FreeBSD (x86, x86_64) и Solaris (x86_64).
Основные новшества:
- Реализована новая инфраструктура для GLX- и OpenGL-драйверов NVIDIA, реализованная через независящую от поставщика драйверов прослойку GLVND (OpenGL Vendor-Neutral Driver). По предоставляемым приложениям возможностям новая библиотека GLVND (libglvnd) полностью аналогична ранее предлагаемому варианту libGL.so, но содержит только описанные в спецификации возможности OpenGL ABI, без специфичных для NVIDIA-расширений, отделяя унифицированный интерфейс OpenGL от специфичных для оборудования драйверов (выступает в форме обёртки вокруг GLX-библиотек разных вендоров). Поддерживаемый в GLVND интерфейс совместим с интерфейсами других OpenGL-драйверов для Linux, что решает проблему с сосуществованием нескольких различных OpenGL-драйверов в одной системе. Исходные тексты libglvnd открыты под лицензией BSD и не зависят от особенностей драйверов конкретных вендоров;
┌──────────────────────────────────┐ │ │ ┌─────┤ Application │ │ │ │ │ └─────┬───────────────────┬────────┘ │ │ │ │ ┌─────▾─────┐ │ ┌──────────────┐ │ │ │ │ │ │ │ │ libOpenGL │ │ │ │ │ │ │ │ │ X server │ │ └─────┬─────┘ │ │ │ │ DT_FILTER │ │ │ │ ┌─────▾──────────┐ ┌──────▾────────┐ │ ┌──────────┐ │ │ │ │ │ │ └─│x11glvnd │─┘ │ │ [mapi/glapi] ◂─▸ │ │extension │ │ │ libGLdispatch │ │ libGLX ├─────────────▸──────────┘ │ │ │ │ ◂──────────┬─────────────────┐ │ └───────▴────────┘ └──────▴────────┘ │ │ │ DT_FILTER DT_FILTER ┌─▾─────────┐ ┌───▾────────┐ │ ┌───────┴─────────────────┴────────┐ │ │ │ │ │ │ │ │ │ │ │ └─────▸ libGL │ │ GLX_vendor│ │ GLX_vendor2│ └──────────────────────────────────┘ │ │ │ │ └───────────┘ └────────────┘
- Помимо GLND-библиотеки, в составе установочного пакета также оставлена и старая клиентская GLX-библиотека libGL.so, которая устанавливается по умолчанию. Добавлена возможность выбора между GLVND и не-GLVND библиотеками на этапе установки (опция »--glvnd-glx-client»). Не-GLVND вариант библиотеки может быть полезен для решения проблем с приложениями, не совместимыми с GLVND из-за зависимостей от особенностей поведения старого GLX-клиента драйвера NVIDIA, не описанных в спецификации Linux OpenGL ABI 1.0.
- Установщик nvidia-installer обновлён для вызова ldconfig и depmod не только после установки драйвера, но и после его удаления;
- Из состава исключена прослойка к VDPAU и библиотеки трассировки (libvdpau.so.1, libvdpau_trace.so.1). Данные компоненты являются открытым ПО и их предлагается распространять в форме отдельного пакета через штатные репозитории дистрибутивов;
- Добавлена поддержка GPU GeForce 945A, Tesla M4, GeForce 940MX, Quadro M500M.
© OpenNet