Универсальный видеодрайвер для Windows

**** VESA x86/x64/IA64 Project ****

С 2004 года разрабатываю и поддерживаю универсальный видеодрайвер для семейства Windows (9x/NT3.x/NT4.0/2000/XP/2003) основанный на стандартах VESA Bios Extensions VBE 1.x/2.0/3.0.

bearwindows.zcm.com.au/

Для дальнейшего улучшения кода драйвера нобходимо тестирование его на разнообразных видеокартах. Особенно интересуют результаты тестирования карт с VESA BIOS 3.0, новых карт от AMD-ATI Technologies/nVidia и более редко встречающихся карт вроде VIA/SIS/Matrox и прочих, совместимость которых пока подтверждена не полностью.

простите за ламерский вопрос,
- а какое примущество универсального (вашего видео драйвера)
перед фирменными ( от разработчиков АТИ, Нвидео, и тд)

Аватар пользователя Root

OlegM100
ну, например, хотя бы тот факт, что не надо переустанавливать дрова, т.к. это универсальный драйвер. А про глюки при переходе с "катаглистов"("катаклизмов") на детонаторы или форсеваре или наоборот наслышаны все. Да и поставить их одновременно, чтобы все работало, надо умудриться. А тут - халява. Один драйвер на все.

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Аватар пользователя bearwindows

Root, в принципе, прав.

Вот основные направления для использования драйвера vbemp:

1) Универсальная поддержка "мини"-Windows (WindowsXP Embedded, Windows PE, BartPE, и т.п.)

2) Поддержка "legacy" операционок (NT3.x/NT4) + новые видеокарты.

3) Поддержка устаревших карт на новых системах ( т.е. "пункт 1)" наоборот )

4) Ну и пресловутая универсальность - один драйвер на кучу VBE-совместимых карточек.

У меня есть хороший конкурент: www.scitechsoft.com выпустивший Scitech SNAP Graphics (scitechsoft.com/products/ent/snap_main.html). Есть этих драйверов под Winodows9x, WindowsNT4/2000/XP/2000, Linux, OS/2, QNX.
Ранее они выпускали всем известный продукт UniVESA(UniVBE) для DOS.:)
Кстати, в их драйверах есть полноценное 2D-ускорение (DirectDraw/VideoOverlay).
SNAP Graphics "пашет" и на современном видео через VBE 2.0/3.0. Гугл в помощь.

Аватар пользователя savely

Цитата:
December, 6, 2007 : анонсировано начало разработки драйвера VBEMP для семейства Win9x - Windows95/98/ME

Ждем-с. Надо. Готов посильно участвовать в тестировании. В первую очередь хотелось бы работы на Интеловском набортном видео (915G, 945G).

А кому счас легко...

Уважаемые, а есть шанс при помощи этого драйвера или ещё как добиться разрешения 1440*900 с выхода VIA S3G UniChrome IGP???

А то он умеет только 5/4 или 4/3 соотношения сторон. На форуме ВИА читал, что это невозможно в принципе. Это так?

а есть ли возможность сделатьдрайвер для Rendition v2200 8mb pci под vista 64bit. Или переделать тот который от NT??????

Аватар пользователя bearwindows

Уважаемые, а есть шанс при помощи этого драйвера или ещё как добиться разрешения 1440*900 с выхода VIA S3G UniChrome IGP???
А то он умеет только 5/4 или 4/3 соотношения сторон. На форуме ВИА читал, что это невозможно в принципе. Это так?

Все режимы которые умеет VESA BIOS будет уметь и VBEMP драйвер (это касается и VGA.SYS). Вероятно нужно исправление таблиц режимов BIOS. После этого ГАРАНТИРОВАННО запашет.

а есть ли возможность сделатьдрайвер для Rendition v2200 8mb pci под vista 64bit. Или переделать тот который от NT??????

Версия для Windows XP/2003 64-bit планируется. А вот поддержки M$ Vi$ta 32/64 в обозримом будущем НЕ БУДЕТ для драйвера VBEMP.
SAY NO TO F**KIN' M$ VI$TA!
Я не собираюсь M$ подыгрывать.
Кстати, а разве в Vi$te нет встроенного VESA-драйвера, обеспечивающего базовую функциональность видеоадаптера?

Если нужно, чтобы отрисовка окон не тормозила возможно поможет такой совет: boot-land.net/forums/?showtopic=2790 А более наглядно тут: pixelmetrics.com/Tips/VidBlank/GlobalAcceleration.php т.е. движок "Hardware Acceleration" сдвинуть в крайнюю левую позицию.

