Я недавно купил BenQ W600 + проектор, что я хотел бы использовать со своим ThinkPad T410 с графикой Nvidia под управлением Ubuntu 12.10. Родное разрешение проектора 1280x720 (т.е. 720 пунктов), но я не смог настроить драйвер Nvidia для фактического использования этого разрешения. Проектор подключен к порту VGA. Драйвер nvidia-current
(Я думаю).
Вот разрешения, предлагаемые параметрами настройки системы "Дисплеев". Обратите внимание, что 1280x720 не перечислен:
Я следовал за направлениями при "Добавлении необнаруженных разрешений" по wiki.ubuntu.com, но они приводят к ошибке:
xrandr --newmode "1280x720"x0.0 74.25 1280 1390 1430 1650 720 725 730 750 -hsync -vsync
xrandr --addmode VGA-0 1280x720x0.0
Вот сообщение об ошибке от второго xrandr
команда:
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 39
Current serial number in output stream: 40
Я также вижу это сообщение об ошибке в /var/log/Xorg.0.log
:
[ 2284.687] (WW) NVIDIA(GPU-0): Unable to read EDID for display device CRT-0
[ 2284.687] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[ 2284.687] (**) NVIDIA(0): device CRT-0 (Using EDID frequencies has been enabled on
[ 2284.687] (**) NVIDIA(0): all display devices.)
У меня есть другая машина, ThinkPad T510, с графикой Intel и выполнением более раннего релиза Ubuntu. На той машине хорошо работает проектор, и следующее появляется в файле журнала Xorg:
(II) intel(0): EDID vendor "BNQ", prod id 52737
(II) intel(0): Using hsync ranges from config file
(II) intel(0): Using vrefresh ranges from config file
(II) intel(0): Printing DDC gathered Modelines:
(II) intel(0): Modeline "1280x720"x0.0 74.25 1280 1390 1430 1650 720 725 730 750 -hsync -vsync (45.0 kHz)
nvidia-settings
программа столь же бесполезна. Опция "Acquire EDID" отображается серым:
И это также не предлагает 1280x720 разрешение:
У меня нет никого /etc/X11/xorg.conf
файл. Я действительно пытался работать nvidia-xconfig
для создания xorg.conf файла но это, казалось, сделало все намного хуже: проектор подошел только в 640x480, и курсор мыши вовлечет на одном из дисплеев. Когда X запускается с этого xorg.conf файла, я также получаю это всплывающее поле сообщения об ошибке:
Как я могу заставить проектор работать в 1280x720 над моим T410?
Для этого вам нужно использовать nvidia-settings . Не те настройки дисплея, которые предлагает Ubuntu. Это потому, что драйверы являются проприетарными и не очень дружелюбными, когда дело доходит до использования подобных вещей. Перед прочтением настоятельно рекомендую прочитать Как установить драйверы Nvidia?
Вот мой тестовый пример:
У меня есть видеопучок Epson и монитор компьютера. Без видеопотока это выглядит следующим образом:
Теперь, подключив видеопучок и нажав Определить дисплеи в разделе Конфигурация дисплея Nvidia показывает следующее:
Затем я перетаскиваю поля макета вокруг (те, которые представляют видеопучок и монитор) на мой вкус и разрешение. Таким образом, они выглядят так:
Убедитесь, что вы выбрали тот, который хотите видеть по умолчанию в качестве основного дисплея в нижней части варианты.
Теперь, если вы хотите, чтобы оба показывали одно и то же, вам нужно сначала убедиться, что оба экрана поддерживают одинаковое или хотя бы общее разрешение. В моем случае у меня есть это:
Видеопучок поддерживает все разрешения 4: 3 до 1280x1024
Телевизионный монитор поддерживает все разрешения 16: 9 до 1920x1080
Так что мне нужно найти самое высокое разрешение, где встречаются оба. Мой был 1280x720 или 1024x768. Чтобы сделать это проще, выберите Video Beam и выберите Clone , как показано на следующем изображении в опции «Position»:
Make уверен, что другой монитор (ТВ-монитор в моем случае) является основным. По крайней мере один из них должен быть Первичным, а другой - Клоном, чтобы работать.
Теперь начните выбирать необходимое разрешение. Если вы ошиблись, нажмите ESC kbd> и повторяйте, пока не найдете лучший вариант для монитора и видеопотока.
Опять же, все это должно быть сделано через панель настроек Nvidia. Не все карты Nvidia будут работать с настройками дисплея, которые есть в Ubuntu, поскольку проприетарные драйверы еще недостаточно дружественны, чтобы позволить настройкам дисплея работать правильно.
Успех!
После многих часов слепого дурачения с xorg.conf
и xrandr
, Я нашел решение, которое работает.
Проблема, кажется:
Таким образом решение состоит в том, чтобы обеспечить переопределение EDID. Я не мог найти один для моего конкретного дисплея, но я смог найти один для некоторого другого проектора на 720 пунктов.Работает!
После получения файла EDID и помещения его некоторое место, он установлен в xorg.conf
файл путем добавления строки как это к"Screen
"раздел xorg.conf:
Option "CustomEDID" "CRT-0:/path/to/edid.bin"
Здесь"CRT-0
"то, где проектор подключен: к порту VGA.
Еще одна дополнительная сложность - то, что я не мог на самом деле найти двоичный файл EDID. Вместо этого путем поиска "файла EDID на 720 пунктов", я нашел некоторые.INF файлы, которые содержат информацию EDID, извлеченную некоторой Windows-программой. Это Windows .ini файлы формата. Они содержат фактическую информацию EDID в блоке, который похож на это:
[OVERRIDDEN-EDID_AddReg]
;Base EDID
HKR,EDID_OVERRIDE,"0",0x01,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x3D,0xCB,0x81,0x07,0x00,0x00,0x00,0x0
0,0x00,0x11,0x01,0x03,0x80,0x6E,0x3E,0x78,0x0A,0xEE,0x91,0xA3,0x54,0x4C,0x99,0x26,0x0F,0x50,0x54,0x20,0x0
0,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x1D,0x00,0x7
2,0x51,0xD0,0x1E,0x20,0x6E,0x28,0x55,0x00,0x53,0x6F,0x42,0x00,0x00,0x1E,0x01,0x1D,0x80,0x18,0x71,0x1C,0x1
6,0x20,0x58,0x2C,0x25,0x00,0x53,0x6F,0x42,0x00,0x00,0x9E,0x00,0x00,0x00,0xFC,0x00,0x54,0x58,0x2D,0x53,0x5
2,0x38,0x30,0x35,0x0A,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0xFD,0x00,0x3B,0x3D,0x1E,0x2E,0x08,0x00,0x0A,0x2
0,0x20,0x20,0x20,0x20,0x20,0x01,0x5A
Для превращения этого в двоичный файл я записал следующий крошечный сценарий Python:
#!/usr/bin/python
# first item was 0x01
s = "0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x3D,0xCB,0x81,0x07,0x00,0x00,0x00,0x00,0x00,0x11,0x01,0x03,0x80,0x6E,0x3E,0x78,0x0A,0xEE,0x91,0xA3,0x54,0x4C,0x99,0x26,0x0F,0x50,0x54,0x20,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x1D,0x00,0x72,0x51,0xD0,0x1E,0x20,0x6E,0x28,0x55,0x00,0x53,0x6F,0x42,0x00,0x00,0x1E,0x01,0x1D,0x80,0x18,0x71,0x1C,0x16,0x20,0x58,0x2C,0x25,0x00,0x53,0x6F,0x42,0x00,0x00,0x9E,0x00,0x00,0x00,0xFC,0x00,0x54,0x58,0x2D,0x53,0x52,0x38,0x30,0x35,0x0A,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0xFD,0x00,0x3B,0x3D,0x1E,0x2E,0x08,0x00,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x01,0x5A"
s = "".join(map(lambda x : chr(int(x, 16)), s.split(",")))
f = open("edid.bin", "w")
f.write(s)
f.close()
Обратите внимание, что необходимо удалить первые три поля из строки в .inf файле: "HKR, EDID_OVERRIDE, "0", 0x01".
Чтобы проверить, что получающийся файл EDID был правильным, я использовал parse-edid
(часть read-edid
пакет):
tobin@thinktop:~/pathname/$ parse-edid edid.bin
parse-edid: parse-edid version 2.0.0
parse-edid: EDID checksum passed.
# EDID version 1 revision 3
Section "Monitor"
# Block type: 2:0 3:fc
Identifier "TX-SR805"
VendorName "ONK"
ModelName "TX-SR805"
# Block type: 2:0 3:fc
# Block type: 2:0 3:fd
HorizSync 30-46
VertRefresh 59-61
# Max dot clock (video bandwidth) 80 MHz
# DPMS capabilities: Active off:no Suspend:no Standby:no
Mode "1280x720" # vfreq 60.000Hz, hfreq 45.000kHz
DotClock 74.250000
HTimings 1280 1390 1430 1650
VTimings 720 725 730 750
Flags "+HSync" "+VSync"
EndMode
Mode "1920x540" # vfreq 60.053Hz, hfreq 33.750kHz
DotClock 74.250000
HTimings 1920 2008 2052 2200
VTimings 540 542 547 562
Flags "Interlace" "+HSync" "+VSync"
EndMode
# Block type: 2:0 3:fc
# Block type: 2:0 3:fd
EndSection
Таким образом, это казалось допустимым. Действительно, после перезапуска X-сервера, я смог войти в настройки Ubuntu Display и нажать "Detect Displays". Это видит мой поддельный 'дисплей' 50 дюймов ONKYO Corporation и счастливо управляет им в 1280x720. Требуемый еще один X сброса для получения всего работа.
... И это - то, почему мы любим Linux. (-:
Это был кабель VGA!
Я заменил 3-метровый кабель BELKIN на более короткий и, возможно, более качественный, и теперь драйверы Nvidia автоматически обнаруживают проектор BenQ и все остальное. работы.
По словам одного обозревателя Amazon, кабель BELKIN неисправен по конструкции :
Это хорошо сконструированный кабель, но в нем отсутствует вывод 9 и он не проходит EDID. данные мониторов / телевизоров с поддержкой технологии Plug and Play, поэтому не рекомендую приобретать их.
Я провел тестирование с использованием Dell Dimension 8250 (ATI 9700) и Dell Vostro 1500 (NVIDIA 8600), а также телевизора Samsung LE40B652 40 ", который был обнаружен как монитор" без Plug and Play "и правильно отображал разрешения до 1440 x 900 @ 60 Гц с этим кабелем VGA.
Качество изображения достаточно хорошее, но в наши дни основным требованием является то, чтобы кабель VGA поддерживал функции XP / Vista в режиме Plug and Play.
blockquote>