LINUX.ORG.RU

openbsd i 830m: drm_edid_block_valid

 ,


0

1

Может тут кто подскажет. Есть ноутбук, Dell Latitude C400, cel1200/128, видео intel 830m

При запуске системы, при загрузке inteldrm - чёрный экран, система при этом работает дальше. В логе вот такое:

inteldrm0 at pci0 dev 2 function 0 "Intel 82830M Video" rev 0x04
drm0 at inteldrm0
intagp0 at inteldrm0
agp0 at intagp0: aperture at 0xe0000000, size 0x8000000
inteldrm0: irq 11
error: [drm:pid0:parse_device_mapping] *ERROR* Child device config size 22 is too small.
error: [drm:pid0:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 130
Raw EDID:
        00 ff ff ff ff ff ff 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
error: [drm:pid0:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 130
Raw EDID:
        00 ff ff ff ff ff ff 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
error: [drm:pid0:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 130
Raw EDID:
        00 ff ff ff ff ff ff 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
error: [drm:pid0:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 130
Raw EDID:
        00 ff ff ff ff ff ff 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
drm:pid0:drm_do_get_edid *WARNING* VGA-: EDID block 0 invalid.
inteldrm0: 1024x768, 32bpp
error: [drm:pid0:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO underrun

Если подключить внешний монитор, то на нём всё видно, можно запустить иксы (правда, не видно курсора мыши)).

xrandr

Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
VGA1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      60.00* 
   800x600       60.32    56.25  
   848x480       60.00  
   640x480       59.94  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

В openbsd без inteldrm (5.3 и ниже) оно запускается с текстовой консолью, откуда нормально запускаются иксы. В Debian c kms - тоже есть изображение (правда, оно постоянно кидает в dmesg ошибки с FIFO underrun).

Кто-нибудь знает, что это за edid, и как ему объяснить, чтобы нормально показывал на мониторе ноутбука?

EDID — информация о поддерживаемых монитором видеорежимах. По идее, хранится прямо в мониторе (в случае ноутбука — на контроллере панели) и передаётся видеоадаптеру при подключении монитора. Судя по логу, либо у этого ноутбука битый EDID, либо опёнковский inteldrm его не может нормально прочитать. Попробуй прочитать EDID из Debian, сохранить его в какой-нибудь EDID.bin и посмотреть, можно ли заставить inteldrm или иксы в опёнке брать EDID для определённого монитора из файла (в линуксе можно, ЕМНИП).

spijet ()

Минутка пессимизма:

Если опеньковский драйвер не может его считать, вполне вероятно, что он много чего еще не может на этом железе. Так что одним подсовыванием EDID дело вряд ли ограничится.

devzero ()
Ответ на: комментарий от devzero

Если опеньковский драйвер не может его считать, вполне вероятно, что он много чего еще не может на этом железе.

Драйвер inteldrm там линаксовый. в линаксе я тоже кучу подобных ошибок видел на разных форумах. потом прошло. в 6.2 как раз версию драйвера подняли, я думал, что теперь-то заживём. :)

Если отрубить модуль inteldrm, то можно запустить иксы на OpenBSD. при этом он видит только 732 кб видеопамяти и говорит *на 1024x768 их не хватает*, и запускает иксы на 640x480 :)

buratino ★★★ ()