Как заставить Wayland работать на графических картах Nvidia

Хотя Nvidia теоретически предоставляет полную поддержку Wayland с момента выпуска своих драйверов в конце 2021 года, путь к этому не был гладким. Все еще остается много работы по взаимодействию с компонентами, которые используют большинство людей, такими как XWayland. Это требует установки переменных как в пользовательской среде, так и в ядре для корректной навигации по вашей системе и кликов по элементам интерфейса.
Но это не означает, что процесс не стоит того, когда вы заставите Wayland работать на графических картах Nvidia. Если вы следуете этому руководству, ваш опыт использования Nvidia будет почти таким же плавным, как и в X.
Также полезно: Если у вас есть другие проблемы с вашей GPU, попробуйте эти популярные решения для графических карт.
Содержание
- Не удаляйте Xorg
- Настройте вашу среду
- (Arch Linux) Соберите ваш начальный ramdisk
- Включите менеджер прямого рендеринга
- Поддержка Wayland в вашей дистрибутиве
- Часто задаваемые вопросы
Не удаляйте Xorg
Во-первых, не удаляйте Xorg или любые окружения рабочего стола, которые его используют! Чтобы сделать ваш опыт проще и с минимальными неудобствами, всегда хорошо иметь безопасный вариант, на который можно вернуться. Рассматривайте X как свой “безопасный режим” на случай, если что-то пойдет не так в процессе. То, что мы будем делать в этом руководстве, не повлияет на Xorg.
1. Настройте вашу среду
Существует несколько переменных окружения, чтобы заставить Wayland работать на графических картах Nvidia. Поскольку здесь нет единого стандарта, мы будем очень общими в настройках, чтобы убедиться, что Nvidia не будет на вас сердиться.

Следуйте этим шагам, чтобы настроить среду:
- Создайте резервную копию вашей среды в вашем домашнем каталоге:
sudocp/etc/environment ~/environment.bak- Откройте ваш универсальный файл окружения:
sudonano/etc/environment- Если вы собираетесь использовать приложения Qt (вы, как правило, будете иметь несколько), добавьте эту строку в любом месте файла:
QT_QPA_PLATFORMTHEME="wayland;xcb"- Добавьте следующие переменные окружения, чтобы заставить Nvidia использовать бэкенд GBM (совместимый с большинством окружений Linux) и включить несколько других функций, которые могут вам понадобиться, даже если они еще не установлены:
GBM_BACKEND=nvidia-drm
__GLX_VENDOR_LIBRARY_NAME=nvidia
ENABLE_VKBASALT=1
LIBVA_DRIVER_NAME=nvidia- Поскольку рендеринг аппаратного курсора может не работать в некоторых окружениях, есть еще одна необязательная переменная. Она нужна только в случае, если, когда вы наконец протестируете Wayland, вы не увидите курсор на вашем экране.
Тем не менее, нет ничего страшного в том, чтобы добавить ее и удалить позже, чтобы протестировать все без нее:
WLR_NO_HARDWARE_CURSORS=1Полезно знать: Вы можете исправить проблемы с Wayland GDM в Fedora с помощью нашего руководства.
2. (Arch Linux) Соберите ваш начальный ramdisk
Большинство популярных дистрибутивов загрузятся с “начальным ramdisk” (initramfs), который загружает временную файловую систему в вашу оперативную память (отсюда и термин “ramdisk”), чтобы инициализировать процесс загрузки и подготовить ядро к работе.

