Xorg и xrandr обнаруживают подключенный монитор, которого не существует.

Вопрос или проблема

Я использую ноутбук без подключенных дополнительных мониторов, но когда я запускаю xrandr -q, вывод показывает два подключенных устройства. Диалог настроек дисплея Xfce также отображает два монитора, как и Xorg.0.log.

Вот вывод xrandr -q:

eDP-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1920x1080     60.00*+  59.97    59.96    59.93    48.00  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   (пропускаем много других разрешений)
DP-1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      60.00*  
   800x600       60.32    56.25  
   848x480       60.00  
   640x480       59.94  
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)

Это нормально? Если нет, что я могу сделать, чтобы удалить этот воображаемый монитор? Перезагрузка ноутбука (без внешних мониторов, подключенных в любое время) ничего не меняет.

(Мой догадка состоит в том, что что-то в этом вызывает странную проблему с отображением, которая у меня есть – экран входа начинается с неправильного разрешения, а затем разрешение корректируется, но размеры виртуального рабочего стола неверные.)

Вот строки из Xorg.0.log, имеющие отношение к этому – DP-1 (воображаемый монитор) не имеет EDID, но он указан как подключенный с начальным режимом 1024×768, и, похоже, как-то заставляет eDP-1 (фактический монитор ноутбука) использовать начальный режим 1024×768 вместо 1920×1080; затем он по какой-то причине классифицируется как клавиатура:

[    13.093] (II) modeset(0): Output eDP-1 has no monitor section
[    13.921] (II) modeset(0): Output DP-1 has no monitor section
[    13.921] (II) modeset(0): Output DP-2 has no monitor section
[    13.921] (II) modeset(0): Output DP-3 has no monitor section
[    13.923] (II) modeset(0): EDID for output eDP-1
[    13.923] (II) modeset(0): Manufacturer: BOE  Model: 853  Serial#: 0
[    13.923] (II) modeset(0): Year: 2018  Week: 48
[    13.923] (II) modeset(0): EDID Version: 1.4
(пропускаем много другой информации о EDID для eDP-1)
[    13.924] (II) modeset(0): Printing probed modes for output eDP-1
[    13.924] (II) modeset(0): Modeline "1920x1080"x60.0  141.72  1920 1968 2000 2124  1080 1083 1089 1112 +hsync -vsync (66.7 kHz eP)
[    13.924] (II) modeset(0): Modeline "1920x1080"x119.9  266.50  1920 1944 1960 2000  1080 1081 1084 1111 doublescan +hsync -vsync (133.2 kHz d)
[    13.924] (II) modeset(0): Modeline "1920x1080"x60.0  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync (67.2 kHz d)
(пропускаем много других модельных линий для eDP-1)
[    14.754] (II) modeset(0): EDID for output DP-1
[    14.754] (II) modeset(0): Printing probed modes for output DP-1
[    14.755] (II) modeset(0): Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[    14.755] (II) modeset(0): Modeline "800x600"x60.3   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[    14.755] (II) modeset(0): Modeline "800x600"x56.2   36.00  800 824 896 1024  600 601 603 625 +hsync +vsync (35.2 kHz e)
[    14.755] (II) modeset(0): Modeline "848x480"x60.0   33.75  848 864 976 1088  480 486 494 517 +hsync +vsync (31.0 kHz e)
[    14.755] (II) modeset(0): Modeline "640x480"x59.9   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[    14.755] (II) modeset(0): EDID for output DP-2
[    14.755] (II) modeset(0): EDID for output DP-3
[    14.755] (II) modeset(0): Output eDP-1 connected
[    14.755] (II) modeset(0): Output DP-1 connected
[    14.755] (II) modeset(0): Output DP-2 disconnected
[    14.755] (II) modeset(0): Output DP-3 disconnected
[    14.755] (II) modeset(0): Using fuzzy aspect match for initial modes
[    14.755] (II) modeset(0): Output eDP-1 using initial mode 1024x768 +0+0
[    14.755] (II) modeset(0): Output DP-1 using initial mode 1024x768 +0+0
(пропускаем много строк, которые, похоже, не относятся к делу - дайте знать, если я должен вставить всё это)
[    15.141] (II) config/udev: Adding input device DP-1 (/dev/input/event10)
[    15.142] (**) DP-1: Applying InputClass "libinput keyboard catchall"
[    15.142] (II) Using input driver 'libinput' for 'DP-1'
[    15.142] (**) DP-1: always reports core events
[    15.142] (**) Option "Device" "/dev/input/event10"
[    15.142] (**) Option "_source" "server/udev"
[    15.144] (II) event10 - DP-1: is tagged by udev as: Keyboard Pointingstick
[    15.144] (II) event10 - DP-1: device is a pointer
[    15.144] (II) event10 - DP-1: device is a keyboard
[    15.145] (II) event10 - DP-1: device removed
[    15.161] (II) libinput: DP-1: needs a virtual subdevice
[    15.162] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:02.0/rc/rc0/input11/event10"
[    15.162] (II) XINPUT: Adding extended input device "DP-1" (type: MOUSE, id 9)
[    15.162] (**) Option "AccelerationScheme" "none"
[    15.162] (**) DP-1: (accel) selected scheme none/0
[    15.162] (**) DP-1: (accel) acceleration factor: 2.000
[    15.162] (**) DP-1: (accel) acceleration threshold: 4
[    15.164] (II) event10 - DP-1: is tagged by udev as: Keyboard Pointingstick
[    15.165] (II) event10 - DP-1: device is a pointer
[    15.165] (II) event10 - DP-1: device is a keyboard

К сожалению, мой Xorg.0.log.old датируется тем же днем и имеет те же проблемы, но я нашел Xorg.1.log.old за прошлый год, в котором нет этих проблем. Он показывает тот же eDP-1, но не показывает никакой информации для DP-1, не классифицирует его как клавиатуру и не указывает, что он подключен, и начальное разрешение дисплея было 1920×1080 (что и должно быть):

    [   942.577] (II) modeset(0): EDID for output DP-1
    [   942.577] (II) modeset(0): EDID for output DP-2
    [   942.577] (II) modeset(0): EDID for output DP-3
    [   942.577] (II) modeset(0): Output eDP-1 connected
    [   942.577] (II) modeset(0): Output DP-1 disconnected
    [   942.577] (II) modeset(0): Output DP-2 disconnected
    [   942.577] (II) modeset(0): Output DP-3 disconnected
    [   942.577] (II) modeset(0): Using exact sizes for initial modes
    [   942.577] (II) modeset(0): Output eDP-1 using initial mode 1920x1080 +0+0

Я использую ThinkPad P1 с Xubuntu 20.04 и Xfce 4.14.

Это не очень хороший ответ, потому что проблема, похоже, разрешилась сама собой после нескольких часов, проведенных в раздумьях и поисках решений, но не после того, как я реализовал новое решение, поэтому я не могу точно сказать, что помогло. Но на случай, если кто-то столкнется с аналогичной проблемой, вот единственные более-менее значимые вещи, которые я сделал между перезагрузкой, которая все еще имела проблему, и перезагрузкой, которая её исправила:

  • Я зашел в командную строку grub и попробовал команду videoinfo (которая выдала мне “error: Secure Boot forbids loading module”)
  • Я зашел в утилиту настройки BIOS и посмотрел настройки дисплея – я оставил их на том же значении, на котором они были изначально (“laptop LCD”), но, возможно, просто зайдя в это меню, я вызвал проверку чего-то?

Таким образом, возможно, одно из этих действий исправило проблему – стоит сделать их, если у вас такая же проблема. Или, возможно, это было совершенно не связано с тем, что я делал.

В любом случае, мой Xorg.0.log и xrandr -q снова показывают только один подключенный монитор, и все выглядит нормально, а моя странная проблема с отображением исчезла.

