Сегодня мне пришёл из Китая переходник DisplayPort -> HDMI. Воткнул я его значит одним концом в ThinkPad x230t, а другим концом в свой монитор и... получил разрешение 1920х1080. А должно быть 2560х1080!
Полез в настройки разрешения KDE, а там нету нужного разрешения, максимум Full HD.
Попытался добавить сам:
$ gtf 2560 1080 60
# 2560x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 230.76 MHz
Modeline "2560x1080_60.00" 230.76 2560 2728 3000 3440 1080 1081 1084 1118 -HSync +Vsync
$ xrandr --newmode "2560x1080_60.00" 230.76 2560 2728 3000 3440 1080 1081 1084 1118 -HSync +Vsync
$ xrandr --addmode HDMI1 "2560x1080_60.00"
$ xrandr --output HDMI1 --mode "2560x1080_60.00"
xrandr: Configure crtc 0 failed
Во время выполнения последней команды изображение на мониторе мигает, но остаётся такого же разрешения, как и было.
В чём проблема? Я немного погуглил - сама по себе эта модель ThinkPad должна нормально поддерживать данное разрешение. Так что либо переходник плох (но он же вроде как просто пассивный, не?), либо просто EDID побился из-за переходника (когда я подключал данный монитор к другому ноутбуку по HDMI, то никаких проблем не было, значит монитор всё умеет отдавать), а я не умею его правильно добавлять.
Монитор ничего кроме HDMI не умеет, ThinkPad умеет только VGA и DisplayPort. А поскольку у VGA плохо с поддержкой таких больших разрешений + переходники VGA->HDMI очень дорогие (потому что не бывают пассивными), то DisplayPort->HDMI единственный вариант.
UPD: Вот что может сказать о данном мониторе тот ноутбук, который нормально работает с нужным разрешением: http://pastebin.com/k9AzGJdz
UPD2: Нашёл описание формата modeline, добавил новый режим следующим образом:
$ xrandr --newmode "2560x1080" 185.580 2560 2624 2688 2784 1080 1083 1093 1111 -HSync -VSync
$ xrandr --addmode HDMI1 "2560x1080"
$ xrandr --output HDMI1 --mode "2560x1080"
Монитор успешно переключился на правильное разрешение.
Теперь новая задача: как бы всё это по-корректнее прописать, чтобы не надо было вручную выполнять команды, но при этом дополнительное разрешение появлялось только для этого монитора, а не для всех, которые я подключу к HDMI.
UPD3: Насколько я понимаю, мне нужно создать в /etc/X11/xorg.conf.d файлик с таким содержанием:
Section "Monitor"
Identifier "Monitor0"
VendorName "LGD"
ModelName "???"
Modeline "2560x1080" 185.580 2560 2624 2688 2784 1080 1083 1093 1111 -HSync -VSync
Option "PreferredMode" "2560x1080"
EndSection
Но я не понимаю, откуда взять строку, которую нужно поставить вместо ???, а без этой опции правило будет реагировать на любые мониторы от LG, что плохо.
Вот что есть в логе иксов:
[ 9.227] (II) intel(0): EDID vendor "LGD", prod id 728
Но как указать prod id в качестве условия для конфига, либо как превратить prod id в ModelName?
UPD4: Ему плевать на кофиг почему-то.
$ cat /etc/X11/xorg.conf.d/99-lg-25um58.conf
Section "Monitor"
Identifier "Monitor0"
VendorName "LGD"
#ModelName "ULTRAWIDE"
Modeline "2560x1080" 185.580 2560 2624 2688 2784 1080 1083 1093 1111 -HSync -VSync
Option "PreferredMode" "2560x1080"
EndSection
Новое разрешение всё равно не добавляется, в логах нет ошибок.