Внутри этого начального ramdisk мы должны загрузить различные компоненты Nvidia, включая способ загрузки разрешения экрана в ядре. Это важно, поскольку Wayland упрощает буфер кадров и общается ближе к ядру.
В популярных дистрибутивах, таких как Ubuntu и Fedora, Nvidia не должна сталкиваться с проблемами, поскольку системы уже настроены так, что initramfs менее разборчив, какие модули загружать. Однако очень модульная структура Arch требует ручной загрузки конкретных модулей.
Этот процесс не так страшен, как звучит. Просто следуйте этим шагам внимательно:
- Отредактируйте вашу конфигурацию начального ramdisk (обязательно создайте резервную копию сначала):
sudonano/etc/mkinitcpio.conf- Под строкой
MODULES=()добавьте следующее:
nvidia nvidia_modeset nvidia_uvm nvidia_drmЕсли в скобках уже есть другие модули, не указанные здесь, добавьте эти модули в конец. Если вы уже видите некоторые модули Nvidia, заключенные в скобки, добавьте недостающие из списка.
- Пересоздайте ваш начальный ramdisk для всех изображений
initramfs(для этого нужен флаг-P):
sudo mkinitcpio -PВы должны увидеть множество страшных предупреждений о “недостающем прошивке”. Игнорируйте их. Обычно это происходит и не является поводом для беспокойства. Это полезно только в нишевых случаях, когда для оборудования, которое вы не можете использовать, отсутствует пакет прошивки.
Совет: Некоторые игры могут перегружать ваш процессор, но вы можете быстро исправить высокую загрузку ЦП в Linux.
3. Включите менеджер прямого рендеринга
Менеджер прямого рендеринга (DRM) в Linux позволяет ядру работать с графическими процессорами. Чтобы Nvidia и Wayland хорошо ладили, мы должны убедиться, что ядро использует режим настройки DRM Nvidia в параметрах ядра вашего загрузчика:
- Отредактируйте вашу конфигурацию GRUB по умолчанию (снова, всегда убедитесь, что резервная копия существует):
sudonano/etc/default/grub- Найдите строку, которая начинается с
GRUB_CMDLINE_LINUX_DEFAULT. Если она не существует (например, в Fedora), создайте ее, чтобы она выглядела так:GRUB_CMDLINE_LINUX_DEFAULT="". - Внутри кавычек добавьте следующее:
nvidia-drm.modeset=1- Обновите конфигурацию Grub:
Во всех системах на основе Ubuntu/Debian/Mint:
sudo update-grubВ Fedora/RHEL:
sudo grub2-mkconfig -o/boot/grub2/grub.cfgВо всех системах на основе Arch:
sudo grub-mkconfig -o/boot/grub/grub.cfgПосле завершения всех действий вашей системе будет намного легче запустить Wayland на оборудовании Nvidia!
Следующие шаги: Теперь, когда Wayland работает, вы можете провести стресс-тест вашей графической карты.
Поддержка Wayland в вашей дистрибутиве
В Ubuntu, Fedora и нескольких других дистрибутивах вы можете получить рабочий Wayland на графических картах Nvidia, как только обновите свою версию программного обеспечения до последней. Ubuntu поставляет Wayland как сеанс по умолчанию для своего модифицированного рабочего стола GNOME с версии 22.04, а Fedora делает это намного дольше. Убедитесь, что вы используете последнюю версию вашего дистрибутива.

Другие, такие как Linux Mint, будут иметь проблемы с запуском Wayland, потому что обновление рабочего стола, который они поставляют, не является приоритетом. Тем не менее, это не мешает вам установить альтернативную операционную систему. GNOME предлагает поддержку прямо из коробки, в то время как KDE Plasma может требовать дополнительных пакетов.
Системы на базе Debian/Ubuntu
Если ваша система работает под управлением GNOME, она уже поддерживает Wayland, если вы в актуальном состоянии. Чтобы установить GNOME, если у вас его нет:
sudo apt install gnomeДля KDE Plasma вам нужно будет отдельно установить как окружение рабочего стола, так и композитор Wayland:
sudo apt install kde-standard plasma-workspace-waylandВот и все! Wayland должен быть доступен в вашем дисплейном менеджере, как только вы перезагрузитесь.
Системы на базе Arch
Как и в любом другом дистрибутиве, который предлагает окружение рабочего стола GNOME, установка его на Arch Linux автоматически добавит поддержку Wayland:
sudo pacman -S gnomeУстановка KDE Plasma также довольно проста:
sudo pacman -S plasma-meta plasma-wayland-sessionЛюбая из этих команд добавит Wayland в ваш дисплейный менеджер (более привычно известный как экран входа).
Не забудьте также установить XWayland:
sudo pacman -S xorg-xwaylandКогда вы завершите установку всего, перезагрузите и используйте экран входа, чтобы выбрать версию рабочего стола с поддержкой Wayland, которую вы установили.
Часто задаваемые вопросы
Действительно ли стоит использовать Wayland?
Вы можете заметить, что некоторые вещи не работают правильно даже после всех этих изменений. Хотя многие проблемы с Nvidia были решены, многие приложения продолжают иметь небольшие, но раздражающие проблемы совместимости с Wayland. Важно отметить, что Wayland и многие приложения, с которыми вы знакомы, находятся в постоянной активной разработке. Большинство, если не все, из этих проблем в конечном итоге исчезнут.
Если вы слишком разочарованы Wayland, вернитесь к X. Я рекомендую не удалять ваши пакеты Wayland, так как X каждый день признается устаревшим все большим количеством разработчиков приложений. Раз в несколько месяцев проверяйте, исчезли ли ваши проблемы.
Что делать, если мой дисплейный менеджер не показывает опции Wayland?
Хотя большинство дисплейных менеджеров должны отображать реализации протокола Wayland ваших любимых окружений рабочего стола, это не всегда происходит. Решение заключается в том, чтобы попробовать другой дисплейный менеджер. Те, которые идут в комплекте с KDE Plasma (SDDM) и GNOME (GDM), будут работать без проблем. LightDM также хорошо работает.