Руководство по настройке двух видеокарт
Что такое гибридная графика?
Заголовок раздела «Что такое гибридная графика?»Гибридная графика — это аппаратная конфигурация, в которой две видеокарты могут работать совместно. Такой подход в основном встречается в ноутбуках, где у вас есть встроенная графика (iGPU) вашего процессора и дискретная графика (dGPU).
Основное преимущество в том, что встроенная графика должна (но не обязательно) использоваться только для нетребовательных задач, таких как сёрфинг в интернете, просмотр видео и т.д. С другой стороны, дискретная графика используется для высокопроизводительных задач, таких как игры, видеомонтаж, 3D-моделирование и так далее.
Следовательно, если две видеокарты разделяют «большие» и «маленькие» задачи, то, если у нас в данный момент выполняются только «маленькие» задачи, нам не нужно использовать нашу dGPU, и её можно просто отключить (как бы усыпить), тем самым значительно снижая энергопотребление. Таким образом, когда наша dGPU снова понадобится (мы запускаем приложение, использующее её), она проснётся и начнёт работать.
Что такое PRIME Offload?
Заголовок раздела «Что такое PRIME Offload?»PRIME — это унифицированная технология для работы с различными наборами гибридной графики в Linux, такими как NVIDIA Optimus/AMD Dynamic Switchable Graphics. PRIME Offload — это реализация идеи переноса выполнения рендеринга с одной видеокарты на другую в Linux.
Поддержка PRIME в закрытом драйвере NVIDIA фактически началась только с драйвера 435.17. Так что, если вы пользуетесь устаревшими ветками драйверов 390xx или даже 340xx, PRIME Offload у вас работать не будет. Отметим также, что мы настоятельно не рекомендуем использовать устаревшие способы работы с гибридной графикой, такие как nvidia-xrun или Bumblebee. Они устарели и не поддерживаются (Bumblebee не обновлялся более 8 лет), работают исключительно на «костылях» и имеют низкую производительность. В то же время драйвер Nouveau поддерживает PRIME Offload, что может быть альтернативой для старых dGPU.
В CachyOS вам не нужно ничего настраивать, чтобы PRIME Offload заработал. С пакетом nvidia-utils и cachyos-settings у вас уже есть всё необходимое для использования PRIME Offload.
Также, пожалуйста, избегайте использования инструментов вроде optimus-manager. Они могут показаться вам довольно удобными, но, поверьте, они могут вызвать множество проблем, и они вам действительно не нужны, если ваша dGPU поддерживает PRIME Offload и динамическое управление питанием.
Как использовать PRIME Offload
Заголовок раздела «Как использовать PRIME Offload»Чтобы указать PRIME, что вы хотите использовать дискретную графику вместо встроенной, необходимо указать несколько переменных окружения перед запуском программы:
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia <программа>Этот набор переменных выглядит очень громоздким, и его легко забыть, поэтому вы можете
установить пакет nvidia-prime (sudo pacman -S nvidia-prime), который
содержит скрипт-псевдоним для всех этих переменных. Тогда запуск приложения
с его использованием будет выглядеть так:
prime-run <программа>Где <программа> — это имя команды, запускающей ваше приложение.
Для конфигураций, где обе видеокарты управляются открытыми драйверами Mesa
(например, AMD+AMD, AMD+Intel или даже Intel+NVIDIA, где дискретная графика NVIDIA
управляется открытым драйвером Nouveau), ничего настраивать не нужно, и
для использования дискретной графики вам нужно всего лишь указать переменную окружения DRI_PRIME=1
перед запуском приложений или игр, аналогично всем
переменным, описанным ранее для NVIDIA, или использовать готовые графические методы,
о которых пойдёт речь ниже.
Графический способ
Заголовок раздела «Графический способ»Вам может показаться неудобным запускать все нужные приложения через терминал с помощью prime-run.
К счастью, некоторые приложения и среды рабочего стола предоставляют инструменты для управления тем, какая видеокарта используется для конкретных приложений.
Чтобы настроить запуск игр с дискретной графикой в Lutris, вам нужно зайти в настройки (три полоски в правом нижнем углу окна и кнопка “Preferences”). Далее перейдите в “Global Options” -> “Display”. Здесь вы можете выбрать видеокарту, на которой будет запускаться игра.

В Steam нет специальной настройки для принудительного использования дискретной графики игрой. Однако вы можете получить доступ к свойствам игры, нажав на значок шестерёнки перед её запуском. В поле “Параметры запуска” вы можете добавить команду prime-run или переменные окружения. Пример:
prime-run %command%Обязательно добавьте %command% после prime-run. Помните, что параметры игры идут после этого плейсхолдера,
в то время как системные переменные окружения или команды должны ему предшествовать.
Чтобы вместо этого запустить игру на встроенной графике, используйте следующий параметр запуска — в качестве примера для встроенной графики Radeon. Это может быть желательно для увеличения времени автономной работы и снижения шума вентиляторов при запуске менее требовательных игр.
VK_DRIVER_FILES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json %command%
KDE Plasma
Заголовок раздела «KDE Plasma»В Plasma есть очень удобный способ настройки запуска приложений с дискретной графикой. Однако этот метод работает только в том случае, если в вашей системе установлен пакет switcheroo-control и соответствующий ему сервис.
При свежей установке CachyOS этот пакет и сервис уже должны быть включены по умолчанию через chwd.
sudo pacman -S switcheroo-controlsudo systemctl enable --now switcheroo-controlПосле выполнения обеих команд, щёлкните правой кнопкой мыши по ярлыку приложения на рабочем столе или в меню приложений, затем перейдите в “Свойства” -> “Приложение” -> “Дополнительные параметры”.
У вас должна быть отмечена галочка “Запускать с использованием дискретной видеокарты”.

В GNOME вам также следует установить switcheroo-control, как показано выше, и щёлкнуть правой кнопкой мыши по значку приложения и выбрать “Запускать с использованием дискретной видеокарты”. Но учтите, что GNOME не запоминает этот выбор на будущее, и в следующий раз, когда вы запустите приложение со значка, оно запустится с использованием встроенной графики, а не дискретной.
Cinnamon
Заголовок раздела «Cinnamon»Как и Plasma, Cinnamon также позволяет вам выбирать видеокарту для конкретных приложений. Щёлкните правой кнопкой мыши по ярлыку приложения на рабочем столе, перейдите в «Свойства» и включите соответствующую опцию.

Если она недоступна, убедитесь, что у вас установлен switcheroo-control и
его сервис включён, поскольку все среды рабочего стола полагаются на него для этой
функциональности.
Устранение неполадок
Заголовок раздела «Устранение неполадок»«Мой внешний монитор сильно тормозит на PRIME»
Заголовок раздела ««Мой внешний монитор сильно тормозит на PRIME»»Это известная проблема драйвера NVIDIA. У вас должен быть установлен последний драйвер NVIDIA и вы должны использовать Wayland с композитором, который поддерживает явную синхронизацию (explicit sync). Для GNOME это было исправлено в версии 46.2. Для Plasma 6 это, вероятно, будет исправлено в версии 6.1, хотя некоторые пользователи сообщают о нормальной производительности уже на 6.0. В других средах/оконных менеджерах эта проблема всё ещё существует, поэтому для её решения вам нужно переключиться на последнюю версию GNOME или Plasma.