Ноутбук двумя видеокартами linux

Включение гибридной графики в Ubuntu на ноутбуках Nvidia + Intel (OpenGL, Vulkan)

Введение

Это простая инструкция как включить гибридную графику intel-nvidia на ноутбуке. Чтобы определенные приложения запускались на дискретном чипе, а другие на встроенном. На свое удивление в интернете не нашел простую инструкцию того, как запускать определенные приложения, используя дискретную графику. Так что напишу так просто, на сколько считаю нужным

У меня система KDE Neon 5.21 — по большому счету — Ubuntu LTS с окружением рабочего стола KDE Plasma 5.21, видеочип GeForce MX150

1. Устанавливаем драйвер

a) Если у вас система на Qt (Как правило окружение KDE или LXQt), то с помощью данной команды через терминал загрузим программу для установки драйверов:

Если у вас система на GTK то с помощью это команды:

Хотя разницы принципиальной нет

b) Затем запускаем ее с правами root

Можно так же добавить ярлык для запуска в меню приложений

Инструкция для KDE

/.local/share/applications/ создадим файл software properties qt.desktop с таким содержанием

И файл software properties qt.sh в той же папке:

После перезагрузки ярлык появится в меню

Но это далеко не обязательно, вполне достаточно запустить из консоли для наших целей настройки гибридной графики

c) Переходим на последнюю вкладку Additional drivers и устанавливаем нужный драйвер. Я выбрал самой последней версии, который не tested и не server

d) После установки перезагружаем устройство

2. Настраиваем видеокарту

a) Загружаем следующую программу:

b) Переходим в PRIME Profiles Здесь мы видим три пункта:

NVIDIA (Performance Mode) — работать только на дискретной графике. Сильно потребляет батарею в несложных задачах, а так же ноутбук начинает греться. Зато система работает намного быстрее, но это того не стоит. У меня после установки драйвера этот пункт включился автоматически

NVIDIA On-Demand — некоторые приложения будут использовать дискретную графику nvidia, но по-умолчанию встроенная intel. Как запустить конкретное приложение с дискретной графикой напишу дальше

NVIDIA (Power Saving Mode) — отключение дискретной графики

Выбираем второй вариант — NVIDIA On-Demand , и перезагружаем систему

3. Запуск приложения с использованием дискретной графики

Это то, что сложнее всего гуглилось.

Для запуска приложения с использованием графики nvidia нужно задать для OpenGL две переменные среды:

для Vulkan только:

Делать это надо перед командой для запуска приложения. Например, нам нужно запустить из терминала приложение program с использованием дискретной графики. Нужно вызвать его так:

Соответственно, если у приложения есть ярлык (.desktop) в меню приложений, то надо изменить команду запуска в ярлыке. В KDE Plasma нужно нажать на него ПКМ, открыть свойства (или «изменить приложение. «), перейти во вкладку «приложение» и перед командой приписать данную приставку. В других средах похожего стола примерно так же

Пример: ярлык игры Wolfenstein — Blade of Agony

Можно сделать это же действие через текстовый редактор. Открываем ярлык, находим Exec= , и приписываем перед коммандой данную приставку __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia

Заключение

Данный метод, как я понял, точно работают для программ, использующих библиотеки OpenGL и Vulkan. У меня, к сожалению, не получилось запустить так Windows приложение через Wine, которое использует DirectX, но это уже совсем другая история. (OpenGL приложения под Wine работают)

Источник

Установка Linux на ноут с двумя видеокартами AMD

Собственно говоря имею ноутбук с двумя видеокартами (встройка AMD 7600G и дискретка AMD 8550M,встройка на архитектуре VLIW,а дискретка GCN) и проблема в том,что при установке ,вероятно, неправельно встают драйвера на видео : OpenSuse 13.1 остаётся в командной строке(установка проприетарных драйверов из консоли не помогла),а Ubuntu 13.10 выдаёт ошибку с предложением запустить упрощённый режим,но вместо этого зависает. Сейчас обе системы удалил. Как быть?

Читайте также:  Cryptopro csp random number generator mac os

логи бы глянуть,dmesg,xorg.log, дискретка не отключается?
есть есть время и желание попробуй мой лайв сд 700мб
http://www.gearsongallium.com/?p=1055
эта та же суся но ядро 3.13 и меса из гита, если все заведется то это все можно накатить и на сусю.

Какую версию драйвера вы ставили ? И как ставили, из репозитория вашего дистрибутива или скачивали с сайта AMD ?

