LINUX.ORG.RU

Внешний монитор

 , , ,


2

1

Здравствуйте! Подключен внешний монитор к ноутбуку с установленной системой Debian 10. Необходимо настроить систему таким образом, чтобы работал только внешний монитор в следующих случаях:

  1. В GRUB.
  2. В виртуальных терминалах (TTY) в консоли.
  3. В GDM3.

В настоящее время в GRUB и в TTY работает только основной монитор. В GDM3 оба монитора работают. В графической среде только внешний монитор. Спасибо!

Перемещено hobbit из general

Лично я некоторое время назад тоже разбирался в п.1 и в п.2, в итоге ничего не нашёл. В том, что GRUB не умеет работать с двумя мониторами уверен на 99%. В том, что ядро (консоль, TTY) не умеет настраивать мониторы уверен на процентов 90.

mxfm ★★
()
Ответ на: комментарий от mxfm

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

А grub и так слишком много чего умеет, куда туда ещё дравера засоывать. BIOS ведь не работает на внешний монитор, почему туда должен grub работать?

mky ★★★★★
()
Ответ на: комментарий от mky

Пожалуйста, напишите подробнее, какое значение нужно передать в параметр video. Я пытался так сделать, писал video=<имя монитора>, полученное из xrandr (HDMI-0), но ничего не вышло. Ранее для загрузки графического установщика из iso-образа с диска из GRUB я использовал такую команду: linux (loop)/d-i/gtk/vmlinuz append video=vesa:ywrap,mtrr vga=788 «${loopback}» в grub.cfg. Здесь параметр video указывает на видеорежим и опции управления памятью видеокарты. Как указать на монитор, к сожалению, я не знаю.

На ноутбуке есть только одна не встроенная видеокарта.

Касательно TTY, думаю, что решить можно через систему инициализации, если создать верный unit.

Sugar412351
() автор топика

При регистрации на сайте запрещается: …

  • использовать длинные имена, состоящие из произвольного набора символов

Sugar, you’re going down.

t184256 ★★★★★
()
Ответ на: комментарий от Sugar412351

LVDS-0 откуда взято? В загруженной системе посмотрите как ядро видит видеовыходы:

ls -l /sys/class/drm

card-0 обрезаете и это и будут имена видеовыходов, их включате/отключает. Примерно как-то так:

video=eDP-1:d video=HDMI-A-1:e

И если не сработает, обязательно на загрузившнейся системе посмотрите содержимое /proc/cmdline , что там есть эти параметры, а то может не тот конфиг редактируете. Но, если эти параметры передаются ядру, а консоли на внешнем мониторе нет, то больше мне добавить нечего.

mky ★★★★★
()
Ответ на: комментарий от mky

LVDS-0 из вывода команды xrandr:

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384 DVI-I-0 disconnected (normal left inverted right x axis y axis) LVDS-0 connected (normal left inverted right x axis y axis) 1920x1080 59.93 + HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 597mm x 336mm 1920x1080 60.00*+ 74.97 59.94 50.00
1680x1050 59.95
1600x900 60.00
1440x900 59.89
1366x768 59.79
1280x1024 60.02
1280x960 60.00
1280x720 60.00 59.94 50.00
1024x768 60.00
800x600 60.32
720x576 50.00
720x480 59.94
640x480 59.94 59.93
DVI-I-1 disconnected (normal left inverted right x axis y axis) DP-0 disconnected (normal left inverted right x axis y axis)

ls -l /sys/class/drm

lrwxrwxrwx 1 root root 0 сен 10 08:07 card0 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0
lrwxrwxrwx 1 root root 0 сен 10 08:07 renderD128 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/renderD128
-r–r–r– 1 root root 4096 сен 10 08:07 version

Не понял, как обрезать card-0 из card0 и renderD128.

И если не сработает, обязательно на загрузившнейся системе посмотрите содержимое /proc/cmdline

Хорошо, проверю.

Sugar412351
() автор топика
Ответ на: комментарий от mky

И если не сработает, обязательно на загрузившнейся системе посмотрите содержимое /proc/cmdline , что там есть эти параметры

Параметры есть, но video=eDP-1:d video=HDMI-A-1:e не работает. Пожалуйста, подскажите, как использовать вывод из ls -l /sys/class/drm - card0 и renderD128, в параметре video

Sugar412351
() автор топика
Ответ на: комментарий от Sugar412351

Значит, у вас почему-то ядро не видит отдельные видеовыходы карты, у меня, на стационарнике (какая-то древняя NVIDIA, драйвер nouveau) так:

$ ls -l /sys/class/drm/
total 0
drwxr-xr-x  2 root root    0 Jun 19 22:41 .
drwxr-xr-x 54 root root    0 Jun 19 22:41 ..
lrwxrwxrwx  1 root root    0 Jun 19 17:41 card0 -> 
lrwxrwxrwx  1 root root    0 Jun 19 17:41 card0-DVI-I-1 -> 
lrwxrwxrwx  1 root root    0 Jun 19 17:41 card0-DVI-I-2 ->
lrwxrwxrwx  1 root root    0 Jun 19 17:41 renderD128 ->
lrwxrwxrwx  1 root root    0 Jun 19 17:41 ttm -> 
-r--r--r--  1 root root 4096 Sep 10 04:44 version

В выводе убрал куда указывают симлинки, чтобы не было лишнего текста, но понятно, что я подразумевал под «обрезать».

Почему у вас только card0 я не знаю, по идее, раз есть drm, значит ядро «знает» эту карту и X-Window (xrand) должны работать через ядро...

Какая видеокарта, какой драйвер в ядре?

mky ★★★★★
()
Ответ на: комментарий от Sugar412351

Видимо, с проприетарным драйвером так и должно быть: https://forums.developer.nvidia.com/t/no-sys-class-drm-card0-entries-on-kerne... там приводя ссылку на какой-то патч, но не факт что он поможет, да и вобще...

В теории, ради интереса можно попробовать открытый драйвер (nouveau) чтобы понять, позволит ли он переключить вывод на нужный выход карты. Понятно, что у nouveau свои недостатки, а переключению туда-сюда драйверов может поломать систему и будет проще переустановить, чем разбираться куда что прописать.

mky ★★★★★
()