Страница 1 из 1
Две видеокарты одновременно в Linux Mint 18
Добавлено: 22 июн 2017, 21:04
slant
Здравствуйте.
Возник вопрос общего характера, т.к. запутался в куче различных гайдов и советов разных лет.
Дано: Машина с двумя видеокартами, GTX950 и интегрированное ядро процессора.
Хочу: Заставить обе видеокарты работать одновременно. Интегрированное ядро может не отключаться при наличии внешней карты. Под Windows на этом железе такое возможно. Проверено.
Вопрос: Как правильно это реализуется в современных линуксах? При настройках системы по умолчанию работает только одна карта - та, что установлена как первая для инициализации в биосе. Вторая молчит. Для диагностики (в биосе стоит инициализация GTX950 первой):
Код: Выделить всё
# inxi -G
Graphics: Card-1: Intel 2nd Generation Core Processor Family Integrated Graphics Controller
Card-2: NVIDIA GM206 [GeForce GTX 950]
Display Server: X.Org 1.18.4 driver: nvidia Resolution: 1280x1024@75.02hz, 1920x1080@60.00hz
GLX Renderer: GeForce GTX 950/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 381.22
lspci тоже показывает оба:
Код: Выделить всё
00:02.0 Display controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GM206 [GeForce GTX 950] (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 0fba (rev a1)
Код: Выделить всё
$ xrandr
Screen 0: minimum 8 x 8, current 3200 x 1080, maximum 16384 x 16384
DVI-I-0 connected 1280x1024+1920+0 (normal left inverted right x axis y axis) 380mm x 300mm
1280x1024 60.02 + 75.02*
1280x960 60.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
640x480 75.00 72.81 59.94
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm
1920x1080 60.00*+ 59.94 50.00
1680x1050 59.95
1600x900 60.00
1440x900 59.89
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
720x576 50.00
720x480 59.94
640x480 75.00 72.81 59.94
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
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 драйверов) вот этих кусков выделенных жирным):
Код: Выделить всё
Section "Device"
Identifier "Device0"
Driver "nvidia"
[u] [b] Option "RegistryDwords" "PrefLevelSrc=0х2233"
Option "TripleBuffer" "True"[/b][/u]
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 950"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-1"
Option "metamodes" "DVI-I-0: nvidia-auto-select +1920+0, HDMI-0: nvidia-auto-select +0+0 [u][b]{ ForceFullCompositionPipeline = On }[/b][/u]"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Почти везде говорят что xorg.conf - устарело и не нужно использовать. Куда тогда можно закинуть эту настройку?
Две видеокарты одновременно в Linux Mint 18
Добавлено: 22 июн 2017, 22:42
Chocobo
slant, для проприетарного драйера должна быть актуальна директива nvidia-xconfig --sli=on
(правки про тиринг возможно затрет, оно вроде генерит свой конфиг)
У тебя тут как раз вижу Option "SLI" "Off"
можно наверное и вручную поправить, но не уврен что там одна директива для двухкарточного режима.
Две видеокарты одновременно в Linux Mint 18
Добавлено: 22 июн 2017, 22:52
slant
Хочется уточнить - а разве SLI - это не для одновременной работы 3D ускорения в одном приложении от двух Nvidia карт?
Тут ведь вторая карта - интегрированное графическое ядро процессора intel, ни разу к Nvidia не относится...
Две видеокарты одновременно в Linux Mint 18
Добавлено: 22 июн 2017, 23:00
Chocobo
slant, неверно расчитал первый пост, сорри
slant писал(а): Машина с двумя видеокартами, GTX950
Прочитал как две 950-х

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

