Атауальпа
Значит координаты курсора были расчитаны для первоначального разрешения.
Колибри 0.7.5.0
Доброе время суток товарищи знатоки!
Вопрос от телезрителей - можно ли добавить в меню загрузки больше режимов для VESA1.2?
А то на экране 640х480х16 не то чтобы эстетического кайфа не словить, а и работать нельзя!
У меня видео "Цироз логики" с 1 метром мозгов на борту.
Заранее благодарен.
Вопрос от телезрителей - можно ли добавить в меню загрузки больше режимов для VESA1.2?
А то на экране 640х480х16 не то чтобы эстетического кайфа не словить, а и работать нельзя!
У меня видео "Цироз логики" с 1 метром мозгов на борту.
Заранее благодарен.
Рекомендую достать видео с поддержкой VESA 2.0 или более. и Озу желательно больше чем 1 мб ).
Анатоль
Видеокарты с поддержкой Vesa 1.2 требуют процедуру переключения банков памяти, поскольку они не подерживают LFB. Процедуры переключения банков у каждой карточки зачастую индивидуальны, даже у одной фирмы и даже вроде похожих видеокарт отличающихся одной цифрой. Методики автодетктирования нету. Документации нету. Да даже если бы и была то проверять не на чем, ввиду огранченности парка компьютеров доступных одному конкретному разработчику. Люди которым требуется эта поддержка обычно закидывают свое желание на форум и благополчно сваливают больше не появляясь. Поскольку парк таких машин ограничен и с каждым годом он сокращается, то тратить время на их поддержку не самое приоритетное направление при малом количестве разработчиков в проекте.
Видеокарты с поддержкой Vesa 1.2 требуют процедуру переключения банков памяти, поскольку они не подерживают LFB. Процедуры переключения банков у каждой карточки зачастую индивидуальны, даже у одной фирмы и даже вроде похожих видеокарт отличающихся одной цифрой. Методики автодетктирования нету. Документации нету. Да даже если бы и была то проверять не на чем, ввиду огранченности парка компьютеров доступных одному конкретному разработчику. Люди которым требуется эта поддержка обычно закидывают свое желание на форум и благополчно сваливают больше не появляясь. Поскольку парк таких машин ограничен и с каждым годом он сокращается, то тратить время на их поддержку не самое приоритетное направление при малом количестве разработчиков в проекте.
Все понимаю, но есть ноутбук с которым я проковырялся бог знает сколько чтобы его запустить, и карточка там "вставленная", плюс к тому я не могу ставить другие Оси на рабочую машину, если что, то прийдется сидеть потом без хлеба!
А этот ноут я и взял для опытов с вашей ОСью, вот только незадача с видеорежимами!
Может подскажите где в сырцах ядра поковыряться для прикручивания других режимов?
А этот ноут я и взял для опытов с вашей ОСью, вот только незадача с видеорежимами!
Может подскажите где в сырцах ядра поковыряться для прикручивания других режимов?
У телезрителей с другого фланга тоже вопрос есть
Скажите, а 1280x800x32bpp - формату VESA-2.0 не соответствует
((вообще-то, про себя оно говорит, что VESA-3.0))
Скажите, а 1280x800x32bpp - формату VESA-2.0 не соответствует
((вообще-то, про себя оно говорит, что VESA-3.0))
Galkov
В Vesa 3.0 тоже должно быть LFB.
На ноутбуке моего брата стоит Geforce 9300GS(с собственной видео памятью) с поддержкой Vesa 3.0. Колибри именно так её определяет и без проблем работает с разрешением 1440*900*32.
В Vesa 3.0 тоже должно быть LFB.
На ноутбуке моего брата стоит Geforce 9300GS(с собственной видео памятью) с поддержкой Vesa 3.0. Колибри именно так её определяет и без проблем работает с разрешением 1440*900*32.
Думаю, что Kolibri не опредяляет VESA-3.0, а просто копирует текст
А вот когда перечисляет найденные режимы, то предоставляет выбор 2.0 и 1.2 вроде бы...
У меня это примерно так
А вот когда перечисляет найденные режимы, то предоставляет выбор 2.0 и 1.2 вроде бы...
У меня это примерно так
На эмуле красивше все (видюха stretch делает, резкость уже не та получается, конечно)Galkov wrote:С видюхой тоже проблемы: квадраты прямоугольные, и круги не по циркулю
Kolibri читает интерфейс как VESA 3.0 и видит только режимы 640x480, 800x600, 1024x768
А есть еще 1280x600, 1280x720, 1280x768, 1280x800 - этот штатный в винде, в нем круги - действительно круглые
Про карту...
Если смотреть на ярлык, то это: WXGA-14"
Если на драйверы в винде, то: Mobile Intel(R) 965 Express ChipSet Family
В подробностях этого драйвера: Строка контроллера - Mobile Intel(R) GMA X3100
Ну и 256М видеоозу (что характерно - свои, от общей памяти ничего не отрезано)
Galkov
На i965 отличная документация http://www.intellinuxgraphics.org. Так что желающие могут сделать себе и курсоры и видеорежимы и 3D.
На i965 отличная документация http://www.intellinuxgraphics.org. Так что желающие могут сделать себе и курсоры и видеорежимы и 3D.
Serge, спасибо конечно
Но это не самый мой больной вопрос: профессионально меня это не напрягает, помните наверное
Просто небольшая домашняя заморочечка
А в качестве "работы по-выходным", моя сверх-задача (многолетняя) - сделать компилятор (язык программирования) который кодит лучше человека... Ну скажем, чтобы diamond (к примеру) забросил АСМ в виду низкой эффективности конкуренции с ним в искусстве кодинга.
Почти любой вопрос по-отдельности можно просечь до конца за разумное время, но уж шибко много таких полезных вопросов попадается в последнее время...
А посему, просто пытаюсь проконсультироваться, мой режим вываливается из всех стандартов и нужны персональные дрова, или просто не все стандарты мы освоили ???
Когда понимаешь причины, вроде как и беда меньше кажется
Но это не самый мой больной вопрос: профессионально меня это не напрягает, помните наверное
Просто небольшая домашняя заморочечка
А в качестве "работы по-выходным", моя сверх-задача (многолетняя) - сделать компилятор (язык программирования) который кодит лучше человека... Ну скажем, чтобы diamond (к примеру) забросил АСМ в виду низкой эффективности конкуренции с ним в искусстве кодинга.
Почти любой вопрос по-отдельности можно просечь до конца за разумное время, но уж шибко много таких полезных вопросов попадается в последнее время...
А посему, просто пытаюсь проконсультироваться, мой режим вываливается из всех стандартов и нужны персональные дрова, или просто не все стандарты мы освоили ???
Когда понимаешь причины, вроде как и беда меньше кажется
Galkov
Все остальное может поддерживаться, а может не поддерживаться.
Есть стандартные Vesa 2 режимы 640*480*24 или 32, 800*600*24 или 32, 1024*768*24 или 32, 1280*1024*24 или 32. Это поддерживается при условии что видюха и монитор обеспечивают эти режимы.А посему, просто пытаюсь проконсультироваться, мой режим вываливается из всех стандартов и нужны персональные дрова, или просто не все стандарты мы освоили ???
Все остальное может поддерживаться, а может не поддерживаться.
Подтверждая слова Марата, это дело производителя видеокарты - реализовывать или нет нестандартные разрешения. Мне кажется вполне логичным с их стороны добавлять нестандартные, но в то же время родные для матрицы ноутбука разрешения (речь о настольных компьютерах не идёт, там заранее неизвестно, какой будет монитор). У меня так же не было проблем с 1280x800, когда я тестировал gfx_kernel на своём лаптопе.
Насчёт определения версии VESA - она именно определяется из структуры, возвращаемой BIOS'ом (а не просто выводится строка). В gfx_kernel реализация (насколько я сейчас могу помнить) была такова, что в таблицу режимов попадали все доступные, при этом если находился режим с одинаковым разрешением и битностью для 1.2 и 2.0 - использовался 2.0. Для 1.2 было написано несколько подпрограмм переключения банков и небольшая подпрограмма определения подходящей в зависимости от видеокарты. Естественно, при этом никто не гарантировал, что на какой-нибудь видеокарте ни одна из подпрограмм не подойдёт и всё равно ничего не будет работать. Не знаю вот, как сделано сейчас, после переноса Lrz этой функциональности в trunk.
В vesa_probe (моей программе определения возможностей видео), которая легла в основу gfx_kernel, я в последней версии начал было добавлять чтение DCC и EDID, чтобы попытаться определить разрешения поддерживаемые не только видеокартой, но и самим монитором, что давало бы бОльшую свободу. Не доделал. А так, глядишь и фишки 3.0 использовал бы
Насчёт определения версии VESA - она именно определяется из структуры, возвращаемой BIOS'ом (а не просто выводится строка). В gfx_kernel реализация (насколько я сейчас могу помнить) была такова, что в таблицу режимов попадали все доступные, при этом если находился режим с одинаковым разрешением и битностью для 1.2 и 2.0 - использовался 2.0. Для 1.2 было написано несколько подпрограмм переключения банков и небольшая подпрограмма определения подходящей в зависимости от видеокарты. Естественно, при этом никто не гарантировал, что на какой-нибудь видеокарте ни одна из подпрограмм не подойдёт и всё равно ничего не будет работать. Не знаю вот, как сделано сейчас, после переноса Lrz этой функциональности в trunk.
В vesa_probe (моей программе определения возможностей видео), которая легла в основу gfx_kernel, я в последней версии начал было добавлять чтение DCC и EDID, чтобы попытаться определить разрешения поддерживаемые не только видеокартой, но и самим монитором, что давало бы бОльшую свободу. Не доделал. А так, глядишь и фишки 3.0 использовал бы
in code we trust
Кстати, у меня при загрузке на реальной машине видны видеорежимы, которые не поддерживаются, хотя Lrz это вроде правил. Чуть позже опишу подробнее.
Code: Select all
test [es:mi.ModeAttributes],00000001b ;videomode support ?
jz @f
test [es:mi.ModeAttributes],00010000b ;picture ?
jz @f
test [es:mi.ModeAttributes],10000000b ;LFB ?
jz @f
cmp [es:mi.BitsPerPixel], 24 ;It show only videomodes to have support 24 and 32 bpp
jb @f
Критерии проверки - поддерживается видео режим, графический режим, если ли LFB буфер, поддерживается ли 24 и более бит на пиксель.
Как получаем информацию о VESA режиме:
Code: Select all
print_vesa_info:
_setcursor 5,2
mov [es:vi.VESASignature],'VBE2'
mov ax,0x4F00
mov di,vi ;0xa000
int 0x10
or ah,ah
jz @f
mov [es:vi.VESASignature],'VESA'
mov ax,$4F00
mov di,vi
int 0x10
or ah,ah
jnz .exit
@@:
cmp [es:vi.VESASignature],'VESA'
jne .exit
cmp [es:vi.VESAVersion],0x0100
jb .exit
jmp .vesaok2
.exit:
mov si,novesa
call printplain
ret
.vesaok2:
mov ax,[es:vi.VESAVersion]
add ax,'00'
mov [s_vesa.ver], ah
mov [s_vesa.ver+2], al
mov si,s_vesa
call printplain
_setcursor 4,2
mov si,word[es:vi.OemStringPtr]
mov di,si
push ds
mov ds,word[es:vi.OemStringPtr+2]
call printplain
pop ds
ret
ясно, просто у меня еще можно выбрать:
1400×1050×32
1600×1200×32
1856×1392×32
1920×1440×32
Естественно, что ни один из них правильно не работает
1400×1050×32
1600×1200×32
1856×1392×32
1920×1440×32
Естественно, что ни один из них правильно не работает
Who is online
Users browsing this forum: Google [Bot] and 0 guests