Показать сообщение отдельно
Старый 12.07.2008, 21:59   #1
slden
Старший Пользователь
 
Регистрация: 05.12.2006
Город: Тула
Регион: 71
Машина: Range Rover\Acura MDX
Сообщений: 177
slden is just really niceslden is just really niceslden is just really niceslden is just really nice
По умолчанию Custom Resolutions on Intel Graphics

Этот топик может быть полезен тем, кто в своем проекте CarPC ориентируется на использование UMPC с подключением non-DDC монитора. К категории non-DDC относятся мониторы штатных навигаций и большинство китайских поделок для автомобильных нужд. Подобная концепция реализуется в моем проекте Acura MDX.
Суть проблемы: интеловская графика (i910, i915, i945...), оккупировавшая привлекательный рынок UMPC, не имеет адаптивного инструментария настройки пользовательских разрешений для non-DDC мониторов и, особенно, мониторов с черезстрочной разверткой.
Решаемая задача: подключение монитора штатной навигации (interlaced, pixelclock <20MHz) к Asus eeePC 701 4G. Всеми любимый PowerStrip от EnTech не справляется с поставленной задачей.
За период работы (пляски с бубнами) над темой:
- внимательно изучены имеющиеся интернет ресурсы. Особо следует отметить наличие полезной, но неисчерпывающей иформации на AVS Forum и Intel® Software Network Knowledge Base Wiki. Да еще заслуживает внимания этот блог, хотя автор и отказался решить задачку за несколько баксов;
- проработана техническая документация на чипсет Intel® Graphics Media Accelerator 900 Series Software Developer's Guide;
- проведена генерация пользовательских драйверов в соответствии с Intel® Embedded Graphics Drivers and Video BIOS v8.0.
Много буковок и никакого результата! В документации нет прямых ограничений на работу чипсета в нужном нам режиме. Не могут они композитную синхронизацию выдавать на CRT порт - это прописано, а про interlaced молчок. Должен работать и не работает! Постепенно осознание проблемы сузилось на некорректной работе связки VBIOS\драйвер. Девелоперы от интела вводят ограничения на пользовательские разрешения исходя из легенды, что ими можно вывести из строя монитор. Но все же - где собака зарыта? Не в драйвере - генерация пользовательского не дает результата. Значит VBIOS, почему-то не нравятся ему тайминги с pixelclock <20MHz. Задача генерации пользовательского VBIOS решаема, но отнимет уйму времени, которого нет. Уже хотел прекратить пляски, но тут натолкнулся на форум любителей подключеня PC к мониторам игральных автоматов. И проблема схожая и утилитка соответствующая есть Soft15khz. Поставил ее не глядя - появилась куча дополнительных возможных разрешений, но нужного нет. Подправил реестр и монитор заработал! При этом LVDS в режиме 800х480р, а CRT -720х480i. Повторяемости получить не удалось, но вынес главное - задача решаема. И решение оказалось очень простым. Ниже приведена методика, которая может быть использована для всего ряда интеловских чипсетов (с родными драйверами) при подключении non-DDC мониторов.
Для экспериментов нам необходимо иметь:
- значения таймингов для планируемых разрешений non-DDC монитора;
- DTD калькулятор от Clevertechnologies;
- PowerStrp, не очень старый. У меня 3.78 b616;
- не обязательно, но может пригодиться заглушка на D-Sub15.
Приступаем к танцу, тьфу - к операции.
Пациент, ничего выдающегося - стандартная комплектация, лицензионная ось. Испытания проводились и на обрезанной. Результат аналогичен и на тему не влияет.



Чипсет 910, штатные дравера



Делаем необходимую пластику реестру. Штатным Regedit. Ищем ключи, содержащие TotalDTDCount



Изменяем найденное значение 0 на 5. Заменить эти значения надо во всех строчках реестра (их 18). Так что F3 жать не забываем. Указанная операция позволит нам создать пять пользовательских разрешений для CRT порта. Больше интел не позволяет.



Продолжаем операцию. Или руками, или пользуя DTD калькулятор. Прописываем исходные тайминги разрешений, начиная с низшего. Для мониторов штатных навигаций важны параметры interlaced и sync (-hsync -vsync). Для других типов мониторов надо знать параметры синхронизации. Для 720х480i это выглядит так:



Для 800х480i



Прописываем скалькулированные строчки в реестр. Делать это надо последовательно. Т.е после занесения значений таймингов для каждого разрешения идем в раздел Regisry Hack, жмем соответствующую кнопку Get Calculated. Для 720х480i - DTD1 , для 800x480i - DTD2. На скрине 800x480i прописано еще и в DTD3,4,5. Прихоть - можно и не делать. Жмем клавишу Write DTDs to Registry. Все - первая часть операции закончена. Не забываем перегрузиться.



