mike у меня появился Radeon 8500 копирую твой драйвер в Колибри 0.5.2.0 но он "неправильно" работает
Виден только черный экран и курсор мыши на экране... Может нужна старая версия ядра? Какая?
MenuetOS (KolibriOS) GFX kernel
С момента последнего выпуска ATI драйвера изменялся набор интерфейсных графических функций, так что нужно изменять ядро. В любом случае, я не гарантирую, что в каком-либо из старых дистрибов или даже в Колибри набор такой, какой нужен. В любом случае, даже при добавлении этих функций в таблицу придётся изменять ядро. Так что, подожди немного, я не хочу дорабатывать драйвер в преддверии больших изменений ядра (а точнее, разработки и внедрения драйверной модели). Однако, как я обещал Андрею и Марату, некоторые элементы нового видеодрайвера будут внедрены на этих выходных; предварительный список: возможность загрузки при всех реально доступных разрешениях (но только для 24- и 32-битных режимов), изменение функционирования минимизации/максимизации/свёртывания окон, системная функция установки рабочей области экрана (в основном для @panel). Возможно, но не факт, будет добавлена кнопка максимизации/рестора размеров окна плюс соответствующая системная функция, а также внедрён новый формат скинов. Естественно, никто не исключает форс-мажорных обстоятельств, но я очень постараюсь реализовать заявленное. Тем более что обещаниями сыты все.
Залил сегодня gfx_kernel на SVN: svn://kolibrios.org/kernel/branches/gfx_kernel
Проблемы на данный момент:
Проблемы на данный момент:
- не поддерживаются окна с произвольной формой; хочется отойти от текущих функций, и задавать регион набором прямоугольников
- остаются следы под курсором мыши (видимо, он невовремя прячется, или показывается); заметно при перемещении окон
- не рисуются произвольные линии (только вертикальные и горизонтальные)
- vmode, основанный на VESA, находится не в ядре, а в драйвере; должен быть внедрён в ядро, с удалением vesa20.inc и подобных, а драйвер оставить для их переопределения функциями для специфических видеокарт (например, функциями, использующими хардварные возможности видеокарт)
- не нажимаются кнопки, если окно имеет отрицательные координаты по X или Y (легко исправляется)
- курсор рисуется через putpixel, нужно через putimage, или ещё как-то, чтобы уменьшить его мерцание
- некоторые проблемы с (calculate/set)screen; нужно определиться, где нужен их вызов, а где нет. плюс, формировать прямоугольники для клиппинга только для заданной области (сейчас каждый раз формируются для всего экрана); calculatescreen приравнен к setscreen, что также свидетельствует о необходимости переосмысления вызовов этих функций в ядре
- некоторые баги в boot(code/vesa).inc - нужно перерисовывать фон под таблицей режимов, добавить индикатор скролла, рисовать столько режимов сколько есть (то есть рисовать 2, если их 2, при том, что в таблицу влазит по высоте 4), сохранять выбранный режим, изначально устанавливать курсор на доступный режим (чтобы не попадало на недоступный), добавлять 2 стандартных режима в список при его формировании (320x200x8 и 640x480x4)
- в образе должен быть файл arrow.cur - 32-битный курсор размера 32х32
- <... что-то ещё ...>
Русская версия не компилируется
bootvesa.inc
mov [es:s_vesa.ver-0x10000], ah
undefined symbol
английская загружает дискету и сразу уходит в перезагрузку.
пары cli/sti лучше заменить на безопасные pushf cli / popf иначе будут разрешаться ранее маскированные прерывания. Такая была раньше при вызове boot_log
bootvesa.inc
mov [es:s_vesa.ver-0x10000], ah
undefined symbol
английская загружает дискету и сразу уходит в перезагрузку.
пары cli/sti лучше заменить на безопасные pushf cli / popf иначе будут разрешаться ранее маскированные прерывания. Такая была раньше при вызове boot_log
Да, русская версия не ассемблируется - строки не педелеланы.
Про английскую интереснее. Какая-нибудь дополнительная информация?
Про английскую интереснее. Какая-нибудь дополнительная информация?
mike.dld
Насколько я понял 4-ый пункт,ты хочеш сделать подгружаемый драйвер видеокарты.
Я согласен на 100%,что драйверы должны быть подгружаемыми(даже драйверы VESA).
P.S.
Я так понимаю,что gfx ядро это более усовершенствованное(в плане графических возможностей) ядро Колибри/Меос графические возможности которого ,после доведения до задуманного, будут перенесены в ядро Колибри.
Насколько я понял 4-ый пункт,ты хочеш сделать подгружаемый драйвер видеокарты.
Я согласен на 100%,что драйверы должны быть подгружаемыми(даже драйверы VESA).
P.S.
Я так понимаю,что gfx ядро это более усовершенствованное(в плане графических возможностей) ядро Колибри/Меос графические возможности которого ,после доведения до задуманного, будут перенесены в ядро Колибри.
Вот не знаю. Я хочу текущий драйвер веса, который в vmode.mdr находится, перенести в ядро, а vmode.mdr использовать для изготовления специфических драйверов. Иначе, текущая реализация VESA в ядре несовместима с моим подходом, и будут проблемы.
Кто не в курсе, при загрузке ядро загружает файл vmode.mdr, и вызывает из него функцию инициализации видеодрайвера; если таковой нет - ничего не произойдёт, и будут использоваться втроенные функции.
//на PS: да, так и есть
Кстати, ты не сообщил свой результат... загружается? работает?
Кто не в курсе, при загрузке ядро загружает файл vmode.mdr, и вызывает из него функцию инициализации видеодрайвера; если таковой нет - ничего не произойдёт, и будут использоваться втроенные функции.
//на PS: да, так и есть
Кстати, ты не сообщил свой результат... загружается? работает?
mike.dld
Теперь понял.Ты хочеш переопределить vmode.mdr для использования возможностей аппаратного ускорения видеокарт,а не для инициализации видеодрайвера.
А вот скачать gfx ядро я,к сожалению,не могу.У меня нет программы для работы с svn.И скачать её не могу( gprs связь неустойчивая).
Если есть возможность,то выложи пожалуйста в разделе "скачать" на сайте rolibrios.org или ещё где-нибудь.
Теперь понял.Ты хочеш переопределить vmode.mdr для использования возможностей аппаратного ускорения видеокарт,а не для инициализации видеодрайвера.
А вот скачать gfx ядро я,к сожалению,не могу.У меня нет программы для работы с svn.И скачать её не могу( gprs связь неустойчивая).
Если есть возможность,то выложи пожалуйста в разделе "скачать" на сайте rolibrios.org или ещё где-нибудь.
andrew_programmer and all, ядро и все необходимое можно взять здесь: ссылка устарела
Все три файла нужно поместить в образ!
Все три файла нужно поместить в образ!
Last edited by Heavyiron on Fri Feb 23, 2007 12:32 am, edited 2 times in total.
Прежде чем говорить что ссылка битая, вставьте `r` после `b`
Короче: http://heavyiron.kolibrios.org/gfx_kernel.7z
Короче: http://heavyiron.kolibrios.org/gfx_kernel.7z
У меня gfx ядро нормально грузиться.Просто нужно до загрузки выбрать пункт a) ,а в нем какой-нибудь из поддерживаемых графических режимов.
В 16 битном режиме FPS выдаваемые 7-ой функцией значительно выше.Это очень пригодилось бы для слабых компьютеров( типа Pentium90,Pentium100) .
Вот если бы еще доделать 8 битные ренимы,то было бы совсем хорошо.Ведь иногда необходимо работать при высоком разрешении и качество графики неважно(к примеру если необходимоо строить графики функций и работать с ними).
В 16 битном режиме FPS выдаваемые 7-ой функцией значительно выше.Это очень пригодилось бы для слабых компьютеров( типа Pentium90,Pentium100) .
Вот если бы еще доделать 8 битные ренимы,то было бы совсем хорошо.Ведь иногда необходимо работать при высоком разрешении и качество графики неважно(к примеру если необходимоо строить графики функций и работать с ними).
andrew_programmer
В таблице отображаются все доступные режимы, и со всеми битовыми режимами ядро умеет работать: 4 (пока что только для VGA) и 8, 15, 16, 24, 32 (для VESA).
Serge
Понял с помощью других людей, в чём у тебя была проблема. Наиболее вероятно, что ты не скопировал *все* нужные файлы в образ (потому что я их не перечислил). Как правильно заметил Heavyiron, файлов должно быть три: kernel.mnt (ядро), vmode.mdr (драйвер, собирается из папки ./vmode) и arrow.cur (32-битный курсор размером 32х32).
В таблице отображаются все доступные режимы, и со всеми битовыми режимами ядро умеет работать: 4 (пока что только для VGA) и 8, 15, 16, 24, 32 (для VESA).
Serge
Понял с помощью других людей, в чём у тебя была проблема. Наиболее вероятно, что ты не скопировал *все* нужные файлы в образ (потому что я их не перечислил). Как правильно заметил Heavyiron, файлов должно быть три: kernel.mnt (ядро), vmode.mdr (драйвер, собирается из папки ./vmode) и arrow.cur (32-битный курсор размером 32х32).
mike.dld
У меня загрузилось с файлами которые выложил Heavyiron. Но система работает нестабильно. Не запускаются программы из меню. Не запускаются многие демки. Когда меню закрывается часть содержимого остается на экране и т.д
У меня загрузилось с файлами которые выложил Heavyiron. Но система работает нестабильно. Не запускаются программы из меню. Не запускаются многие демки. Когда меню закрывается часть содержимого остается на экране и т.д
mike.dld
Я незнаю,может та версия которая выложена для скачивания не поддерживает 4 и 8 бит на пиксель.У меня работают только режимы 16 и 32 битные (они помечены в таблице галочками).А вот режимы 4 и 8 бит отказываются работать - при попытке загрузить ядро выдаётся сообщение "bits ??".
Я точно знаю,что моя видеокарта поддерживает 4-х и 8-ми битные режимы(я сам лично с ними работал).
Я незнаю,может та версия которая выложена для скачивания не поддерживает 4 и 8 бит на пиксель.У меня работают только режимы 16 и 32 битные (они помечены в таблице галочками).А вот режимы 4 и 8 бит отказываются работать - при попытке загрузить ядро выдаётся сообщение "bits ??".
Я точно знаю,что моя видеокарта поддерживает 4-х и 8-ми битные режимы(я сам лично с ними работал).
Serge
Смотри пункт 5. Из-за этого же (отрицательные координаты не везде введены) не перерисовывается фон под меню (система думает, что там и не было окна, => событие о перерисовке не посылается). Так что твои выводы по поводу "нестабильно" очень скоропалительные. "Нестабильно" - это если бы система перезагружалась или подвисала каждые 2 минуты.
andrew_programmer
В таблице галочками помечены только те режимы, список которых был получен через интерфейс VESA. Принудительный выбор режима, на котором не стоит галочки не имеет никакого смысла, и более того - будет невозможен в финальной версии ядра, так как номер этого режима неизвестен, и следовательно его невозможно установить.
Смотри пункт 5. Из-за этого же (отрицательные координаты не везде введены) не перерисовывается фон под меню (система думает, что там и не было окна, => событие о перерисовке не посылается). Так что твои выводы по поводу "нестабильно" очень скоропалительные. "Нестабильно" - это если бы система перезагружалась или подвисала каждые 2 минуты.
andrew_programmer
В таблице галочками помечены только те режимы, список которых был получен через интерфейс VESA. Принудительный выбор режима, на котором не стоит галочки не имеет никакого смысла, и более того - будет невозможен в финальной версии ядра, так как номер этого режима неизвестен, и следовательно его невозможно установить.
Who is online
Users browsing this forum: No registered users and 15 guests