Как включить дискретную видеокарту?
Добрый день. Обнаружил что не включается дискретная карта, ввод команды lspci | grep VGA показывает только интегрированную:
00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
0:IGD:+:Pwr:0000:00:02.0 1:DIS: :DynOff:0000:01:00.0
Как мне запустить ее вручную? Пытаюсь запустить по следующему принципу:
vitaliy@HP-Laptop:~$ sudo echo ON > /sys/kernel/debug/vgaswitcheroo/switch bash: /sys/kernel/debug/vgaswitcheroo/switch: в доступе отказано
Ноутбук HP 15-ay002ur. Драйвера на AMD стоят проприетарные вроде как.
Что должно быть на месте binaryname, и что эта команда делает?
Отказ в доступе потому, что sudo распространяется только на echo, перенаправление делает оболочка, которая писать туда не может. Для записи в файлы с помощью echo удобно применять такую конструкцию:
echo something | sudo tee file
Тут записывать в файл будет запущенная от суда команда tee, file это её аргумент.
Что должно быть на месте binaryname
Название желаемого для запуска бинарника
Запускает желаемый бинарник с установленной переменной окружения для запуска на дискретке.
xDShot ★★★★★ ( 02.10.18 12:59:46 MSK )
Последнее исправление: xDShot 02.10.18 12:59:58 MSK (всего исправлений: 1)
Записывать в конфиге ничего не нужно. А то поломаешь нафиг всё. Другого выше не слушай.
Ничего не понял. Как мне запустить дискретную видеокарту?
Что должно быть на месте binaryname, и что эта команда делает?
У него OS не видит дискретку, не поможет ему DRI, точнее приложение запустится всё так же через интеграт.
У него OS не видит дискретку, не поможет ему DRI, точнее приложение запустится всё так же через интеграт.
Команда lspci | grep 01:00.0 выдает:
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / R7 M520] (rev 83)
Тогда я вообще не врубаюсь, чего тебе надо. Как запустить приложение на дискретке тебе выше сказали. Покажи вывод xrandr —listproviders
Тогда я вообще не врубаюсь, чего тебе надо. Как запустить приложение на дискретке тебе выше сказали. Покажи вывод
Providers: number : 2 Provider 0: id: 0x74 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 2 associated providers: 0 name:modesetting Provider 1: id: 0x4f cap: 0xd, Source Output, Source Offload, Sink Offload crtcs: 0 outputs: 0 associated providers: 0 name:HAINAN @ pci:0000:01:00.0
Мне нужно включить систему на дискретной видеокарте. Я работаю с еще одним внешним монитором, при его подключении при сильно активной работе бывает подлагивает. Предполагаю что это видеокарта ибо проца и оперативы хватает.
Система, по идее, всегда работает через интегрированное видео, если нет принудительного переключения графики в BIOS. Хотя могу и ошибаться. Кажется, в таких вопросах Novell-ch разбирается.
Так у него дискретка вообще не видна, четырехзвездочник.
Если его лаптоп не из 2008 года.
А здесь уже всё видно. Что-то ты уже поменял.
Мне нужно включить систему на дискретной видеокарте
Ну начнем с того, что на одной дискретке работать нельзя. Даже на винде.
Система, по идее, всегда работает через интегрированное видео, если нет принудительного переключения графики в BIOS.
Да, в современных ноутах дискретки не имеют собственных видеовыходов, переключить ничего нельзя.
madcore ★★★★★ ( 02.10.18 14:36:46 MSK )
Последнее исправление: madcore 02.10.18 14:36:59 MSK (всего исправлений: 1)
Ну начнем с того, что на одной дискретке работать нельзя. Даже на винде.
Ну как-то ее дополнительно для рабочего стола запустить можно?
glxinfo |grep OpenGL xrandr --setprovideroffloadsink 0x4f 0x74 DRI_PRIME=1 glxinfo |grep OpenGL
xrandr —setprovideroffloadsink 0x4f 0x74
Эту херню вроде давно не надо делать?
P.S. А вот у меня OS реально не видит дискретку. 🙂
Эту херню вроде давно не надо делать?
Может быть, давно не сталкивался.
P.S. А вот у меня OS реально не видит дискретку. 🙂
Да я вообще не копался в эту сторону, мне дискретка как-то не нужна.
OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2) OpenGL core profile version string: 4.5 (Core Profile) Mesa 13.0.6 OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 13.0.6 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 Mesa 13.0.6 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 OpenGL ES profile extensions:
OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD HAINAN (DRM 2.49.0 / 4.9.0-8-amd64, LLVM 3.9.1) OpenGL core profile version string: 4.3 (Core Profile) Mesa 13.0.6 OpenGL core profile shading language version string: 4.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 13.0.6 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.1 Mesa 13.0.6 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10 OpenGL ES profile extensions:
Получается работает динамическая графика?
Даже на интуле версия опенжоель выше чем на амуде, кек. Интересно что на это скажут амуданы со своим пиглитом.
Во-первых glxinfo |grep OpenGL делаю только дауны, нормальные люди просто смотрят glxinfo -B. Во-вторых покажи вывод xrandr (без всяких флагов).
в современных ноутах дискретки не имеют собственных видеовыходов
В современных ноутах дискретки имеют выход на внешний монитор. А встройка — на встроенный. Т.о. танцы с бубном нужны только если рендерить с дискретки на встроенный монитор.
name of display: :0 display: :0 screen: 0 direct rendering: Yes Extended renderer info (GLX_MESA_query_renderer): Vendor: Intel Open Source Technology Center (0x8086) Device: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2) (0x1916) Version: 13.0.6 Accelerated: yes Video memory: 3072MB Unified memory: yes Preferred profile: core (0x1) Max core profile version: 4.5 Max compat profile version: 3.0 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.2 OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2) OpenGL core profile version string: 4.5 (Core Profile) Mesa 13.0.6 OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL version string: 3.0 Mesa 13.0.6 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL ES profile version string: OpenGL ES 3.2 Mesa 13.0.6 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
Screen 0: minimum 320 x 200, current 2646 x 1038, maximum 8192 x 8192 eDP-1 connected primary 1366x768+0+270 (normal left inverted right x axis y axis) 344mm x 193mm 1366x768 60.00*+ 40.00 1360x768 59.80 59.96 1024x768 60.04 60.00 960x720 60.00 928x696 60.05 896x672 60.01 960x600 60.00 960x540 59.99 800x600 60.00 60.32 56.25 840x525 60.01 59.88 800x512 60.17 700x525 59.98 640x512 60.02 720x450 59.89 640x480 60.00 59.94 680x384 59.80 59.96 576x432 60.06 512x384 60.00 400x300 60.32 56.34 320x240 60.05 HDMI-1 connected 1280x1024+1366+0 (normal left inverted right x axis y axis) 338mm x 270mm 1280x1024 60.02*+ 75.02 1920x1080 60.00 59.94 1152x864 75.00 1280x720 60.00 59.94 1024x768 75.03 70.07 60.00 832x624 74.55 800x600 72.19 75.00 60.32 56.25 720x480 60.00 59.94 640x480 75.00 72.81 66.67 60.00 59.94 720x400 70.08
Debian, что поставилось то и стоит.
Включение гибридной графики в 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) есть такой док