Установка драйверов для NVIDIA Optimus
Гибридная графика на Fedora Linux
Подключим репозитории RPM Fusion:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Установим стандартный драйвер NVIDIA для современных видеокарт:
sudo dnf install gcc kernel-headers kernel-devel akmod-nvidia xorg-x11-drv-nvidia xorg-x11-drv-nvidia-libs
Если используется 64-битная ОС, но требуется запускать ещё и Steam и 32-битные версии игр, то установим также 32-битный драйвер (устанавливать сразу после предыдущих):
sudo dnf install xorg-x11-drv-nvidia-libs.i686
Действия по окончании установки:
По окончании установки необходимо убедиться, что модули ядра были успешно собраны и установлены корректно:
sudo akmods --force
Если возникла ошибка, то подробный журнал можно найти в каталоге /var/cache/akmods/nvidia/
Теперь вырежем из образа initrd драйвер nouveau и добавим NVIDIA:
sudo dracut --force
При возникновении чёрного экрана:
Если по окончании установки и перезагрузки вместо окна входа в систему нас встретит чёрный экран, то в загрузчике добавим через пробел следующие параметры ядра:
rd.drivers.blacklist=nouveau nouveau.modeset=0
Работа с NVIDIA Optimus
По умолчанию будет использоваться интегрированное решение, но для запуска приложения с использованием дискретной видеокарты необходимо передавать особые переменные окружения:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia application [параметры запуска приложения]
Пример запуска панели управления NVIDIA для Optimus конфигураций:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia nvidia-settings -c :8
Пример запуска приложения app.exe через Wine на Optimus:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia wine app.exe
Удаление драйверов
Если возникли какие-то проблемы, либо драйверы NVIDIA более не требуются, то их всегда можно удалить штатным способом:
sudo dnf remove \*nvidia\*
По окончании удаления необходимо в обязательном порядке пересобрать образ initrd, чтобы вернуть в него удалённый при установке свободный драйвер nouveau
sudo dracut --force
Last updated