nVidia, ATI, SIS, VIA и др.
Модератор: Модераторы разделов
pol01
Сообщения: 94
Сообщение
pol01 » 27.09.2012 23:45
Монитор возвращает неправильные данные EDID. В логах xorg есть вот такие строчки:
Код: Выделить всё
[ 16447.638] (WW) NVIDIA(GPU-0): The EDID read for display device DFP-0 is invalid: the
[ 16447.638] (WW) NVIDIA(GPU-0): checksum for EDID version 1 extension is invalid.
[ 16447.638] (--) NVIDIA(GPU-0):
[ 16447.638] (--) NVIDIA(GPU-0): Raw EDID bytes:
[ 16447.638] (--) NVIDIA(GPU-0):
[ 16447.638] (--) NVIDIA(GPU-0): 00 ff ff ff ff ff ff 00 04 68 fa 00 00 00 00 00
[ 16447.638] (--) NVIDIA(GPU-0): 28 15 01 03 a5 3c 22 78 22 6f b1 a7 55 4c 9e 25
[ 16447.638] (--) NVIDIA(GPU-0): 0c 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
[ 16447.638] (--) NVIDIA(GPU-0): 01 01 01 01 01 01 56 5e 00 a0 a0 a0 29 50 30 20
[ 16447.638] (--) NVIDIA(GPU-0): 35 00 55 50 21 00 00 1a 00 00 00 fc 00 51 48 44
[ 16447.638] (--) NVIDIA(GPU-0): 32 37 30 0a 20 20 20 20 20 20 00 00 00 fc 00 51
[ 16447.638] (--) NVIDIA(GPU-0): 48 44 32 37 30 0a 20 20 20 20 20 20 00 00 00 fc
[ 16447.638] (--) NVIDIA(GPU-0): 00 51 48 44 32 37 30 0a 20 20 20 20 20 20 01 b0
[ 16447.638] (--) NVIDIA(GPU-0): 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 16447.638] (--) NVIDIA(GPU-0): ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 16447.638] (--) NVIDIA(GPU-0): ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 16447.638] (--) NVIDIA(GPU-0): ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 16447.638] (--) NVIDIA(GPU-0): ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 16447.638] (--) NVIDIA(GPU-0): ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 16447.638] (--) NVIDIA(GPU-0): ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 16447.638] (--) NVIDIA(GPU-0): ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 16447.638] (--) NVIDIA(GPU-0): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 16447.638] (--) NVIDIA(GPU-0): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 16447.638] (--) NVIDIA(GPU-0): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 16447.638] (--) NVIDIA(GPU-0): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 16447.638] (--) NVIDIA(GPU-0): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 16447.638] (--) NVIDIA(GPU-0): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 16447.638] (--) NVIDIA(GPU-0): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 16447.638] (--) NVIDIA(GPU-0): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 16447.638] (--) NVIDIA(GPU-0):
Как из этих значений получить бинарный файл с данными EDID?
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64
Сообщение
flank'er » 28.09.2012 09:24
nvidia-settings там есть кнопка "Acquire EDID" в свойствах монитора
pol01
Сообщения: 94
Сообщение
pol01 » 28.09.2012 22:42
flank'er писал(а): ↑ 28.09.2012 09:24
nvidia-settings там есть кнопка "Acquire EDID" в свойствах монитора
Посмотрел у себя, установлены: nv-control v.1.27, nvidia-drivers-295.71. Не нашел такой кнопки. Можно скриншот выложить?
pol01
Сообщения: 94
Сообщение
pol01 » 28.09.2012 23:49
Какая у вас версия nv-control? (на вкладке X Server Information)
У меня версия 1.27. Такой кнопки в ней нет. Может быть потому, что у меня EDID правильно не читается?
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64
Сообщение
flank'er » 29.09.2012 01:15
в феврале я ставил драйвер NVIDIA-Linux-x86_64-295.20.run и там эта опция была.
pol01
Сообщения: 94
Сообщение
pol01 » 29.09.2012 10:59
А другие способы существуют? Если у нас есть текстовый файл, в котором записаны байты данных EDID, его можно конвертировать в бинарный файл, ссылку на который затем укажем в xorg.conf?
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64
Сообщение
flank'er » 29.09.2012 11:06
только не понятно зачем. если edid не проходит, указываешь модлайн и все дела.
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:
Сообщение
drBatty » 29.09.2012 12:51
pol01 писал(а): ↑ 27.09.2012 23:45
Как из этих значений получить бинарный файл с данными EDID?
ну например так:
Код: Выделить всё
#!/usr/bin/php
<?php
$fd = fopen("text.txt", "r");
$ofd = fopen("text.bin", "w");
if(!$fd || !$ofd)
exit("Can't open file.");
while(($s = fgets($fd)) !== FALSE)
{
if(preg_match("/([[:xdigit:]]{2}\s+){15}[[:xdigit:]]{2}\s*$/", $s))
{
$s = preg_replace("/.*(([[:xdigit:]]{2}\s+){15}[[:xdigit:]]{2})\s*$/", "$1", $s);
$a = explode(" ", $s);
$os = '';
foreach($a as $b)
{
$b = trim($b);
if($b == '')
continue;
$os .= chr("0x$b");
}
fwrite($ofd, $os);
}
}
fclose($ofd);
fclose($fd);
?>
pol01
Сообщения: 94
Сообщение
pol01 » 01.10.2012 23:41
drBatty писал(а): ↑ 29.09.2012 12:51
pol01 писал(а): ↑ 27.09.2012 23:45
Как из этих значений получить бинарный файл с данными EDID?
ну например так:
Код: Выделить всё
#!/usr/bin/php
<?php
$fd = fopen("text.txt", "r");
$ofd = fopen("text.bin", "w");
if(!$fd || !$ofd)
exit("Can't open file.");
while(($s = fgets($fd)) !== FALSE)
{
if(preg_match("/([[:xdigit:]]{2}\s+){15}[[:xdigit:]]{2}\s*$/", $s))
{
$s = preg_replace("/.*(([[:xdigit:]]{2}\s+){15}[[:xdigit:]]{2})\s*$/", "$1", $s);
$a = explode(" ", $s);
$os = '';
foreach($a as $b)
{
$b = trim($b);
if($b == '')
continue;
$os .= chr("0x$b");
}
fwrite($ofd, $os);
}
}
fclose($ofd);
fclose($fd);
?>
Сделал бинарный файл с помощью вашего скрипта. Бинарный файл прописал в опциях xorg. В логе всё равно пишет, что не совпадает контрольная сумма:
Код: Выделить всё
[ 6818.585] (**) NVIDIA(0): Option "CustomEDID" "DFP-0:/etc/X11/text.bin"
122 [ 6818.586] (**) NVIDIA(0): Enabling 2D acceleration
123 [ 6820.090] (WW) NVIDIA(GPU-0): The EDID read for display device DFP-0 is invalid: the
124 [ 6820.090] (WW) NVIDIA(GPU-0): checksum for EDID version 1 extension is invalid.
Вот сами файлы (у бинарного файла расширение .txt удалите):
Проверку с помощью parse-edid text.bin проходит:
Код: Выделить всё
$ parse-edid < text.bin
parse-edid: parse-edid version 2.0.0
parse-edid: EDID checksum passed.
Но xserver с ним не работает.
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:
Сообщение
drBatty » 02.10.2012 11:39
pol01 писал(а): ↑ 01.10.2012 23:41
checksum for EDID version 1 extension is invalid.
ну тут я не в курсе...
если сравнить, то вот как оно
Код: Выделить всё
00000000 00 ff ff ff ff ff ff 00 04 68 fa 00 00 00 00 00 |.........h......|
00000010 28 15 01 03 a5 3c 22 78 22 6f b1 a7 55 4c 9e 25 |(....<"x"o..UL.%|
00000020 0c 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 |.PT.............|
00000030 01 01 01 01 01 01 56 5e 00 a0 a0 a0 29 50 30 20 |......V^....)P0 |
00000040 35 00 55 50 21 00 00 1a 00 00 00 fc 00 51 48 44 |5.UP!........QHD|
00000050 32 37 30 0a 20 20 20 20 20 20 00 00 00 fc 00 51 |270. .....Q|
00000060 48 44 32 37 30 0a 20 20 20 20 20 20 00 00 00 fc |HD270. ....|
00000070 00 51 48 44 32 37 30 0a 20 20 20 20 20 20 01 b0 |.QHD270. ..|
00000080 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
00000090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
00000100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000180
Код: Выделить всё
00 ff ff ff ff ff ff 00 04 68 fa 00 00 00 00 00
28 15 01 03 a5 3c 22 78 22 6f b1 a7 55 4c 9e 25
0c 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 56 5e 00 a0 a0 a0 29 50 30 20
35 00 55 50 21 00 00 1a 00 00 00 fc 00 51 48 44
32 37 30 0a 20 20 20 20 20 20 00 00 00 fc 00 51
48 44 32 37 30 0a 20 20 20 20 20 20 00 00 00 fc
00 51 48 44 32 37 30 0a 20 20 20 20 20 20 01 b0
00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
вроде одинаково...