Итак, свершилось! Мне наконец-то удалось запустить Wayland-сессию GNOME на проприетарном драйвере Nvidia (далее по тексту «блоб»). Для тех, кто не в теме: начиная с версии драйвера 364.12, Nvidia реализовала в нём начальную поддержку Wayland, однако несовместимую с тем, что используется в Mesa. В Mesa применяется библиотека GBM — Generic Buffer Manager, аллокатор буферов изображений. Реализация Nvidia основана на расширениях EGLStreams и EGLDevice, являющихся кроссплатформенным открытым стандартом Khronos (консорциума, разрабатывающего OpenGL, OpenCL, Vulkan и так далее). В списке рассылки разработчиков Wayland, Nvidia представила патчи для композитного менеджера Weston, однако разработчики их не приняли и, можно сказать, послали Nvidia подальше. Зато эти патчи адаптировали для Mutter и Sway, но о качестве работы будет ниже. Nvidia же в прошлом году анонсировала новый аллокатор, разрабатываемый совместно с разработчиками Mesa, уже готов начальный прототип, но работы ещё много. Nvidia не хочет создавать что-то платформоспецифичное, так как ей проще поддерживать единую кодовую базу для всех ОС.
Читать →