Для карты AMD 8550M требуется версия драйвера не ниже 13.9, а лучше последний — 13.12.

После установки драйвера запустите в консоли

Поставьте ubuntu. Запуститься нормально не получится из-за указанных вами проблем, но можно смело переключиться в консоль.

В консоли скачайте драйвер с официального сайта, поможет команда wget.

Если у вас ubuntu 13.10, то возникнет проблема установки драйвера. В багтрекере ati есть решение

После того, как пакеты с патчем собраны, просто поставьте их командой sudo dpkg -i fglrx*.deb. И можно пользоваться.

Источник

Ноутбук + 2 видеокарты — как жить?

$ lspci | grep VGA
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 M93 [Mobility Radeon HD 4500 Series] (rev ff)

Наша задача — либо научиться переключаться между двумя видеокартами, либо хотя бы отключить питание второй видеокарты.

Способ первый. Убить пересмешника.

Первый способ простой. Мы возьмём готовый модуль, написанный для ноутбуков Lenovo (для нашего замечательного HP он тоже подходит) и заставим его прикручиваться к нашему ядру. Для этого мы воспользуемся deb-пакетами и системой динамического прикручивания модулей — DKMS.
Модуль я обозвал незатейливо — hp_acpi_kill.

Берём исходный код модуля и сохраняем его под именем hp_acpi_kill.c
Теперь кладём рядом Makefile.
Это наш необходимый модуль, написанный неизвестным энтузиастом для OpenSUSE.

Теперь нам надо написать конфиг для DKMS, чтобы не пересобирать модуль под каждую новую версию ядра. К счастью, DKMS устроен очень просто, и конфиг получается короткий. Скачиваем и сохраняем под именем dkms.conf. В этом файле мы указываем имя компилируемого модуля, его версию, а также как компилировать и ставить наш модуль. Казалось бы на этом можно и остановиться — добавить модуль в DKMS, собрать и установить — но мы всё-таки пользователи удобного дистрибутива, а не не пойми чего. Поэтому мы завернём наш модуль в пакет.
Углубляться в подробности сборки пакета я не буду, посколько на хабре писал об этом уже много, скажу лишь, что помимо обычного набора файлов нам потребуются файлы *.postinst,*.postrm, *.prerm — чтобы наш модуль регистрировался и компилировался в DKMS при установке пакета, а также вычищался при удалении. Скачать архив со всеми необходимыми файлами можно тут.

Собираем пакет командой debuild или dpkg-buildpackage на выбор, устанавливаем и добавляем в /etc/modules название модуля hp_acpi_kill — теперь при загрузке системы дискретная видеокарта будет отключаться и энергопотребление резко падать.
Посмотрев список устройств, мы обнаружим, что наша видеокарта системе видна, но не определяется:

$ lshw
.
*-generic:0
product: Illegal Vendor ID
vendor: Illegal Vendor ID
physical id: 0
bus info: pci@0000:01:00.0
version: ff
width: 32 bits
clock: 66MHz
capabilities: bus_master vga_palette cap_list rom
configuration: driver=radeon latency=255 maxlatency=255 mingnt=255
resources: irq:31 memory:c0000000-cfffffff ioport:3000(size=256) memory:e4400000-e440ffff memory:e4420000-e443ffff

Способ второй. vga_switcheroo

Способ второй потребует от нас немножко трафика и капельку времени. Дело в том, что не так давно вышла версия 2.6.34 ядра, в которую включен новый интересный модуль — vga_switcheroo, который как раз и призван переключать видеокарты. На Launchpad и kernel.ubuntu.com даже можно найти пакеты с этим ядром, но в дефолтном конфиге модуль выключен — вероятно потому, что удобных графических средств для переключения видеокарт пока не придумали.

Поэтому для начала скачаем исходный пакет с ланчпада (он предназначен для Maverick Meerkat, но и у нас отлично заработает):

$ wget launchpad.net/ubuntu/+archive/primary/+files/linux_2.6.34-2.9.dsc
$ wget launchpad.net/ubuntu/+archive/primary/+files/linux_2.6.34-2.9.tar.gz

$ sudo dpkg -i linux-headers-2.6.34-2_2.6.34-2.9_all.deb linux-headers-2.6.34-2-generic_2.6.34-2.9_i386.deb linux-image-2.6.34-2-generic_2.6.34-2.9_i386.deb

Если у вас 64-битная система, вместо i386 в имени файла будет, разумеется, amd64.