Просто в гугле материала так много что я в нем запутался малость... Общее направление движения хотелось бы определить, применительно именно к современному состоянию Минт/ubuntu.
Две видеокарты одновременно в Linux Mint 18
Добавлено: 26 июн 2017, 17:07
slant
Перекопал кучу документации и изрядно помучал гугл, но заставить все нормально заработать так и не смог, надеюсь - пока. Однако появились более конкретные вопросы.
Сделал конфиг Xorg - теперь второй монитор подключенный к интегрированному видео Пытается включится при старте Xorg (например когда его mdm запускает), но через секунду уходит обратно в спячку.
Вот лог Xorg'a:
- Там видно, что драйвер даже пытается стартовать, и сканирует монитор на предмет режимов. Причем правильно их находит. (1280х1024 родное разрешение этого монитора, пусть обозначает его SyncMaster без конкретной модели в названии - но это для него нормально.)
Вот сам конфиг Xorg:
Код: Выделить всё
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "Module"
Load "modesetting"
Load "glx"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Samsung SyncMaster"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Samsung SyncMaster"
# HorizSync 30.0 - 81.0
# VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
Option "RegistryDwords" "PrefLevelSrc=0х2233"
Option "TripleBuffer" "True"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 950"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "Device1"
# Driver "modesetting"
Driver "intel"
VendorName "Intel corporation"
BoardName "Sandy Bridge GPU"
BusID "PCI:0:2:0"
# Option "AccelMethod" "none"
Option "NoAccel" "True"
Option "DRI" "False"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
# Option "nvidiaXineramaInfoOrder" "DFP-1"
Option "nvidiaXineramaInfoOrder" "false"
Option "metamodes" "DVI-I-0: nvidia-auto-select +1920+0, HDMI-0: nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
Option "AllowEmptyInitialConfiguration"
SubSection "Display"
Modes "1280x1024" "1024x768" "800x600"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Монитор который воткнут в интегрированное видео - Monitor1/Screen1.
Пробовал менять драйвер на modesetting - лог вывода и общий результат практически идентичный.
xrandr -q :
Код: Выделить всё
$ xrandr -q
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected primary (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm
1920x1080 60.00*+ 59.94 50.00
1680x1050 59.95
1600x900 60.00
1440x900 59.89
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
720x576 50.00
720x480 59.94
640x480 75.00 72.81 59.94
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
Код: Выделить всё
$ xrandr --listmonitors
Monitors: 1
0: +HDMI-0 1920/521x1080/293+0+0 HDMI-0
По идее монитор должен висеть на HDMI-1-1 (? если верить логу Xorg ) но такого нету в списке вообще.
Еще подозрение вызывает вот это:
Код: Выделить всё
$ inxi -Gxx
Graphics: Card-1: Intel 2nd Generation Core Processor Family Integrated Graphics Controller
bus-ID: 00:02.0 chip-ID: 8086:0102
Card-2: NVIDIA GM206 [GeForce GTX 950] bus-ID: 01:00.0 chip-ID: 10de:1402
Display Server: X.Org 1.18.4 drivers: nvidia (unloaded: intel) Resolution: 1920x1080@60.00hz
GLX Renderer: GeForce GTX 950/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 381.22 Direct Rendering: Yes
[/i]
Т.е. драйвер intel почему-то выгружен? Почему?
Вот что выдает lspci -k применительно к видеокартам:
Код: Выделить всё
...
00:02.0 Display controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
Subsystem: Gigabyte Technology Co., Ltd 2nd Generation Core Processor Family Integrated Graphics Controller
Kernel driver in use: i915
Kernel modules: i915
...
01:00.0 VGA compatible controller: NVIDIA Corporation GM206 [GeForce GTX 950] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd GM206 [GeForce GTX 950]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_381, nvidia_381_drm
Тоже вопрос: а при чем тут "i915" для интегрированного видео, если по идее оно должно использовать "intel"? Или я здесь недопонимаю что-то?
Пробовал откатится на nouveau для GTX950 - не помогает. Ни с конфигом, ни без конфига. На всякий случай перепроверил под виндой - конфигурация для материнки в принципе рабочая, там оба монитора на разных картах живут одновременно без проблем.
У меня такое чувство, что я где-то что-то практически очевидное не замечаю.

Две видеокарты одновременно в Linux Mint 18
Добавлено: 03 июл 2017, 01:26
slant
Все еще не теряю надежды разобраться в происходящем, но пока подвижек мало. Перешел к дифференциальной диагностике.
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 из системы напрочь, хотя бы для теста? Или отключить его полностью? Можете подсказать как? А то в гайдах только про настройку пишут...
Две видеокарты одновременно в Linux Mint 18
Добавлено: 03 июл 2017, 10:01
Unborn
slant, начинай всю движуху не с дефолтным ядром, а с lowlatency - для десктопов. Ну и установка ОС в УЕФИ должна быть без всяких эмуляций. Шансов на успех больше будет. И не просто версии ядра перебирай, а вместе с графическим стеком для них. Сначала всё на свободном драйвере, потом уже на проприетарном. Будет долго, муторно, но раз поставил себе задачу - дерзай.
Мат. плата у тебя старовата. В новых есть режим совместной работы на уровне прошивки.
Начинай уж сразу с 18.2 Когда 17.3 пилили, твои карточки хорошо если в проекте были.
В общем - установка 18.2 - установка ядра lowlatency - испытание. Апгрейд установкой hwe, испытание.
Тоже самое, только с проприетарью с штатной установкой.
Тоже самое - с проприетарью с сайта Нвидиа.
Да, и настройки придётся делать в etc, а не в юзеровской шаре.
Две видеокарты одновременно в Linux Mint 18
Добавлено: 03 июл 2017, 13:16
slant
Спасибо. Вопрос встречный: lowlatency ядро где для минта брать? Есть ppa, или требуется сборка из исходников? Т.к. 4.10 которое сейчас стоит, присутствует в родном менеджере обновлений в разделе ядер, оттуда и ставилось.
По мат-плате: В uefi как раз есть возможность включить или выключить интегрированное ядро вручную, независимо от наличия PEG карты. В выключенном состоянии оно в lspci выводе отсутствует, во включенном - в наличии. Оно?
На счет долго и муторно - btrfs со снапшотами сильно помогает.

А то бы уже свихнулся с переконфигурациями...
Еще вопросик нарисовался: за что конкретно отвечает /etc/init/gpu-manager.conf и сам gpu-manager ? Man на него отсутствует, на -h и --help не отвечает. Не он ли переключением карт занят?
Две видеокарты одновременно в Linux Mint 18
Добавлено: 03 июл 2017, 15:34
slant
Поздравьте меня товарищи. Дело кажется сдвинулось с мертвой точки - только что удалось запустить отдельный X сервер на второй карте и соответственно на втором мониторе.
Собственно именно это (а не расширение рабочего стола) мне и нужно от двух карт. Теперь осталось оформить этот результат в какой-то культурный вид чтобы автоматом запускалось, и можно начинать мучать KVM на предмет проброса одной видеокарты туда.
Как только досконально разберусь что именно повлияло - обязательно накатаю сюда отчет.
Две видеокарты одновременно в Linux Mint 18
Добавлено: 05 июл 2017, 15:21
slant
В общем, потихоньку въезжаю в тему: основной косяк в в конфиге из поста от 26 июн 2017, 17:07 был в секции ServerLayout - вместо строчки
Screen 1 "Screen1" 0 0
надо было писать:
Screen 1 "Screen1" RightOf "Screen0"
После этого монитор запускается при старте Х-ов, и показывает второй рабочий стол. Разумеется таскать окна на него нельзя, т.к. он становится :0.1 экраном. И чтобы было можно - надо настраивать дальше - расширения вроде Xinerama или TwinView. Но сам факт - работает, и оно все было ПОЧТИ правильно, но я действительно пропустил всего одну, казалось бы очевидную, вещь.
Что характерно, вопросов в интернете на эту тему море как и ответов, но в ответах и "руководствах" по настройке практически нету объяснений смысла действий при конфигурации. Вот тебе конфиг - положи на место и радуйся. А если не заработало - ну что-ж: фигня случается, а у нас все работает.
Появилось желание оформить все то, что накопал и осознал в процессе разбирательства в виде этакого справочника по настройке Х-ов в случае нескольких экранов, применительно к минту, и с объяснениями - что вообще при этом происходит. Как думаете, оно тут надо, или неофиты должны сами собирать все по кусочкам?

Две видеокарты одновременно в Linux Mint 18
Добавлено: 05 июл 2017, 17:41
DbIMOK
slant, конечно надо, у меня тоже две видюхе интеловская и G540m, тоже задавался этим вопросом, работала или та или эта в минте 17.., на 18.1 сильно стал греться ноут кулер работает не переставая t=80 C, сейчас поставил 18.2 там поставил драйвера на нвидио последнии, и минт дал возможность после этого поставить интеловскою карту одновременно, но толку от этого мало стало для меня, температура упала до 68 град. Мне не надо подключать второй монитор, но мне бы хотелось вручную а лучше автоматом, как в винде, чтоб включалась допустим нвидиа. Напиши инструкцию , что делал, если не сложно.
Две видеокарты одновременно в Linux Mint 18
Добавлено: 05 июл 2017, 18:02
DbIMOK
Две видеокарты одновременно в Linux Mint 18
Добавлено: 05 июл 2017, 18:05
slant
В ноутах вопрос может стоять совсем не так, как в десктопах. Там может быть комбинированное видео Intel+Nvidia с технологией переключения Optimus. Это добро настраивается по другому, и косяки там свои собственные. То что я могу здесь описать к ним не относится. Причем у меня такого ноута под рукой нету, чтобы все на нем проверить. Это первое.
Второе - сейчас я занимаюсь тем, что пытаюсь заставить работать два монитора на РАЗНЫХ картах. Это нужно, чтобы потом одну карту передавать виртуальной машине KVM через PCI passthrough. (Или если есть желание организовать два независимых рабочих места из одного системника.) Если же вопрос стоит только о расширении рабочего стола на два монитора, гораздо проще подключить эти два монитора к ОДНОЙ видеокарте. Такой вариант я тоже опишу, если вообще писать буду, но это настраивается гораздо проще. По сути - из коробки работает на Nvidia дровах.
Тебе надо искать по ключевым словам - Nvidia, Optimus, Prime, Bumblebee.
Две видеокарты одновременно в Linux Mint 18
Добавлено: 05 июл 2017, 18:24
DbIMOK
ок благодарю
Две видеокарты одновременно в Linux Mint 18
Добавлено: 05 апр 2018, 16:10
AlexelA
slant, Тема заглохла? Ибо хочу запитать вспомогательный монитор от встроенной видюхи...
Две видеокарты одновременно в Linux Mint 18
Добавлено: 05 апр 2018, 16:21
Dja
У меня что на ноуте, что на ПК дома по 2 моника. Уж кто от какой карты не знаю ) Главное работают.
Две видеокарты одновременно в Linux Mint 18
Добавлено: 05 апр 2018, 18:56
slant
AlexelA писал(а): ↑05 апр 2018, 16:10
slant, Тема заглохла? Ибо хочу запитать вспомогательный монитор от встроенной видюхи...
Не то, чтобы совсем заглохла... Но до практического применения довести не получилось. Во первых, мне тут было нужно в первую очередь не два экрана с общим рабочим столом, а отдать вторую видяху виртуалке. И запуск второй видяхи в хост системе был нужен, чтобы разобраться с нюансами. Общий результат:
1. Есть несколько методов создать общий рабочий стол, но все они зависят от ситуации. На свободных дровах это расширение xinerama на закрытых nvidia - twinview. По amd - не могу сказать, у меня их не водится.
2. xinerama влияет на производительность и не всегда заводится. С основной картой у меня ее не получилось заставить работать в минте.
3. twinview работает только на nvidia картах.
4. У минта с поддержкой двух карт одновременно все не шибко хорошо. То что в manjaro работает из коробки (общий рабочий стол на 3 монитора: 2 nvidia + 1 intel через xinerama) прямо в live сессии, здесь приходится запускать пинками и с непредсказуемым результатом.
Две видеокарты одновременно в Linux Mint 18
Добавлено: 06 апр 2018, 09:55
AlexelA
Спасибо, понятно...
Dja писал(а): ↑05 апр 2018, 16:21
У меня что на ноуте, что на ПК дома по 2 моника.
В принципе, заюзать встроенную видяху - просто моя блажь, на внешней видюхе два моника работают нормально...