Все режимы которые умеет VESA BIOS будет уметь и VBEMP драйвер (это касается и VGA.SYS). Вероятно нужно исправление таблиц режимов BIOS. После этого ГАРАНТИРОВАННО запашет. -
Спасибо, а не подскажете, как их там в видеобиос найти - по каким признакам?

Аватар пользователя bearwindows

Формат таблицы описан тут: vesa.org/public/vbe/vbe3.pdf (эта таблица возвращается при вызове VESA функции 0x4F01).

Примерчик (VBE30 BIOS, nVidia GeForce4, 640x400x8bit, mode 0x100)*:

VBE_MODEINFO ModesVBE[] = {
{ 0x0100, // VESA Mode
  0x039F, // ModeAttr
  0x07,  0x00, // WinAA, WinBA
  0x0040,  0x0040, // WinGrnl,  WinSize
  0xA000,  0x0000, 0xC000B57F, // WinA SEG, WinB SEG, WinFunc ptr
  640, // BpSL
  640,  400, 8, 16, 1, 8, // XRes x YRes, XChar, YChar, Planes, BPP
  1, 4, 0, 14, 1, // NoB, MM, szB, NoI, res1
  0, 0, 0, 0, 0, 0, 0, 0, // red, green, blue, rsvd ms/fp
  0, // DCMI
  0xD8000000,  0x00000000,  0, // LFB ptr / OSMO ptr / OSMS 
  640, 14, 14, // LBpSL, BNNoIP, LNNoIP
  0, 0, 0, 0, 0, 0, 0, 0, // lin. red, green, blue, rsvd ms/fp
 229500000, " "}, // MaxPCLK(Hz), char res2[189]

* Моделист получен этой программкой - bearwindows.boot-land.net/infovbe.zip

Тут есть два варианта:

1) Ответ на 0x4F01 формируется динамически в RAM-памяти (Intel, nVidia).
->> У Интела, например, есть инструментарий для "ковыряний" в видеобиосе.
Intel® Embedded Graphics Drivers Video BIOS
intel.com/design/intarch/swsup/graphics_drivers.htm

Есть и проекты по модификации таблиц в RAM 855resolution/915resolution (там можно поглядеть что модифицировать и где).

2) Ответ на 0x4F01 формируется как указатель на статичную таблицу (0xC000:0x????) в VideoBIOS (ATI RV410, CirrusLogic, Matrox, Trident, S3, Tseng ET4000).
->> здесь просто ищем неиспользуемый режим и "перебиваем" его на нужный.

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

Есть и полезная утилита RAMBIOS, позволяюшая загрузить BIOS в RAM для теста, чтобы затем его прошить.

Что вышлоБольшое спасибо, особенно за софт!
То, что мой вариант второй - я понял сразу, но по совету старших товарищей :) пытался вшить видеобиос от другой платы (В КМ400А встраивал видеобиос от VIA EPIA), в котором 1440*900 есть. Нужный режим появился, но вылез очень неприятный глюк - при включении аппаратной акселерации прорисовки система наглухо виснет (железо-то прошивке не соответствует), а без неё - совсем грустно. 
Пришёл к выводу, что мне нужно править свой видеобиос.
Попытался найти таблицу разрешений, заменить 1600*1200 на 1440*900, странно - но кое-что получилось.  1200 (04В0) я нашёл и сменил, а вот 1600 (0640) найти не могу. Вы автор infovbe?  Полезная программа, она мне показывает, что , например режим 0х124 у меня вместо 1600*1200*32 теперь 1600*900*32 :). При помощи x-vesa я могу вывести тестовое изображение в этом режиме, при попытке задействовать этот режим в винде с родным S3 драйвером - просто тёмный Экран, без зависания, хотя с другим видеобиос с этим драйвером 1440*900 работало. Видимо, это вопросы к драйверу - с таким соотношением сторон он работать не может.
Ваш универсальный видеодрайвер версии 3.0 pnp замечательно выводит картинку в этом разрешении, однако аппаратной акселерации прорисовки нет - судя по выводимой  картинке и неактивным кнопкам в закладке "Дисплей" DXdiag.,  Так и должно быть?
Подскажите, как в своём видеобиосе (прошивке на диске) мне найти эти самые 1600 (0640h) ??? нужно дизассемблировать прошивку? Я в этом пока не очень, потому и пытаюсь вычислить непосредственно это место.
GETBIOS создал два файла, в первый вывел практически полную копию моего видеобиоса, потом завис и второй файл пуст.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей