Как зафиксировать физический размер дисплея в xrandr?

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

В двух словах, моя проблема в том, что мой телевизор Overscanning, и у меня нет никакой опции типа “Подгонка экрана” в телевизоре.

Телевизор модели Samsung LN32R71B, который, как я полагаю, выдает поврежденный файл EDID, так как мой файл /var/log/Xorg.0.log содержит строку “Неопределенный размер выхода”, связанную с этим файлом EDID. Также xrandr говорит, что выход HDMI1 (этот телевизор) имеет размер 160 мм x 90 мм, но я думаю, что это должно быть 710 мм x 400 мм, потому что он 32 дюйма и 16:9 (см. эту статью из Википедии). Кроме того, разрешения, которые показывает xrandr для HDMI1, совершенно отличаются от тех, что поддерживает телевизор (как указано в его мануале). Я пробовал вручную использовать разные официально поддерживаемые разрешения без успеха, например, выполнив:

cvt -v 1360 768 60.015
xrandr --newmode "1360x768_60.01"   84.75  1360 1432 1568 1776  768 771 781 798 -hsync +vsync
xrandr --addmode HDMI1 1360x768_60.01
xrandr --output HDMI1 --mode 1360x768_60.01

Также я пробовал использовать gtf вместо cvt, но это не сработало. Более того, я пытался исправить физический размер HDMI1 с помощью

xrandr --output HDMI1 --fbmm 710x400

, но это не сработало, так как выполнение xrandr продолжает говорить мне, что HDMI1 по-прежнему 160 мм x 90 мм. Можете помочь мне?

Р.S.: Я не полностью уверен, что файл EDID поврежден, потому что этот телевизор хорошо работает с компьютером на Windows…

Редактирование 0:

Моя система – Ubuntu 14.04 LTS 64-бит, и в информации о GPU,

sudo lshw -C display

возвращает

  *-display               
       описание: Совместимый контроллер VGA
       продукт: Интегрированная графика Broadwell-U
       производитель: Intel Corporation
       физический id: 2
       информация о шине: pci@0000:00:02.0
       версия: 09
       ширина: 64 бита
       такт: 33MHz
       возможности: msi pm vga_controller bus_master cap_list rom
       конфигурация: driver=i915 latency=0
       ресурсы: irq:68 память:c1000000-c1ffffff память:d0000000-dfffffff ioport:5000(размер=64)
  *-display
       описание: Контроллер дисплея
       продукт: Topaz XT [Radeon R7 M260]
       производитель: Advanced Micro Devices, Inc. [AMD/ATI]
       физический id: 0
       информация о шине: pci@0000:04:00.0
       версия: 00
       ширина: 64 бита
       такт: 33MHz
       возможности: pm pciexpress msi bus_master cap_list rom
       конфигурация: driver=fglrx_pci latency=0
       ресурсы: irq:70 память:b0000000-bfffffff память:c0000000-c01fffff ioport:3000(размер=256) память:c2000000-c203ffff память:c2040000-c205ffff

Это, вероятно, не поможет многим, но вот исправление xorg.conf для проприетарных драйверов nVidia. Не уверен, связано ли это с xrandr, и вы не упоминаете, какой GPU используете для подключения к телевизору.

https://askubuntu.com/a/491498/486441

Я также наткнулся на это:
Ubuntu 15.04 и ультраширокий монитор. Как установить максимальное разрешение? РЕД.: Решено!
используя xrandr, но необходимо было создать xorg.conf

Для записи, хотя это может быть полуполезно: у меня была аналогичная проблема, и я нашел здесь https://bbs.archlinux.org/viewtopic.php?id=171374, что это может быть связано с использованием адаптера. В моем случае я использовал адаптер DP-to-HDMI, и он действительно был ответственен за неправильное определение размеров экрана. Я мог решить это, не используя адаптер для этого экрана, но я предполагаю, что не у всех есть такая возможность :/

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

Как исправить физический размер дисплея в xrandr

Если у вас возникли проблемы с overscanning на вашем телевизоре Samsung LN32R71B и вы не можете правильно настроить его через интерфейс xrandr, это может быть вызвано несколькими факторами, включая некорректный EDID (Extended Display Identification Data). Ниже приведен пошаговый план, как исправить это, используя xrandr и другие утилиты.

1. Проверка EDID

Сначала необходимо удостовериться, действительно ли EDID вашего телевизора поврежден. Для этого:

  1. Выполните команду xrandr --verbose, чтобы увидеть дополнительные сведения о подключенных устройствах. Проверьте вывод на наличие сообщений о некорректном EDID.
  2. Если вы видите сообщения, подобные "Indeterminate output size", то вероятно, что EDID неправильно распознан.

2. Установка корректных параметров через xrandr

Так как ваш телевизор показывает размеры 160mm x 90mm вместо ожидаемых 710mm x 400mm, можем попробовать вручную задать размер:

  1. Используйте команду xrandr --output HDMI1 --fbmm 710x400 для установки физического размера. Имейте в виду, что это не всегда работает, если параметр EDID не соответствует действительности или драйвер не поддерживает изменения.

3. Создание нового режима отображения

Если предыдущий шаг не помог, попробуйте создать новый режим с правильным разрешением:

  1. Сначала создайте новый режим с помощью cvt. Например, чтобы создать режим для 1360×768:

    cvt 1360 768 60
  2. Затем добавьте созданный режим в xrandr:

    xrandr --newmode "1360x768_60.00"  84.75  1360 1432 1568 1776  768 771 781 798 -hsync +vsync
    xrandr --addmode HDMI1 1360x768_60.00
  3. Теперь активируйте этот режим:

    xrandr --output HDMI1 --mode 1360x768_60.00

4. Создание конфигурационного файла Xorg

Если ничего из вышеперечисленного не сработало, можно создать конфигурационный файл для Xorg, который поможет установить правильные параметры:

  1. Создайте файл /etc/X11/xorg.conf (если его нет) и добавьте в него следующие строки:

    Section "Monitor"
        Identifier "HDMI1"
        Option "DPMS"
        Modeline "1360x768_60.00"  84.75  1360 1432 1568 1776  768 771 781 798 -hsync +vsync
        Option "PreferredMode" "1360x768_60.00"
    EndSection
    
    Section "Screen"
        Identifier "Screen0"
        Monitor "HDMI1"
        Device "Device0"
        SubSection "Display"
            Modes "1360x768_60.00"
        EndSubSection
    EndSection
    
    Section "Device"
        Identifier "Device0"
        Driver "intel" # Укажите свой драйвер (intel, fglrx и т.д.)
    EndSection
  2. Перезагрузите систему, чтобы применить изменения.

5. Проверьте подключение и адаптеры

Иногда использование адаптеров (например, DP-to-HDMI) может приводить к некорректному определению разрешения. Если у вас есть возможность подключить HDMI напрямую без адаптеров, попробуйте это сделать.

Заключение

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

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

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