Я пытаюсь получить работу монитора со своим ноутбуком Ubuntu. Монитор является этим дешевым 27-дюймовым корейцем мониторы, который имеет 2560x1440 разрешение - и ничто иное. Вот некоторые спецификации этого монитора:
Так или иначе монитор работает красиво с моим рабочим столом Ubuntu, который имеет карту Nvidia с выводом DVI. Однако у меня есть проблема с помощью этого монитора с моим ноутбуком. После некоторого поиска вокруг я нашел немногие сообщения, предлагающий использовать активный адаптер для мини-порта дисплея, таким образом, я пошел и купил мини-дисплей двойному адаптеру DVI-D ссылки.. При использовании этого адаптера монитор распознан nvidia-settings
инструмент, но с неправильной информацией о разрешении.
Поскольку Вы видите, что монитор неправильно распознан и нет никакого другого разрешения, доступного установленному. Это сообщение на форумах человечности и это другое сообщение на разгоне оба предполагают, что монитор сообщает о поврежденном файле EDID. Я попытался следовать их инструкциям, но до сих пор я не смог отобразить любое изображение на мониторе от моего ноутбука.
Ноутбуком, который я использую, является ASUS G75VW с 1920x1080 экран. Это имеет VGA, HDMI 1.4a, и мини-порт дисплея. Видеокартой является Nvidia gforce gtx 660M с 2 ГБ специализированной памяти. Я работаю на Ubuntu 12.10 здесь, которую я обновляю от 12,04 несколько недель назад.
Как я сказал, я попробовал несколько предложений, включая определение Modeline
в xorg.conf
и также связываясь с файлами EDID я нашел из тех сообщений форума выше. Однако я не уверен, подходят ли файлы EDID, которые я нашел, для моего монитора. Я думаю, что решение моей проблемы состоит из получения файла EDID моего монитора и затем фиксации его и изменения xorg.conf
вынудить драйвер Nvidia загрузить корректное разрешение. Однако я не уверен, что ступает, я должен взять, чтобы сделать это.
Вот часть sudo xrandr --prop
вывод, который связан с этим монитором:
DP-1 connected 800x600+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
SignalFormat: DisplayPort
supported: DisplayPort
ConnectorType: DisplayPort
ConnectorNumber: 3 (0x00000003)
_ConnectorLocation: 3 (0x00000003)
800x600 60.3*+
Я ожидал видеть файл EDID в этом выводе, как был упомянут в этом сообщении, но это не там. Я также пытался добавить новое использование режима xandr
после этого документа.. Вот то, что я сделал и ошибка, которую я получил:
$ cvt 2560 1440 60
# 2560x1440 59.96 Hz (CVT 3.69M9) hsync: 89.52 kHz; pclk: 312.25 MHz
Modeline "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
$ xrandr --newmode "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
$ xrandr --addmode DP-1 "2560x1440_60.00"
X Ошибок неудавшегося запроса: BadMatch (атрибуты недопустимого параметра) Главный код операции неудавшегося запроса: 140 Незначительных кодов операции (RANDR) неудавшегося запроса: 18 Порядковых номеров (RRAddOutputMode) неудавшегося запроса: 39 Текущих порядковых номеров в потоке вывода: 40
Я понятия не имею, о чем эта ошибка. Я пытался добавить другой режим, на этот раз с помощью gtf
утилита вместо этого. Это не имело никакого значения. Вот вывод xrandr -q
:
xrandr -q
Screen 0: minimum 8 x 8, current 2720 x 1080, maximum 16384 x 16384
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
1920x1080 60.0*+ 40.0
DP-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected 800x600+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
800x600 60.3*+
2560x1440_60.00 (0x3f9) 312.2MHz
h: width 2560 start 2752 end 3024 total 3488 skew 0 clock 89.5KHz
v: height 1440 start 1443 end 1448 total 1493 clock 60.0Hz
2560x1440 (0x3fa) 311.8MHz
h: width 2560 start 2744 end 3024 total 3488 skew 0 clock 89.4KHz
v: height 1440 start 1441 end 1444 total 1490 clock 60.0Hz
И вот самая близкая вещь, которую я имею к работе xorg.conf
Section "ServerLayout"
# Removed Option "Xinerama" "0"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "DFP-3"
HorizSync 89.40
VertRefresh 60.00
#HorizSync 43.95
#VertRefresh 30.00
ModeLine "2560x1440_60" 311.83 2560 2744 3024 3488 1440 1441 1444 1490 -hsync +vsync
#ModeLine "2560x1440_30" 146.27 2560 2680 2944 3328 1440 1441 1444 1465 -hsync +vsync
Option "DPMS"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Chi Mei Optoelectronics corp."
HorizSync 44.4 - 67.1
VertRefresh 40.0 - 60.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 660M"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 660M"
BusID "PCI:1:0:0"
Screen 0
EndSection
Section "Screen"
Option "Stereo" "0"
#Option "NoLogo" "False"
#Option "UseEDID" "False"
#Option "UseEDIDDPI" "False"
#Option "UseEDIDFreqs" "False"
Option "metamodes" "2560x1440_60"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "ExactModeTimingsDVI" "True"
#Option "metamodes" "DFP-3: 2560x1440_60 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
# Removed Option "metamodes" "DFP-0: nvidia-auto-select +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: 1920x1080 +0+0; DFP-0: 1920x1080_60 +0+0; DFP-0: 1920x1080_40 +0+0; DFP-0: nvidia-auto-select @1920x1024 +0+0; DFP-0: nvidia-auto-select @1920x720 +0+0; DFP-0: nvidia-auto-select @1920x768 +0+0; DFP-0: nvidia-auto-select @1920x600 +0+0; DFP-0: nvidia-auto-select @1920x480 +0+0"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
#Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "DFP-0: nvidia-auto-select +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: 1920x1080 +0+0; DFP-0: 1920x1080_60 +0+0; DFP-0: 1920x1080_40 +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
#Section "Extensions"
# Option "Composite" "Disable"
#EndSection
После нескольких часов тонкой настройки X конфигураций я решил, что пришло время обратиться за помощью здесь. Я был бы очень признателен за, если кто-то с опытом относительно EDID и X конфигураций мог бы дать мне руку для решения этой проблемы.
У меня недавно была подобная проблема. Я, возможно, сделал пользовательский файл Xorg.conf, но это нарушит всю хорошую новую автоматическую конфигурацию, когда я соединился с другими мониторами.
Я переписал поврежденный EDID вместо этого:
Вот некоторые материалы чтения: касательно: https://en.wikipedia.org/wiki/Extended_display_identification_data#External_links
edid-rw: https://github.com/bulletmark/edid-rw (это могло бы работать на Вас... Я попробовал его и мог считать edid, но не мог записать?! Попробовать его сначала?)
Необходимо найти адрес i2c монитора:
i2cdetect-l
//ищите vga, в этом случае я добрался "1"
i2cdetect 1
//ищите адрес.. в этом случае только один.. Я получил 0x50
sudo i2cdump 1 0x50 b
//получите текущий edid
Я нашел список в Интернете для edid моего монитора как часть списка Xorg в сообщении ошибки. Поместите его в файл new.bin:
Контрольная сумма!.. Эта следующая строка должна выложить 0
$ x= (суммируют-s new.bin |, сокращают-d ""-f 1); повторите "% $x 256" |bc
С тех пор edid-rw выше не работал на меня, я изучил:
Я использовал это для записи edid:
ПРЕДУПРЕЖДЕНИЕ - ОПАСНЫЙ - Удостоверяется, что Ваши адреса i2c корректны и вставляют их ниже!
кошка new.bin | hexdump-v-e '"% sudo i2cset-y 1 0x50 0x _ топор 0x"/1 "%02X b\n"'
проверьте конечный результат:
(удостоверьтесь, что использовали информацию об адресе, которую Вы нашли выше использования i2cdetect вместо "1 0x50"),
sudo i2cdump 1 0x50 b> test.bin
кошка test.bin
$ x= (суммируют-s test.bin |, сокращают-d ""-f 1); повторите "% $x 256" |bc, должен возвратиться 0, если хороший