Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Dec 14, 2019 11:54 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 331 posts ]  Go to page Previous 13 4 5 6 723 Next
Author Message
PostPosted: Sun Feb 08, 2009 10:59 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Атауальпа

Значит координаты курсора были расчитаны для первоначального разрешения.


Top
   
PostPosted: Tue Feb 10, 2009 4:18 pm 
Offline

Joined: Tue Feb 10, 2009 4:07 pm
Posts: 2
Доброе время суток товарищи знатоки!
Вопрос от телезрителей - можно ли добавить в меню загрузки больше режимов для VESA1.2?
А то на экране 640х480х16 не то чтобы эстетического кайфа не словить, а и работать нельзя! :)
У меня видео "Цироз логики" с 1 метром мозгов на борту.
Заранее благодарен.


Top
   
PostPosted: Tue Feb 10, 2009 4:27 pm 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
Рекомендую достать видео с поддержкой VESA 2.0 или более. и Озу желательно больше чем 1 мб ).


Top
   
PostPosted: Tue Feb 10, 2009 4:36 pm 
Анатоль
Видеокарты с поддержкой Vesa 1.2 требуют процедуру переключения банков памяти, поскольку они не подерживают LFB. Процедуры переключения банков у каждой карточки зачастую индивидуальны, даже у одной фирмы и даже вроде похожих видеокарт отличающихся одной цифрой. Методики автодетктирования нету. Документации нету. Да даже если бы и была то проверять не на чем, ввиду огранченности парка компьютеров доступных одному конкретному разработчику. Люди которым требуется эта поддержка обычно закидывают свое желание на форум и благополчно сваливают больше не появляясь. Поскольку парк таких машин ограничен и с каждым годом он сокращается, то тратить время на их поддержку не самое приоритетное направление при малом количестве разработчиков в проекте.


Top
   
PostPosted: Tue Feb 10, 2009 6:08 pm 
Offline

Joined: Tue Feb 10, 2009 4:07 pm
Posts: 2
Все понимаю, но есть ноутбук с которым я проковырялся бог знает сколько чтобы его запустить, и карточка там "вставленная", плюс к тому я не могу ставить другие Оси на рабочую машину, если что, то прийдется сидеть потом без хлеба! ;)
А этот ноут я и взял для опытов с вашей ОСью, вот только незадача с видеорежимами! :(
Может подскажите где в сырцах ядра поковыряться для прикручивания других режимов?


Top
   
PostPosted: Tue Feb 10, 2009 7:47 pm 
Offline

Joined: Fri Nov 21, 2008 8:16 am
Posts: 180
У телезрителей с другого фланга тоже вопрос есть :)
Скажите, а 1280x800x32bpp - формату VESA-2.0 не соответствует :?:
((вообще-то, про себя оно говорит, что VESA-3.0))


Top
   
PostPosted: Tue Feb 10, 2009 8:29 pm 
Offline

Joined: Sun Feb 04, 2007 2:07 pm
Posts: 178
Galkov
В Vesa 3.0 тоже должно быть LFB.
На ноутбуке моего брата стоит Geforce 9300GS(с собственной видео памятью) с поддержкой Vesa 3.0. Колибри именно так её определяет и без проблем работает с разрешением 1440*900*32.


Top
   
PostPosted: Tue Feb 10, 2009 9:11 pm 
Offline

Joined: Fri Nov 21, 2008 8:16 am
Posts: 180
Думаю, что Kolibri не опредяляет VESA-3.0, а просто копирует текст
А вот когда перечисляет найденные режимы, то предоставляет выбор 2.0 и 1.2 вроде бы...

У меня это примерно так :(
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М видеоозу (что характерно - свои, от общей памяти ничего не отрезано)


На эмуле красивше все (видюха stretch делает, резкость уже не та получается, конечно) :)


Top
   
PostPosted: Tue Feb 10, 2009 9:18 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Galkov

На i965 отличная документация http://www.intellinuxgraphics.org. Так что желающие могут сделать себе и курсоры и видеорежимы и 3D.


Top
   
PostPosted: Tue Feb 10, 2009 9:41 pm 
Offline

Joined: Fri Nov 21, 2008 8:16 am
Posts: 180
Serge, спасибо конечно :)
Но это не самый мой больной вопрос: профессионально меня это не напрягает, помните наверное
Просто небольшая домашняя заморочечка
А в качестве "работы по-выходным", моя сверх-задача (многолетняя) - сделать компилятор (язык программирования) который кодит лучше человека... Ну скажем, чтобы diamond (к примеру) забросил АСМ в виду низкой эффективности конкуренции с ним в искусстве кодинга.

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

А посему, просто пытаюсь проконсультироваться, мой режим вываливается из всех стандартов и нужны персональные дрова, или просто не все стандарты мы освоили ???
Когда понимаешь причины, вроде как и беда меньше кажется :D


Top
   
PostPosted: Wed Feb 11, 2009 9:42 am 
Galkov
Quote:
А посему, просто пытаюсь проконсультироваться, мой режим вываливается из всех стандартов и нужны персональные дрова, или просто не все стандарты мы освоили ???

Есть стандартные Vesa 2 режимы 640*480*24 или 32, 800*600*24 или 32, 1024*768*24 или 32, 1280*1024*24 или 32. Это поддерживается при условии что видюха и монитор обеспечивают эти режимы.
Все остальное может поддерживаться, а может не поддерживаться.


Top
   
PostPosted: Wed Feb 11, 2009 10:01 am 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
Подтверждая слова Марата, это дело производителя видеокарты - реализовывать или нет нестандартные разрешения. Мне кажется вполне логичным с их стороны добавлять нестандартные, но в то же время родные для матрицы ноутбука разрешения (речь о настольных компьютерах не идёт, там заранее неизвестно, какой будет монитор). У меня так же не было проблем с 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 использовал бы :)

_________________
in code we trust


Top
   
PostPosted: Wed Feb 11, 2009 11:46 am 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1071
Кстати, у меня при загрузке на реальной машине видны видеорежимы, которые не поддерживаются, хотя Lrz это вроде правил. Чуть позже опишу подробнее.


Top
   
PostPosted: Wed Feb 11, 2009 12:46 pm 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
Code:
        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

Видеорежимы, которые имеют меньше чем 24 бит на пиксель не должны отображаться в blue screen. В коде приведена выборка видеорежимов, которые сооствествуют данному критерию.
Критерии проверки - поддерживается видео режим, графический режим, если ли LFB буфер, поддерживается ли 24 и более бит на пиксель.
Как получаем информацию о VESA режиме:
Code:
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

Код почти соответствует коду GFX_kernel


Top
   
PostPosted: Wed Feb 11, 2009 12:50 pm 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1071
ясно, просто у меня еще можно выбрать:
1400×1050×32
1600×1200×32
1856×1392×32
1920×1440×32
Естественно, что ни один из них правильно не работает


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 331 posts ]  Go to page Previous 13 4 5 6 723 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited