LINUX.ORG.RU

Подключение нестандартного дисплея к raspberry pi (rapsbian)

 


0

1

Пытаюсь подключить матрицу 1440х1440 (от VR очков) к raspberry pi (raspbian) по HDMI. Нет изображения. С железом всё нормально, другие мониторы на этой малине показывают, матрица в винде без проблем работает. В config.txt ставил hdmi_safe=1 - не помогло. По идее дальше надо пробовать указать hdmi_mode принудительно, но в известных мне списках матриц с такими параметрами нет. В edid.dat содержится следующая информация:

Enabling fuzzy format match...

Parsing edid.dat...

HDMI:EDID version 1.3, 1 extensions, unknown aspect ratio

HDMI:EDID features - videodef 0x80 !standby !suspend !active

off; colour encoding:RGB444|YCbCr422; sRGB is not default colourspace; preferred format is native; does not support GTF

HDMI:EDID found monitor name descriptor tag 0xfc

HDMI:EDID monitor name is YongXing_____▒

HDMI:EDID found monitor S/N descriptor tag 0xff

HDMI:EDID found monitor range descriptor tag 0xfd

HDMI:EDID monitor range offsets: V min=0, V max=0, H min=0, H max=0

HDMI:EDID monitor range: vertical is 23-75 Hz, horizontal is 15-240 kHz, max pixel clock is 340 MHz

HDMI:EDID monitor range does not support GTF

HDMI:EDID failed to find a matching detail format for 1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

HDMI:EDID calculated refresh rate is 90 Hz

HDMI:EDID guessing the format to be 1440x1440p @85 Hz

HDMI:EDID found unknown detail timing format: 1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

HDMI:EDID established timing I/II bytes are 00 00 00

HDMI:EDID standard timings block x 8: 0x0000 0000 0000 0000 0000 0000 0000 0000

HDMI:EDID parsing v3 CEA extension 0

HDMI:EDID monitor support - underscan IT formats:no, basic audio:yes, yuv444:yes, yuv422:yes, #native DTD:4

HDMI:EDID failed to find a matching detail format for 1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

HDMI:EDID calculated refresh rate is 90 Hz

HDMI:EDID guessing the format to be 1440x1440p @85 Hz

HDMI:EDID found unknown detail timing format: 1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

HDMI:EDID failed to find a matching detail format for 1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

HDMI:EDID calculated refresh rate is 90 Hz

HDMI:EDID guessing the format to be 1440x1440p @85 Hz

HDMI:EDID found unknown detail timing format: 1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

HDMI:EDID failed to find a matching detail format for 1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

HDMI:EDID calculated refresh rate is 90 Hz

HDMI:EDID guessing the format to be 1440x1440p @85 Hz

HDMI:EDID found unknown detail timing format: 1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

HDMI:EDID failed to find a matching detail format for 1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

HDMI:EDID calculated refresh rate is 90 Hz

HDMI:EDID guessing the format to be 1440x1440p @85 Hz

HDMI:EDID found unknown detail timing format: 1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

HDMI:EDID failed to find a matching detail format for 1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

HDMI:EDID calculated refresh rate is 90 Hz

HDMI:EDID guessing the format to be 1440x1440p @85 Hz

HDMI:EDID found unknown detail timing format: 1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

HDMI:EDID does not understand CEA format code 0

HDMI:EDID does not understand CEA format code 0

HDMI:EDID does not understand CEA format code 0

HDMI:EDID does not understand CEA format code 0

HDMI:EDID does not understand CEA format code 0

HDMI:EDID does not understand CEA format code 0

HDMI:EDID does not understand CEA format code 0

HDMI:EDID found audio format 2 channels PCM, sample rate: 32|44|48|88|96|176|192 kHz, sample size: 16|20|24 bits

HDMI:EDID found HDMI VSDB length 6

HDMI:EDID HDMI VSDB has physical address 3.0.0.0

HDMI:EDID HDMI VSDB supports AI:yes, dual link DVI:no

HDMI:EDID HDMI VSDB deep colour support - 48-bit:no 36-bit:no 30-bit:no DC_yuv444:no

HDMI:EDID HDMI VSDB has no latency information

HDMI:EDID adding mandatory support for DMT (4) 640x480p @ 60Hz

HDMI:EDID adding mandatory support for CEA (1) 640x480p @ 60Hz

HDMI:EDID filtering formats with pixel clock > 162 MHz or h. blanking > 1023

HDMI:EDID no known preferred format has been set

HDMI:EDID filtering preferred group has been changed from Invalid to CEA

HDMI:EDID best score mode initialised to CEA (1) 640x480p @ 60 Hz with pixel clock 25 MHz (score 0)

HDMI:EDID best score mode is now CEA (1) 640x480p @ 60 Hz with pixel clock 25 MHz (score 61864)

HDMI:EDID DMT mode (4) 640x480p @ 60 Hz with pixel clock 25 MHz has a score of 18432

HDMI:EDID preferred mode is updated to CEA (1) 640x480p @ 60 Hz with pixel clock 25200000 Hz

HDMI:EDID has HDMI support and audio support /opt/vc/bin/edidparser exited with code 0

Как заставить работать? Спасибо!



Последнее исправление: VladM (всего исправлений: 1)

У меня нет Rpi и ничего не знаю про них. Вот эти строчки меня смущают.

HDMI:EDID failed to find a matching detail format for 
1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz
HDMI:EDID filtering formats with pixel clock > 162 MHz or h. blanking > 1023

Почему filtering > 162 MHz? Больше просто не может? Ну, тогда Modeline с 198 MHz он и не может показать, а этот режим 1440 на 1440 именно такой параметр и имеет. Поэтому отбрасывает этот режим и выбирает из стандартных умолчательный.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)

Можешь распарсенный EDID монитора показать? В Linux можно edid-decode. В виндах не знаю. Какую-нибудь информацию о таймингах этого монитора на этом режиме.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от VladM

xrandr лаконично сообщил Can't open display

Потому что иксов нет.

Zubok ★★★★★
()
Ответ на: комментарий от VladM

А как? Я думал, что я его и выложил. /opt/vc/bin/tvservice -d edid.dat /opt/vc/bin/edidparser edid.dat

А-а-а, ну просто вывод непривычный. Надо разобраться.

HDMI:EDID found unknown detail timing format: 
1440x1440p hfp:50 hs:8 hbp:15 vfp:8 vs:2 vbp:6 pixel clock:198 MHz

Тогда он прочел формат какой-то. Только надо понять, что у них тут за цифры. Считаю.

(1440+50+8+15)*(1440+8+2+6)*90=198263520

Все верно. Режим на 90 Гц просит 198 МГц pixel clock. А в виндах какой refresh rate выставляется? 90 или 85? На 85 было бы поменьше pixel clock. Но вот остается открытым вопрос, тянет ли это малина.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

Знаю только, что 2к матрицу (2560х1440) малина тянет только на 30 Гц. Эту скорее всего тоже. Как понизить? 2к 5.5" у меня кстати без танцев подключались.

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

Знаю только, что 2к матрицу (2560х1440) малина тянет только на 30 Гц.

Ну вот этот режим, если бы был на 60 Гц, то просил бы большее 220 МГц! Я думаю, что малина просто не тянет. На 30 Гц вполне. Будет не больше 150 МГц. То есть я полагаю, что малина больше pixel clock > 162 MHz просто тупо не тянет (есть спецификация? Какая у тебя?). Вот на 1440x1440@60Hz вполне бы потянула. Насчет 85 Гц не уверен. Скорее, нет.

Zubok ★★★★★
()
Ответ на: комментарий от VladM

2к 5.5" у меня кстати без танцев подключались.

Она подключилась, наверное, потому что в EDID была информация о режиме с пониженной частотой. Глянь EDID той матрицы, кстати. А в этом мониторе прописан тупо только один modeline, и больше ничего. Еще, кстати, не факт, что шаманство с custom modeline приведет к успеху. Этот монитор может так быть сделан, что опознает только вот этот режим, а какие-то нестандартные просто нет. Просто тупо ничего не покажет, например.

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

У меня raspberry pi 3 b+ Меня и 30 Гц устроит. Вопрос, как понизить? 1440х1440 30 гц точно потянет, раз 2к 30 гц тянет.

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

Вопрос, как понизить? 1440х1440 30 гц точно потянет, раз 2к 30 гц тянет.

Малина и 60Гц на этом режиме потянет, скорее всего. Понизить - пробовать подобрать Modeline. Можно сперва взять те же самые параметры, что и в этом режиме. Тогда просто на 60 Гц pixel clock станет 132.17568 МГц. Ее и указать, а остальные параметры так же оставить. Такая частота, скорее всего, пройдет. Монитор может тогда показать, но может и не показать.

Zubok ★★★★★
()
Ответ на: комментарий от VladM

2к нет под рукой сейчас.

Ну хотя бы к виндам подключи этот 1440 на 1440 и посмотри, что он фактически установил, какие тайминги. (не знаю, где это там можно посмотреть - может, драйвер видяхи пишет). А в виндах он может понизить частоту на этом мониторе до 60 Гц?

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от VladM

Пардон за нубский вопрос, а как и где подбирать Modeline ?

В иксах я знаю как - через xorg.conf и секцию «Monitor», там есть возможность прописать Modeline.

В ядре вроде бы только подсовывание самостоятельно сделанного файла EDID можно. То есть программка, которая делает EDID, нужна. Срисовать этот, поправить и создать новый edid.bin. Дальше читай доки, что делать дальше с ним, как его подсунуть ядру.

https://wiki.archlinux.org/index.php/kernel_mode_setting#Forcing_modes_and_EDID

Zubok ★★★★★
()
Ответ на: комментарий от VladM

Винда предлагает только 90 Гц. Больше никакой информации не нашел

Вот именно. Этот монитор больше никаких режимов у себя в EDID и не содержит. Один единственный. Винда его, как и Linux, прочла и только его предлагает. Были бы еще какие-то режимы, скажем, на 60 Гц или на 30 Гц, он бы показал. Поэтому RPi пытается поставить умолчательный режим из стандартных, так как этот ей не по зубам. Так бы и сделала винда, если бы этот режим видеокарта не смогла поддерживать. В общем, надо пробовать снижать refresh rate, считать свой Modeline и подсовывать. Но успех не гарантируется. На нестандартные режимы монитор может ругаться и ничего не показывать.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от VladM

Я тебе напишу один modeline, с которым можешь начать пробовать, но втягиваться в процесс дальше не буду.

Modeline "1440x1440_60.00" 132.17568 1440 1490 1498 1513 1440 1448 1450 1456 +hsynv +vsync

Это я взял текущие тайминги, пересчитал pixel clock под 60 Гц. полярность +hsync и +vsync написал наугад. То есть тайминги я не менял.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)

Инженер raspberry отвечает:

https://www.raspberrypi.org/forums/viewtopic.php?f=26&t=20155&p=19544...

No. That is the list of all the standard CEA/DMT modes. Additionally there is a pixel clock limit which means modes bigger than 1920x1200@60 are not supported.

[You could try overclocking the pixel clock with hdmi_pixel_freq_limit=<freq> int config.txt, where the default limit is 162000000, but that is untested and unsupported]

Умолчательный лимит 162 МГц. Предлагает попробовать оверклокинг сделать, но это не тестировалось и (не поддержиается - тут я не понял, что имеет в виду).

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

Умолчательный лимит 162 МГц. Предлагает попробовать оверклокинг сделать, но это не тестировалось и (не поддержиается - тут я не понял, что имеет в виду).

Можешь тупо поробовать поставить 200000000 и посмотреть, что будет. Если ничего не будет, то, значит, этот overclocking не работает нифига.

Zubok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.