Je pravda, že dnes kromě Allegra se VBE/AF moc nepoužívá, pro Windows jsou nativní drivery a na Linuxech se z grafických možností využívají pouze nejznámnější vlastnosti (teď mluvím spíše o starších grafických kartách). Jednu dobu byla snaha přidat ovladače do Linuxového jádra pro lepší podporu framebufferu, ale problém je v tom, že mnoho grafických karet nemá VESU 3 přímo ve svém BIOSu, ale v ovladači, který se musí spustit. Potom tato podpora trošku ztrácí smysl (samozřejmě je možné spouštět Linux z DOSu, ale to jsou zbytečné komplikace, kvůli pár fíčurkám).
Ano, je to ve své podstatě spustitelný binární soubor (a tím pádem pouze pro x86). To by ještě nebylo tak špatné, ale pro správné natažení této binárky je zapotřebí správně nadetekovat grafickou kartu. A to se bez nějaké podporu ze strany VESA BIOSu dělá špatně (samozřejmě lze použít styl: zapiš něco na port 0xDE, počkej 10ms a pokud je hodnota přečtená z portu 0xF1 rovna 1234, jedná se o Trident, ale to samozřejmě není moc stabilní).
Ja bych hlavne cekal, ze pokud se to natahne v DOSu jako nejaky ovladac tak to LOADLIN pri startu odstreli. Kazdopadne je skoda, ze se primo do VBE neprosadil naky standard alespon na par primitivnich
2D funkci jako usecka nebo vyplneny obdelnik. Ja sem si psal vlastni VESA knihovnu na grafiku a krom nastaveni modu je vsechno softwerovy.
Mozna stoji za zminku, ze lze pristup k LFB vyrazne urychlit nastavenim MTRR registru (vim jak se to dela u pentia, u AMD to snad taky nejak jde) z rezimu uncached na write combining, co sem tak zahlid ve zdrojacich jadra tak linux uz to nastavuje ale DOS samozrejme ne.
Dosový ovladač se samozřejmě odstřelí, ale karta je po jeho načtení již inicializovaná. Já jsem například na staré VLB kartě nemohl použít lineární framebuffer bez toho, abych nejprve nenastartoval DOS s ovladačem (ten také nastavil vhodné frekvence pro monitor, 60 Hz mi opravdu nesedlo :-)
:) Presne toto iste som musel robit, ked som chcel pouzivat Vesa framebuffer na SiS6326. Ta karta bola priserna, ale aspon vyrobca poskytoval Vesa driver (uz neviem, ci 2 alebo 3).
Pravda, veci od SiS si kupovali jenom masochisti :-) Graficka karta se snad da jeste prezit, ale co teprve cely cipset. Jeste, ze se nerozhodli udelat i vlastni procesor :-)))
Mal som ju na doske, vela som si nemohol navyberat. Inak aj chipset bol SiS. :) Nastastie je to uz za mnou. Tu dosku som ja nekupoval, mal som ju len "pracovne". Ale bol to horor. Na druhej strane, s chipsetmi SiS745 az take zle skusenosti nemam. Okrem toho, ze ich niekedy nestaci chladit pasivne, co si evidentne vyrobca dosky neuvedomil...
Este ma napadlo, ze tak karta (6326) o sebe tvrdila, ze je akcelerator. Half life 1 isiel na softverovy rendering rychlejsie. A 90% hier sa vykreslovalo uplne sialene (chybajuce polygony, blikanie). Kazdopadne, zmysel tej karty mi je doteraz neznamy. Na 3d absolutne nevyhovujuce, na 2d nic nove nepriniesla. Hmm. Ale ved takych bolo viac.
No, to není tak jednoduché - když ta karta vyšla, tak byla docela dobrá - pokud ste ji ale dostali o nějaký ten rok později v lowend počítači, tak se nemůžete divit. Já mám zkušenost, že takhle karta nebyla zas tak špatná - rychlost měla asi jako konkurenční ATI Rage Pro, ale měla lepší kvalitu obrazu ve 3D. Krom toho tahle karta umí akcelerovat třeba i přehrávání DVD. Mně přišla docela dobrá - ovšem spousta lidí si o ní udělali představu až z těch lowend počítačů v době, kdy už tyto karty zákonitě nemohli stačit.
Ty chybejici polygony a blikani mohou byt zpusobeny malou kapacitou video pameti, ktera je treba zaplnena texturama. Potom se muze stat, ze neni k dispozici zadni buffer ani volna kapacita pro display listy (ve skutecnosti by to samozrejme melo byt naopak, tj. nejdrive se alokuji buffery a potom az texturovaci pamet, ale nektere ovladace karet dokazou divy - napriklad ovladace pro starsi karty ATI delaly neco podobneho, dokonce na nich nejelo ani oficialni demo).
SiS 6326 si pamatam v suvislosti s tym, ze som ju dostal onboard na jednom stroji do bazaru, kde na nu bolo treba nahodit Windowsy, asi na treti pokus sa podarilo najst spravne drivery, ktore aj sli. Prekvapenim vsak bolo to, ze sa drviva vacsina hier na udajne akcelerovanom grafickom adapteri nerozbehla :) Samozrejme chipset bol SiS a dotycna doska o AGP nepocula.
OK,
timto mam moznost nejak inicializovat graficky cip, ale pokud tam budu mit softwerovy VBE 3.0
poveseny na INT 10h tak to mi ho odstreli ne? Takze po spusteni loadlinu budu mit zas spatky
VBE 1.2 nebo 2.0...
Tak musim trochu poopravit nazor, skutecne to ma smysl, a pro me dost zasadni!
Ted sem instaloval na NB s S3-Virge/MX linucha a furt mi vytuhoval pri startu Xserver.
Fungoval jedine VGA. Nakonec sem zistil, ze kdyz pred spustenim linuxu spustim
windows, dam restart do dosu a pres loadlin pustim linux, tak to zacne fungovat spravne.
Tak me napadlo pouzit UniVBE a funguje to taky. Takze ted spoustim DOS->UniVBE->loadlin->
linux->X a funguje to :)
Vidite, takto jsem to na me stare 486 take delal :-)
No, on asi UniVBE nahodi na graficke karte nektere registry (nebo neco povoli), takze to potom jede, i kdyz je BIOS odstrelenej. Asi by to chtelo zjistit, jak se lisi inicializace karty v UniVBE a v X-serveru.
No pokud by existoval nejaky datasheet k tomu cipu, tak bych moh aspon zistit jak se lisi naky registry pred a po spusteni UniVBE. Ale asi to dal nebudu resit. DOS tam pouzivam tak jako tak, pridal sem si na to akorat dalsi polozku do bootmanageru, takze linux spustim jednou klavesou jako ostatni system a ze se to protahne o 2s me uz nezabije. Jen pro informaci tam mam Xorg 6.8.2, jine verze sem nezkousel.