Официальный форум СВД Встраиваемые Системы
23 Апрель, 2024, 15:29:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2   Вниз
  Печать  
Автор Тема: QNX 4.25, Pg.intelhd и девайс 0x116  (Прочитано 1580 раз)
denis_73
Пользователь

Сообщений: 29


« : 19 Сентябрь, 2019, 06:44:52 »

QNX 4.25
vendor 0x8086, device 0x116
Монитор 1920 на 1080 пикселей.
Сгенерировал тайминги umc
1920 на 1080, 60 Гц с драйвером Pg.intelhd нормальное изображение для 16-битного цвета получилось, а для 32-битного не получилось.
Что делать?
« Последнее редактирование: 19 Сентябрь, 2019, 06:51:11 от denis_73 » Записан
Андрей Докучаев
Сотрудник СВД ВС
Легенда

Сообщений: 1075



WWW
« Ответ #1 : 19 Сентябрь, 2019, 08:57:26 »

Нужно более детальное описание происходящего.
Записан

denis_73
Пользователь

Сообщений: 29


« Ответ #2 : 20 Сентябрь, 2019, 12:26:50 »

Изображение мигает и поверх тёмная полоса ползёт снизу вверх.
На 32 бита даже flatdc32 1280x1024 глючит, но по-другому: внизу полоса с мусором.

QNX 4.25R 2015 года.

Монитор BENQ GL2250, 1920x1080.

show-pci:
Class          = Display (VGA)
Vendor ID      = 8086h, INTEL CORPORATION
Device ID      = 116h,
PCI index      = 0h
                 MEM @ f7400000h MEM @ e0000000h IO @ f000h
PCI Int Pin    = INT A
Interrupt line = 10


crtc-settings:
xres=1920,yres=1080,refresh=60,pclock=138500,hpol=1,vpol=0,htotal=2080,hblank_start=1920,hblank_len=160,hsync_start=1968,hsync_len=32,vtotal=1111,vblank_start=1080,vblank_len=31,vsync_start=1083,vsync_len=4


crt:

16 бит работает:
Null.ms;Pg.intelhd -g1920x1080x16 -d0x8086,0x116 -I0 -HNqnx/crt -R60;#1920,1080,16,200,0BDr,intelhd - Intel Celeron U3xxx/P4xxx/G5x0/B710/B8x0, Pentium U5xxx/P6xxx/G6xx/G8xx/B8x0/B9x0, Core i3/i5/i7, Xeon E3-12xx.

32 бита глючит:
Null.ms;Pg.intelhd -g1920x1080x32 -d0x8086,0x116 -I0 -HNqnx/crt -R60;#1920,1080,32,200,0BDr,intelhd - Intel Celeron U3xxx/P4xxx/G5x0/B710/B8x0, Pentium U5xxx/P6xxx/G6xx/G8xx/B8x0/B9x0, Core i3/i5/i7, Xeon E3-12xx.

« Последнее редактирование: 20 Сентябрь, 2019, 14:34:28 от denis_73 » Записан
Андрей Докучаев
Сотрудник СВД ВС
Легенда

Сообщений: 1075



WWW
« Ответ #3 : 20 Сентябрь, 2019, 15:18:14 »

По описанию похоже, что требуемая пропускная способность памяти и dma выше поддерживаемого предела этого железа. В части переключения режимов 16 и 32 бита отличаются 1 полем в пару бит. Меньшие разрешения на 32-х битах заводятся - например 1280x1024?
« Последнее редактирование: 20 Сентябрь, 2019, 15:19:56 от Андрей Докучаев » Записан

denis_73
Пользователь

Сообщений: 29


« Ответ #4 : 20 Сентябрь, 2019, 16:45:23 »

1280x1024 на Pg.intelhd не пробовал, а про flatdc32 выше писал.

Ещё мне показалось, что и 16 бит FullHD напрямую с первого раза на мониторе не запустить вообще, поэтому первый раз запускал Фотон с flatdc 1280x1024 16 бит и в нём переключал на Pg.intelhd 1920x1080 16 бит - монитор, как мне показалось, при этом что-то делал, вроде двигал изображение туда-сюда немного, наверно автонастройка. Следующий раз Фотон напрямую уже запускался в 1920x1080 16 бит.
« Последнее редактирование: 22 Сентябрь, 2019, 03:18:02 от denis_73 » Записан
denis_73
Пользователь

Сообщений: 29


« Ответ #5 : 22 Сентябрь, 2019, 16:10:40 »

Может, другой драйвер нужен?
Записан
Андрей Докучаев
Сотрудник СВД ВС
Легенда

Сообщений: 1075



WWW
« Ответ #6 : 22 Сентябрь, 2019, 21:44:59 »

Нужно попробовать Pg.intelhd в режиме 1280x1024 при глубине цвета 32 бита.
Записан

denis_73
Пользователь

Сообщений: 29


« Ответ #7 : 23 Сентябрь, 2019, 12:44:12 »

intelhd на 1280x1024 вроде нормально работает и на 16 бит и на 32 бита.
Записан
denis_73
Пользователь

Сообщений: 29


« Ответ #8 : 23 Сентябрь, 2019, 13:49:50 »

На другом таком же компьютере но с Нейтрино - intelhd, 1920x1080, 60 Гц, Курсор hardware - нормально работает и 64K и 16M (+ 8 bit alpha).
Записан
Андрей Докучаев
Сотрудник СВД ВС
Легенда

Сообщений: 1075



WWW
« Ответ #9 : 23 Сентябрь, 2019, 13:53:55 »

Предварительное резюме не утешительное. Поскольку эксперименты с Pg.intelhd в режимах 1280x1024 (16/32 бита) и 1920x1080 (16 бит) дают положительный результат с высокой вероятностью драйвер режим включает правильно. С другой стороны согласно документации на этот чип производительности ему должно хватать на один дисплей 1920x1080 (32).

То, что наблюдается на скриншотах позволяет позволяет утверждать следующее:
- пиксельных артефактов при выводе изображения нет (что также указывает на корректно включенный режим);
- линия на экране скорее указывает на то, что DMA контроллера дисплеев не поспевает на частотой развертки. Поскольку производительности железа должно хватать на этот режим можно предположить либо медленную/битую память, либо какой-то сумасшедший overclocking.

В любом случае что тут можно было бы исправлять в драйвере у меня мыслей сейчас нет.

P.S. На этом железе будет работать либо intelhd, либо flat, либо svga.
Записан

Андрей Докучаев
Сотрудник СВД ВС
Легенда

Сообщений: 1075



WWW
« Ответ #10 : 23 Сентябрь, 2019, 14:01:08 »

На другом таком же компьютере но с Нейтрино - intelhd, 1920x1080, 60 Гц, Курсор hardware - нормально работает и 64K и 16M (+ 8 bit alpha).

Pg.intelhd в последних версиях QNX 4.25 - это back-портированный из шестерки драйвер. Т.е. в этой части там все эквивалентно.
« Последнее редактирование: 23 Сентябрь, 2019, 14:06:52 от Андрей Докучаев » Записан

denis_73
Пользователь

Сообщений: 29


« Ответ #11 : 23 Сентябрь, 2019, 15:29:35 »

Может, версии разные?
В QNX 4 файл Pg.intelhd, 320,447 байт, 20 июня 2013 года.
Или, может, в crtc-settings надо что-то менять?
Записан
Андрей Докучаев
Сотрудник СВД ВС
Легенда

Сообщений: 1075



WWW
« Ответ #12 : 23 Сентябрь, 2019, 16:03:08 »

Поставьте на проблемном железе версию ОС, в которой проблем нет и проверьте.
Записан

denis_73
Пользователь

Сообщений: 29


« Ответ #13 : 23 Сентябрь, 2019, 17:34:48 »

Нашёл на компьютере с QNX 6 crtc-settings, а в нём - совсем другая строка для 1920x1080 60 Гц, чем у меня сгенерированная umc:

xres=1920,yres=1080,refresh=60,pclock=173261,hpol=0,vpol=1,htotal=2576,hblank_start=1920,hblank_len=656,hsync_start=2040,hsync_len=208,vtotal=1121,vblank_start=1080,vblank_len=41,vsync_start=1084,vsync_len=4

umc --rbt, как уже писал, генерировало:

xres=1920,yres=1080,refresh=60,pclock=138500,hpol=1,vpol=0,htotal=2080,hblank_start=1920,hblank_len=160,hsync_start=1968,hsync_len=32,vtotal=1111,vblank_start=1080,vblank_len=31,vsync_start=1083,vsync_len=4


Попробовал подставить её на компьютерах с QNX 4 - на двух заработало 1920x1080 32 бита, а на следующих двух экран покрылся снегом. Непонятно, в чём разница, возможно, в разном порядке переключал режимы...
« Последнее редактирование: 24 Сентябрь, 2019, 10:18:19 от denis_73 » Записан
Андрей Докучаев
Сотрудник СВД ВС
Легенда

Сообщений: 1075



WWW
« Ответ #14 : 23 Сентябрь, 2019, 19:40:23 »

Изначально тайминги для режима генерировали с опцией "umc --rbt"?
Записан

Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2024 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 22 Апрель, 2024, 17:14:24