Установка nvidia-prime в Deepin v20
Добрый день. Для тех пользователей кто пытается завести Deepin на ноутбуках с гибридной графикой nvidia + intel, решил написать небольшой мануал, НА РУССКОМ, как это можно сделать, не прибегая к слишком сложным манипуляциям и переводу с китайского.
Сразу скажу, я не люблю Deepin, мне он интересен исключительно с точки зрения экмпериментов. Если у вас данный способ не заработает, или ваша система перестанет загружаться — простите, я не УВИНОВАТ, оно само)
Я это все опробовал на своем ноутбуке, Xiaomi mi gaming laptop 2019
CPU: Intel Core i7 9750H
GPU: Nvidia GeForce RTX 2060
Важная аннотация: если ваш gpu от nvidia ниже 1000й серии — данный способ однозначно вам не подойдет, вам нужно смотреть в сторону bumblebee, т.к. для реализации prime renderoffload нужна поддержка 435 драйвера и выше на аппаратном уровне. Т.е. ваш GPU должен поддерживать все инструкции 435 версии драйвера, в идеале 440 версия. А это видеокарты 1000 (1050, 1060, 1070, 1080), 2000 и 3000 серий.
Что такое prime renderroffload? Если по простому, по деревенски, то это такая технология которая позволяет вам перенаправлять нагрузку на внешнюю видеокарту в ситуациях, когда это необходимо. Например когда вы хотите поиграть в игры, или отрендерить видео на своей мощной видеокарте. В остальное время изображение выводится на энергоэффективную видеокарту intel, что позволяет вашему ноутбуку дольше работать от батареи. Скажу честно, оптимизация deepin v20 в плане энергопотребления — это БОЛЬ. Deepin v15 в этом плане куда более сбалансирован нежели v20. Но если вас это не пугает и вы всеравно хотите завести nvidia prime renderoffload на своем ноуте, то поехали.
Первое что вам надо — это обновить Xorg и драйвер mesa. Сделать это через стандартный репозиторий debian stable — нельзя. Вам нужен Xorg версии 1.20.8, не НИЖЕ. Поэтому вам нужно сделать следующее:
cat <<EOF | sudo tee /etc/apt/sources.list.d/mx.list
deb http://mxrepo.com/mx/repo/ buster ahs
EOF
curl -o /tmp/mx_keyring.deb http://mxrepo.com/mx/repo/pool/main/m/mx19-archive-keyring/mx19-archive-keyring_2019.5.31_all.deb
sudo dpkg -i /tmp/mx_keyring.deb
sudo apt update && sudo apt dist-upgrade -y
После завершения обновления системы нужно ОБЯЗАТЕЛЬНО перезагрузить систему. Что мы сделали? Мы обновили важные системные компоненты используя внешний репозиторий MX Linux, который как и Deepin базируется на Debian 10 Buster. Только в отличие от Deepin, MX Linux использует куда более свежие системные компоненты. Поэтому мы обновили наш Xorg и драйвер mesa.
После перезагрузки нам нужно установить драйвер nvidia:
sudo apt install nvidia-driver -y
Если у вас уже установлен драйвер nvidia, то его нужно переустановить
sudo apt install nvidia-driver —reinstall
Затем нам нужно скачать и установить утилиту, которая позволит переключатся между видеокартами:
https://drive.google.com/file/d/1yndEu-EIf9GjegVmcIdlEk4oXd7RYnVR/view?usp=sharing
Скачайте ее в папку /tmp, или к себе в домашний каталог и установите с помощью gdebi, или чего там сейчас в deb-подобных используют для установки пакетов из X
Для тех кто скачал в /tmp, можно выполнить команду:
sudo dpkg -i /tmp/nvidia-prime.deb
После установки нужно проверить конфиг nvidia, запустив nvidia-settings из launchpad. Если вы видите что-то наподобии этого:
то все настроено правильно и после перезагрузки можно начинать пользоватся nvidia prime. Если нет, то нужно править конфиг /etx/X11/xorg.conf, приводя его к виду:
Section «Device»
Identifier «iGPU»
Driver «modesetting»
EndSection
Section «Screen»
Identifier «iGPU»
Device «iGPU»
EndSection
Section «Device»
Identifier «dGPU»
Driver «nvidia»
EndSection
Как пользоватся?
Чтоб запустить гру, или программу с nvidia, то нужно выполнить команду
prime-run firefox
Понятно, что вместо firefox вы подставляете либо название программы, либо путь к бинарнику который хотите запустить.
Для игр steam нужно в свойствах игры установить параметры запуска prime-run %command% и запускать игру.
На этом все