- Включение гибридной графики в Ubuntu на ноутбуках Nvidia + Intel (OpenGL, Vulkan)
- 1. Устанавливаем драйвер
- 2. Настраиваем видеокарту
- 3. Запуск приложения с использованием дискретной графики
- Заключение
- Как поменять видеокарту по умолчанию в ubuntu на nvidia?
- 2 ответа 2
- Включение/отключение дискретной видеокарты
- Похожие статьи:
Включение гибридной графики в Ubuntu на ноутбуках Nvidia + Intel (OpenGL, Vulkan)
Это простая инструкция как включить гибридную графику intel-nvidia на ноутбуке. Чтобы определенные приложения запускались на дискретном чипе, а другие на встроенном. На свое удивление в интернете не нашел простую инструкцию того, как запускать определенные приложения, используя дискретную графику. Так что напишу так просто, на сколько считаю нужным
У меня система KDE Neon 5.21 — по большому счету — Ubuntu LTS с окружением рабочего стола KDE Plasma 5.21, видеочип GeForce MX150
1. Устанавливаем драйвер
a) Если у вас система на Qt (Как правило окружение KDE или LXQt), то с помощью данной команды через терминал загрузим программу для установки драйверов:
sudo apt install software-properties-qt
Если у вас система на GTK то с помощью это команды:
sudo apt install software-properties-gtk
Хотя разницы принципиальной нет
b) Затем запускаем ее с правами root
sudo software-properties-qt
В папке ~/.local/share/applications/ создадим файл software properties qt.desktop с таким содержанием
[Desktop Entry] Categories=System;Settings; Comment[ru_RU]=drivers Comment=drivers Exec=konsole -e "~/.local/share/applications/software-properties-qt.sh" GenericName[ru_RU]=Установка драйверов\s GenericName=Установка драйверов\s Icon=systemsettings MimeType= Name[ru_RU]=software properties qt\n Name=software properties qt\n Path= StartupNotify=true Terminal=false TerminalOptions= Type=Application X-DBUS-ServiceName= X-DBUS-StartupType= X-KDE-SubstituteUID=false X-KDE-Username=
И файл software properties qt.sh в той же папке:
#! /bin/bash echo software-properties-qt sudo /usr/bin/software-properties-qt
После перезагрузки ярлык появится в меню
Но это далеко не обязательно, вполне достаточно запустить из консоли для наших целей настройки гибридной графики
c) Переходим на последнюю вкладку Additional drivers и устанавливаем нужный драйвер. Я выбрал самой последней версии, который не tested и не server
d) После установки перезагружаем устройство
2. Настраиваем видеокарту
a) Загружаем следующую программу:
sudo apt install nvidia-settings
b) Переходим в PRIME Profiles Здесь мы видим три пункта:
- NVIDIA (Performance Mode) — работать только на дискретной графике. Сильно потребляет батарею в несложных задачах, а так же ноутбук начинает греться. Зато система работает намного быстрее, но это того не стоит. У меня после установки драйвера этот пункт включился автоматически
- NVIDIA On-Demand — некоторые приложения будут использовать дискретную графику nvidia, но по-умолчанию встроенная intel. Как запустить конкретное приложение с дискретной графикой напишу дальше
- NVIDIA (Power Saving Mode) — отключение дискретной графики
Выбираем второй вариант — NVIDIA On-Demand , и перезагружаем систему
3. Запуск приложения с использованием дискретной графики
Это то, что сложнее всего гуглилось.
Для запуска приложения с использованием графики nvidia нужно задать для OpenGL две переменные среды:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia
__NV_PRIME_RENDER_OFFLOAD=1
Делать это надо перед командой для запуска приложения. Например, нам нужно запустить из терминала приложение program с использованием дискретной графики. Нужно вызвать его так:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia program
Соответственно, если у приложения есть ярлык (.desktop) в меню приложений, то надо изменить команду запуска в ярлыке. В KDE Plasma нужно нажать на него ПКМ, открыть свойства (или «изменить приложение. «), перейти во вкладку «приложение» и перед командой приписать данную приставку. В других средах похожего стола примерно так же
Можно сделать это же действие через текстовый редактор. Открываем ярлык, находим Exec= , и приписываем перед коммандой данную приставку __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia
Заключение
Данный метод, как я понял, точно работают для программ, использующих библиотеки OpenGL и Vulkan. У меня, к сожалению, не получилось запустить так Windows приложение через Wine, которое использует DirectX, но это уже совсем другая история. (OpenGL приложения под Wine работают)
P.S. в комментариях (#comment_23011444) немного подсказали, что для работы с Proton (DirectX) есть такой док
Как поменять видеокарту по умолчанию в ubuntu на nvidia?
Все правильно, по умолчанию, всегда, для нетребовательных задач (обычный софт, работа ОС, рабочий стол) должна использоваться интегрированная видеокарта. А уже для требовательных задач, дискретная (Игры). Иначе, дискретная начнет быстро изнашиваться.
@Руслан где можно подробнее почитать про износ, его причины и сроки? Использую в своём ноутбуке только дискретную в течение четырёх лет — проблем пока не наблюдается
Да. Это читал. Там как раз и говорят что переключить карту нужно через nvidia-settings. Когда он запускается то выглядит как на скриншоте. Там ничего выбрать нельзя.
2 ответа 2
Проблема была в secure boot.
Чтобы установить nvidia драйвер на системе где используется secure boot, нужно предпринять следующие действия:
- Зайти в Программы и обновления -> Дополнительные драйверы
- Выбрать версию драйвера
- Нажать кнопку применить изменения.
- В момент установки драйвера вылезет окно secure boot где нужно будет придумать пароль.
- После окончания установки, нужно перезагрузить компьютер.
- Появится окно secure boot в котором нужно выбрать пункт 2 enroll mok. Далее ввести пароль и продолжить загрузку в обычном режиме.
- После окончанию загрузки должен отобразиться корректный драйвер
Я пользуюсь Fedora 35. Тут стоит GNOME 41.1. Для того чтобы использовать только дискретку, нужно накатить актуальную версию драйверов и добавить в чёрный список драйвер от встройки. Я пользуюсь vim, но можно любым другим редактором, в терменале пишем:
sudo vim /etc/modprobe.d/blacklist.conf
Если файл новый, бекап делать не нужно,а так рекомендую. Теперь последней строчкой добавь:
После этого перезапусти ноутбук и вместо встройки будет пахать дискретка. На ноутбуках с процессорами от красных я не тестил.
Включение/отключение дискретной видеокарты
Практически все современные ноутбуки обладают двойными видеокартами. Обычно это что то маломощное от интел, и крутая, энергозависимая карта для фильмов и игр от nvidia или ati. Автоматическое переключение довольно часто глючит(Например: может включится крутая видеокарта при работе с документами, а нам нужно сохранить батарею как можно дольше), поэтому рассмотрим способ ручного переключения.
1. Способ. Подходит для все версий linux с ядром 2.6.34 +
«uname -a» узнать свою версию ядра
Для начала узнаем какие видеокарты видит наша система
Появится примерно такие строчки:
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
01:00.0 VGA compatible controller: ATI Technologies Inc Juniper [Radeon HD 5750 Series] (rev ff)
Запомним, что 00:02.0 это слабая видеокарта, а 1:00.0 сильная
Теперь посмотрим, какая из видеокарт сейчас работает
Появятся примерно такие строки:
Плюс стоит на против активной видеокарты, а Pwr обозначает, что видеокарта работает и кушает питание. Несложно догадаться, что можно отключить питание от неиспользуемой карточки этим самым ничуть не повредить системе.
а) Если нам нужно обесточить неиспользуемую видеокарту, то выполняем команду:
Батарея ноутбука скажет вам спасибо 🙂
Если хотим, чтобы лишняя видеокарта отключалась после загрузки системы, то добавляем строчку
б) Если нам нужно, наоборот, включить мощную видеокарту и на неё изначально не подаётся питание то выполняем команды:
sudo echo ON > /sys/kernel/debug/vgaswitcheroo/switch
sudo echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch
DIS — немедленное переключение на дискретную видеокарту
IGD — немедленное переключение на интегрированную видеокарту
DDIS — отложенное переключение на дискретную видеокарту
DIGD — отложенное переключение на интегрированную видеокарту
ON — включить неиспользуемую видеокарту
OFF — выключить неиспользуемую видеокарту
Завершаем сеанс, входим заново и отключаем слабую видеокарту
Если вдруг видеокарта вообще не работает, то тут поможет только ремонт ноутбуков. Если с видеокартой всё в порядке, но способ описанные выше кажется сложным, то можно воспользоваться графической программой.
2. Способ. Если на вашем ноутбуке установлена ubuntu и лезть в терминал не хочется, то можно воспользоваться Ubuntu Control Center
После установки и запуска переходим в Hardware>VGA Switching
Тут всё интуитивно понятно.
После выбора видеокарты произойдёт автоматическое завершение сеанса, так что не пугайтесь. Лично мне первый способ показался более красивым 🙂