Читайте также:  Как сравнить содержимое двух файлов линукс

Как нам после перезагрузки в новое ядро переключить видеокарту? Посмотрим на сводку советского информбюро:

$ cat /sys/kernel/debug/vgaswitcheroo/switch
0:+:Pwr:0000:00:02.0
1: :Off:0000:01:00.0

DIS — немедленное переключение на дискретную видеокарту
IGD — немедленное переключение на интегрированную видеокарту
DDIS — отложенное переключение на дискретную видеокарту
DIGD — отложенное переключение на интегрированную видеокарту
ON — включить неиспользуемую видеокарту
OFF — выключить неиспользуемую видеокарту

# echo ON > /sys/kernel/debug/vgaswitcheroo/switch # включим дискретную видеокарту
# echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch # попросим при случае переключить на дискретную видеокарту

# echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

$ $ cat /sys/kernel/debug/vgaswitcheroo/switch
0: :Off:0000:00:02.0
1:+:Pwr:0000:01:00.0

Источник

Ноутбук двумя видеокартами linux

22 июн 2017, 21:04

Возник вопрос общего характера, т.к. запутался в куче различных гайдов и советов разных лет.

Дано: Машина с двумя видеокартами, GTX950 и интегрированное ядро процессора.

Хочу: Заставить обе видеокарты работать одновременно. Интегрированное ядро может не отключаться при наличии внешней карты. Под Windows на этом железе такое возможно. Проверено.

Вопрос: Как правильно это реализуется в современных линуксах? При настройках системы по умолчанию работает только одна карта — та, что установлена как первая для инициализации в биосе. Вторая молчит. Для диагностики (в биосе стоит инициализация GTX950 первой):

DVI-D-0 — это монитор который воткнут в интегрированную карту. Активировать не получается. Эта строчка не меняется от наличия или отсутствия монитора на кабеле, пока первой в биосе выставлена внешняя карта.
DVI-I-0 — это монитор который временно перекинут на второй видеовыход внешней видеокарты.

Подскажите пожалуйста общее направление — куда дальше копать? У меня сложилось впечатление что X-ы или то, их конфигурирует, наткнувшись на первую видеокарту на этом и успокаивается. Надо как-то объяснить системе что у нее больше одной видеокарты — но как это сделать правильно? Про xorg.conf боле-менее современные источники говорят что он устарел (старые соответственно не работают). А новых найти не могу. Или теперь у всех оно автоматически «просто работает», а я такой невезучий?

Да, я понимаю конечно, что проще просто воткнуть второй монитор во второе гнездо первой видяхи и не заниматься странным, но я хочу разобраться именно со случаем двух раздельных видеокарт. Т.к. Есть желание в дальнейшем разбираться с пробросом видеокарты в KVM. А для этого нужны именно две раздельные видеокарты. Но сначала нужно хотя бы разобраться с обычными X-ами, IMHO.

Второй попутный вопрос: Куча советов по настройке X-ов, требуют править содержимое каталога /etc/X11/xorg.cond.d — в Минт 18 такого каталога нету, но есть /usr/share/X11/xorg.conf.d — это оно самое (просто в другом месте), или не совсем?

Третий попутный вопрос: Столкнулся с тирингом видео. Победил только засунув в xorg.conf (который сгенерил графической утилитой nvidia драйверов) вот этих кусков выделенных жирным):

Две видеокарты одновременно в Linux Mint 18

22 июн 2017, 22:42

slant , для проприетарного драйера должна быть актуальна директива nvidia-xconfig —sli=on (правки про тиринг возможно затрет, оно вроде генерит свой конфиг)

У тебя тут как раз вижу Option «SLI» «Off» можно наверное и вручную поправить, но не уврен что там одна директива для двухкарточного режима.

Две видеокарты одновременно в Linux Mint 18

22 июн 2017, 22:52

Две видеокарты одновременно в Linux Mint 18

22 июн 2017, 23:00

Две видеокарты одновременно в Linux Mint 18

22 июн 2017, 23:05

Две видеокарты одновременно в Linux Mint 18

23 июн 2017, 12:54

М. Я наверное несколько неточно сформулировал свои ожидания. Я не надеюсь что мне подскажут сразу точное решение, но очень бы хотелось, чтобы кто-то уточнил на словах — как оно должно быть в принципе, если следовать логике дистрибутива:
— Два Х сервера с полностью разными конфигами, ли один общий конфиг в /etc/X11/xorg.conf c разными секциями?
— Конфиги должны быть составлены вручную, или есть какой-то механизм управления автогенерацией/автодетектом при старте (я так подозреваю, что это каталог /usr/share/X11/xorg.conf.d )?
— Чем эти два X сервера должны запускаться — есть штатный механизм, или второй Х только руками?
— Налаживается ли в таком варианте общее пространство рабочего стола или нет (т.е. мышка может свободно переходить между ними или нет). Это штатная фича, или ставится какой-то дополнительный софт?

Читайте также:  Как запустить системный монитор windows

Или, может, я вообще тут страдаю такой редкой фигней, которая в современных дистрибутивах вообще не предусмотрена штатно? Просто в гугле материала так много что я в нем запутался малость. Общее направление движения хотелось бы определить, применительно именно к современному состоянию Минт/ubuntu.

Две видеокарты одновременно в Linux Mint 18

26 июн 2017, 17:07

Перекопал кучу документации и изрядно помучал гугл, но заставить все нормально заработать так и не смог, надеюсь — пока. Однако появились более конкретные вопросы.

Сделал конфиг Xorg — теперь второй монитор подключенный к интегрированному видео Пытается включится при старте Xorg (например когда его mdm запускает), но через секунду уходит обратно в спячку.

Вот лог Xorg’a: — Там видно, что драйвер даже пытается стартовать, и сканирует монитор на предмет режимов. Причем правильно их находит. (1280х1024 родное разрешение этого монитора, пусть обозначает его SyncMaster без конкретной модели в названии — но это для него нормально.)

Вот сам конфиг Xorg:

Монитор который воткнут в интегрированное видео — Monitor1/Screen1.
Пробовал менять драйвер на modesetting — лог вывода и общий результат практически идентичный.

По идее монитор должен висеть на HDMI-1-1 (? если верить логу Xorg ) но такого нету в списке вообще.

Еще подозрение вызывает вот это:

[/i]
Т.е. драйвер intel почему-то выгружен? Почему?

Вот что выдает lspci -k применительно к видеокартам:

Тоже вопрос: а при чем тут «i915» для интегрированного видео, если по идее оно должно использовать «intel»? Или я здесь недопонимаю что-то?

Пробовал откатится на nouveau для GTX950 — не помогает. Ни с конфигом, ни без конфига. На всякий случай перепроверил под виндой — конфигурация для материнки в принципе рабочая, там оба монитора на разных картах живут одновременно без проблем.

У меня такое чувство, что я где-то что-то практически очевидное не замечаю.

Две видеокарты одновременно в Linux Mint 18

03 июл 2017, 01:26

Все еще не теряю надежды разобраться в происходящем, но пока подвижек мало. Перешел к дифференциальной диагностике.

1. Скачал и запустил Mint 17.3 в лайв режиме. Результат: система увидела только монитор на интеловском ядре. Походу слишком старое ядро/драйвера чтобы запустить GTX 950.
2. Запустил Минт 18.1 в лайв режиме. Результат: иксы видят только монитор на карте Nvidia (драйвер noveau) однако на мониторе подключеном к интеловскому ядру остается висеть логотип минта (который при загрузке).
3. Скачал и запустил Manjaro Linux в лайв режиме. Результат: система видит сразу оба монитора и позволяет произвольно включать и выключать их сразу, без дополнительных конфигураций иксов вручную. То, чего хочу достичь в минте.
4. Если физически удалить GTX950 из машины, то минт видит и использует интегрированное интеловское ядро. И в лайв режиме, и с тем конфигом что я писал для иксов. Т.е. драйвер есть и работоспособен.
5. У манжаро ядро 4.9. На установленной системе у меня установлено 4.10, так что тут если только регрессия?.

После закидывания гугла подозрительными местами из логов запуска иксов — почти постоянно вкидывает на руководства по настройке Nvidia Optimus. Возник вопрос: а не может ли быть так, что система считает, что у меня именно подобная конфигурация, и отключает «ненужную» вторую карту после первичной инициализации? Ведь в логах иксов я вижу второй подключенный монитор, его порт, и результат опроса рабочих режимов. А в xrandr потом нет этого порта вообще (даже не просто отсутствие доступных режимов монитора — самого названия порта подключения нету).
Как бы попробовать выпилить все относящееся Optimus из системы напрочь, хотя бы для теста? Или отключить его полностью? Можете подсказать как? А то в гайдах только про настройку пишут.

Источник

Оцените статью