Для мониторов с прогрессивной разверткой последующие шаги могут и не понадобться. Если тайминги известны достоверно, то все должно работать. Для черезстрочных мониторов надо дать разрешение драйверу на работу с низким pixelclock. И поможет нам в этом PowerStrip. На этом этапе необходимо к CRT порту (D-SUB 15) компьютера подключить настраиваемый монитор. Не забываем про физику синхроимпульсов. Запускаем PS и выбираем необходимое нам разрешение из списка прогрессивных разверток. PS не может работать с interlaced, но нам и не надо, мы уже в реестре его прописали. Создаем пользовательские разрешения.



Настраиваем выбранные разрешения внешнего монитора. На первоначальные значения частот синхронизации, кадровой и строчной разверток внимания не обращаем, они могут быть искажены. Как правило, при достижении нужного значения частоты синхронизации на мониторе отображается устойчивая картинка (клон основного). Для удовольствия можно подвигать стрелочками. При оргазме жмем - применить.



Один раз, но целый день. То же для 800х480i



Изменение разрешения внешнего монитора теперь доступно в линеечке PS, так



или так



Осталось настроить желаемые параметры цветности средствами интела



И получить удовольствие от результата



Приведенная методика позволяет весьма просто получить клон изоображения на дополнительном non-DDC мониторе. При этом клон будет такого же разрешения как и основной монитор. Режим 800х600 доступен (вертикальный скроллинг, т.к. монитор 16:10). А вот 640х480i получить не удается. PS не может опустить pixelclock ниже 15MHz (где-то половина VGA). Подозреваю, что это физические ограничения чипсета от интела. В документации пишут - от 20MHz.... Да и первоначальная задача получения клона с разными разрешениями LVDS и CRT не решена. Вероятно, что и она имеет решение.... Но и полученный результат позволяет расширить возможность использования UMPC (и не только) с интеловской графикой и нестандартные мониторы в архитектуре проектов СarPC.
Миниатюры
Нажмите на изображение для увеличения
Название: IG1.jpg
Просмотров: 28736
Размер:	98.0 Кб
ID:	7060   Нажмите на изображение для увеличения
Название: IG2.jpg
Просмотров: 27941
Размер:	72.0 Кб
ID:	7061   Нажмите на изображение для увеличения
Название: IG3.jpg
Просмотров: 27851
Размер:	44.9 Кб
ID:	7062   Нажмите на изображение для увеличения
Название: IG4.jpg
Просмотров: 28570
Размер:	91.0 Кб
ID:	7063   Нажмите на изображение для увеличения
Название: IG5.jpg
Просмотров: 27855
Размер:	64.9 Кб
ID:	7064  

Нажмите на изображение для увеличения
Название: IG6.jpg
Просмотров: 27673
Размер:	64.8 Кб
ID:	7065   Нажмите на изображение для увеличения
Название: IG7.jpg
Просмотров: 27884
Размер:	118.9 Кб
ID:	7066   Нажмите на изображение для увеличения
Название: IG8.jpg
Просмотров: 27925
Размер:	72.0 Кб
ID:	7067   Нажмите на изображение для увеличения
Название: IG9.jpg
Просмотров: 27645
Размер:	80.5 Кб
ID:	7068   Нажмите на изображение для увеличения
Название: IG10.jpg
Просмотров: 31436
Размер:	76.8 Кб
ID:	7069  

Нажмите на изображение для увеличения
Название: IG11.jpg
Просмотров: 6933
Размер:	88.7 Кб
ID:	7070   Нажмите на изображение для увеличения
Название: IG12.jpg
Просмотров: 27803
Размер:	87.8 Кб
ID:	7071   Нажмите на изображение для увеличения
Название: IG13.jpg
Просмотров: 25682
Размер:	91.4 Кб
ID:	7072   Нажмите на изображение для увеличения
Название: IG14.jpg
Просмотров: 27771
Размер:	82.9 Кб
ID:	7073   Нажмите на изображение для увеличения
Название: IG_CF.jpg
Просмотров: 30438
Размер:	65.1 Кб
ID:	7074  

__________________
Мои проекты: Range Rover
Acura MDX 1th gen & Honda Accord & Acura MDX 2010

Последний раз редактировалось slden; 05.02.2017 в 03:40.
slden вне форума   Ответить с цитированием