Вопрос или проблема
В двух словах, моя проблема в том, что мой телевизор 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 вашего телевизора поврежден. Для этого:
- Выполните команду
xrandr --verbose
, чтобы увидеть дополнительные сведения о подключенных устройствах. Проверьте вывод на наличие сообщений о некорректном EDID. - Если вы видите сообщения, подобные "Indeterminate output size", то вероятно, что EDID неправильно распознан.
2. Установка корректных параметров через xrandr
Так как ваш телевизор показывает размеры 160mm x 90mm вместо ожидаемых 710mm x 400mm, можем попробовать вручную задать размер:
- Используйте команду
xrandr --output HDMI1 --fbmm 710x400
для установки физического размера. Имейте в виду, что это не всегда работает, если параметр EDID не соответствует действительности или драйвер не поддерживает изменения.
3. Создание нового режима отображения
Если предыдущий шаг не помог, попробуйте создать новый режим с правильным разрешением:
-
Сначала создайте новый режим с помощью
cvt
. Например, чтобы создать режим для 1360×768:cvt 1360 768 60
-
Затем добавьте созданный режим в xrandr:
xrandr --newmode "1360x768_60.00" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync xrandr --addmode HDMI1 1360x768_60.00
-
Теперь активируйте этот режим:
xrandr --output HDMI1 --mode 1360x768_60.00
4. Создание конфигурационного файла Xorg
Если ничего из вышеперечисленного не сработало, можно создать конфигурационный файл для Xorg, который поможет установить правильные параметры:
-
Создайте файл
/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
-
Перезагрузите систему, чтобы применить изменения.
5. Проверьте подключение и адаптеры
Иногда использование адаптеров (например, DP-to-HDMI) может приводить к некорректному определению разрешения. Если у вас есть возможность подключить HDMI напрямую без адаптеров, попробуйте это сделать.
Заключение
Проблемы с overscanning и корявым EDID могут требовать различных подходов, в зависимости от конфигурации вашей системы и оборудования. В этом ответе рассмотрены основные шаги для исправления этих проблем с использованием xrandr и конфигурации Xorg. Надеюсь, что это поможет вам добиться нормальной работы вашего телевизора с Ubuntu.