[     7.927] (II) modeset(0): Output eDP-1 connected
[     7.927] (II) modeset(0): Output DP-1 disconnected
[     7.927] (II) modeset(0): Output DP-2 disconnected
[     7.927] (II) modeset(0): Output DP-3 disconnected
[     7.927] (II) modeset(0): Using exact sizes for initial modes
[     7.927] (II) modeset(0): Output eDP-1 using initial mode 1920x1080 +0+0

Кроме того: второй раз, когда эта проблема произошла, она была исправлена, когда у моего ноутбука села батарея. (Я не знаю, исправила бы нормальная перезагрузка это в тот раз – я не пробовал, поскольку в первый раз, когда у меня возникла эта проблема, перезагрузка только усугубила её.)

Из ArchWiki: xrandr:

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

$ xrandr --output VGA1 --off

Чтобы сделать это постоянным, добавьте следующее в запись в
/etc/X11/xorg.conf.d/:

/etc/X11/xorg.conf.d/10-monitor.conf
Section "Monitor"
    Identifier "VGA1"
    Option "Ignore" "true"
EndSection

Ответ или решение

Почему Xorg и xrandr обнаруживают несуществующий монитор?

Когда вы подключаете ноутбук без внешних дисплеев, но команда xrandr -q выводит список подключенных мониторов, включая несуществующий (фантомный), это может быть довольно запутывающей ситуацией. В контексте вашей ситуации необходимо рассмотреть несколько аспектов, чтобы понять, почему это происходит и как это можно исправить.

1. Причины возникновения проблемы

Фантомные мониторы, такие как ваш DP-1, могут быть результатом:

  • Ошибок в конфигурации Xorg. Возможно, драйвер видеокарты или настройки конфигурации Xorg неверно распознают определенные выходы.
  • Кэширования состояния устройства. Информация о видеовыходах может кэшироваться в системе, что приводит к неправильной интерпретации доступных дисплеев.
  • Проблем с драйверами. Иногда неправильная или устаревшая версия драйвера видеокарты может привести к распознаванию несуществующего оборудования.
  • Неправильных настроек BIOS. Некоторые настройки оборудования, находящиеся в BIOS, могут влиять на то, как система определяет видеовыходы.

2. Пошаговое решение

Чтобы избавиться от фантомного монитора и восстановить правильное функционирование отображения, можно воспользоваться некоторыми методами.

Метод 1: Отключение фантомного монитора

Вы можете попробовать отключить фантомный вывод с помощью команды xrandr:

xrandr --output DP-1 --off

Это временное решение, которое позволяет немедленно отключить отображение фантомного монитора.

Метод 2: Настройка конфигурации Xorg

Чтобы сделать отключение фантомного монитора постоянным, вы можете добавить соответствующий раздел в конфигурационный файл Xorg. Для этого создайте или отредактируйте файл /etc/X11/xorg.conf.d/10-monitor.conf следующим образом:

Section "Monitor"
    Identifier "DP-1"
    Option "Ignore" "true"
EndSection

Этот подход позволит системе игнорировать указанный выход при загрузке.

Метод 3: Чистка кеша конфигурации

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

  1. Выключите ноутбук и полностью отключите его от сети.
  2. Нажмите и удерживайте кнопку питания в течение 10 секунд для сброса оставшейся энергии.
  3. Запустите систему без подключенных внешних мониторов.
Метод 4: Проверка BIOS

Если проблема не решается, проверьте настройки BIOS:

  1. Перезагрузите систему и войдите в BIOS во время загрузки (обычно клавиша F1, F2, Del или Esc).
  2. Просмотрите настройки по выводу видео. Убедитесь, что значение для встроенного дисплея установлено правильно (обычно "Laptop LCD").
  3. Сохраните изменения и перезагрузите систему.

3. Примечания и рекомендации

  • Обратите внимание на версию драйвера видеокарты. Убедитесь, что вы используете актуальные и подходящие драйвера для вашей видеокарты.
  • Если проблема возникает повторно, может быть полезным обратиться к сообществу пользователей или разработчикам ваших дистрибутивов Linux, так как подобные проблемы могут быть специфичными для определенных аппаратных конфигураций.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...