Vesa Frame Buffer HOWTO Robert Vojta, penguin@mendelu.cz v.0.1, 2 April 1999 Při vytváření HOWTO jsem vycházel z následujících dokumentů a vlastních zkušeností: Anthony D'Amico, 3Dfx Banshee Chipset under Linux Alex Buell, VesaFB mini-HOWTO -- 1. Co je potřeba na rozchození frame bufferu (dále jen FB) 1.1. Grafická karta & VESA 2.0 Potřebujete grafickou kartu, která obsahuje standard VESA 2.0 nebo vyšší. Pokud takovou nemáte, nezoufejte. Ještě je tu totiž jedna možnost a to restart do M$-DOSu, natažení ovladače pro vaši kartu a reboot do linuxu pomocí loadlin. 1.2. Novější jádro Dále je potřeba nové jádro a to minimálně verze 2.1.112. Lze nalézt na ftp://ftp.cz.kernel.org 1.3. XFree86, který obsahuje XF86_FBDev server (neboli frame buffer server) V době vzniku tohoto dokumentu je poslední verze XFree86 3.3.3.1. a lze ji nalézt na ftp://ftp.xfree86.org. Jak se instaluje/upgraduje nová verze je popsáno v příslušném README k nové verzi. 2. Jak to zprovoznit? 2.1. Jádro Nové jádro rozbalíme do adresáře /usr/src a vytvoříme symbolický link nového jádra na /usr/src/linux, něco jako 'ln -s /usr/src/linux-2.x.x /usr/src/linux'. Přejděte to adresáře /usr/src/linux a nakonfigurujte nové jádro pomocí příkazu 'make config' nebo 'make menuconfig' nebo 'make xconfig'. Většina z vás asi použije 'make menuconfig', protože vám ještě nejedou Xka. Jádro si nastavte podle svých představ a ještě nastavte následující položky: o Code Maturity Level [x] Enable the prompt for development and/or incomplete drivers o Console drivers [x] VGA Text console [x] Video selection support [x] Support for frame buffer devices [x] VESA VGA Graphics console [x] Advanced low level drivers [x] Mono,2bpp,4bpp,8bpp,16bpp,24bpp a 32bpp packed pixel drivers [x] VGA character/attribute support Nyní máme nakonfigurované nové jádro a můžeme se pustit do překladu. Na příkazovém řádku zadejte postupně 'make dep', 'make clean', 'make bzImage', 'make modules', 'make modules_install' a 'depmod -a'. Pokud se při překladu vyskytne chyba tak vás musím odkázat na příslušné HOWTO na kompilaci nového jádra (není na to místo ani čas). Předpokládám, že všechno proběhlo v pořádku, takže můžete zkopírovat nové jádro /usr/src/linux/arch/i386/boot/bzImage do adresáře /boot a přejmenovat ho třeba na bzImage-2.x.x. Pro správnou funkčnost jádra musíte přidat pár věcí do souboru /etc/lilo.conf. o Musíte přidat nový image na bootování, např: image=/boot/bzImage-2.x.x label=linux-2.x.x root=/dev/hda2 <= zde změňte na váš root FS read-only vga=794 <= k tomuto parametru se dostaneme v dalším odstavci o Změňte parametr vga=... Tento parametr nastavuje grafická mód frame bufferu podle následující tabulky -------------------------------------------------------------------- | Počet barev | 640x480 | 800x600 | 1024x768 | 1280x1024 | 1600x1200 | -------------------------------------------------------------------- | 256 | 769 | 771 | 773 | 775 | 796 | | 32768 | 784 | 787 | 790 | 793 | 797 | | 65536 | 785 | 788 | 791 | 794 | 798 | | 16,8M | 786 | 789 | 792 | 795 | 799 | -------------------------------------------------------------------- Pokud jste se dostali až sem máte jistě zkompilované jádro, upravený lilo.conf a nyní čekáte co dál. Pokud chcete aby se projevila jakákoli změna konfigurační- ho souboru /etc/lilo.conf musíte po každé změně spustit /sbin/lilo. Takže nyní máme nové jádro, upravený lilo.conf a nezbývá než restartovat systém a zavést nové jádro. Vše by mělo proběhnout naprosto stejně jako předtím, ale místo textové konzoly máte grafickou a při startu se bám zjeví logo tučňáka vpravo nahoře. 2.2. Jak na /dev/fb0? Máme nabootováno nové jádro a pokud chceme Xka, musíme ještě vytvořit znakové zařízení /dev/fb0 s hlavním (major) číslem 29 a s vedlejším (minor) číslem 0. Dosáhneme toho s pomocí příkazu 'mknod c /dev/fb0 29 0'. Pro zpětnou kompati- bilitu je nutné vytvořit symbolický link /dev/fb0current na /dev/fb0 a to pomocí 'ln -s /dev/fb0 /dev/fb0current'. Pokud máte více grafických adaptérů, musíte instalovat další znaková zažízení (fb1, fb2, ...). Instalujete analogicky jako /dev/fb0 ale s tím rozdílem, že s rostoucím číslem FB se mění velejší (minor) číslo zařízení (fb0 = 29 0, fb1 = 29 32, fb2 = 29 64, ...). 2.3. XF86_FBDev Výše sem vám sděloval že zde není čas na vysvětlování jak upgradovat XFree86, takže doufám že máte již instalováno. Hlavně nezapomeňte vytvořit symbolický link X FB serveru na X (ln -s /usr/X11R6/bin/XF86_FBDev /usr/X11R6/bin/X). 2.4. Konfigurace Xek pomocí XF86Config Tento soubor se obvykle nachází v adresáři /etc/X11 nebo je tam alespoň symbolický link na jíné místo. Pro nás jsou kritické sekce Monitor, Device a Screen. Jak mají následující sekce vypadat, vám ukážu na příkladu: o Device Section "Device" Indetifier "My Video Card" End Section o Monitor Section "Monitor" Identifier "My Monitor" HorizSync 31.5-82 VertRefresh 60-150 Mode "fb1280x1024" <= tento mód je výstupem programu fbset DotClock 131.097 viz. další odstavec HTimings 1280 1312 1472 1632 VTimings 1024 1028 1032 1048 Flags "-HSync" "-VSync" EndMode EndSection o Screen Section "Screen" Driver "FBDev" Device "My Video Card" Monitor "My Monitor" Subsection "Display" Depth 16 Modes "fb1280x1024" Virtual 1280 1024 <= následující dva řádky se musí schodovat ViewPort 0 0 s nastavením modu (rozlišení) a musí EndSubsection zde být uvedeny, jinak se to nerozjede EndSection Toto byl například můj konfigurační soubor (část) pro Xka. Program fbset lze nalézt například na ftp.mendelu.cz a k němu také nové glibc-2.1, bez něhož program nepracuje. Výše bylo napsáno, že mód v sekci Monitor je výstupem programu fbset. Je to pravda a provede se pomocí 'fbset -x', kdy vám vypíše nastavení pro váš konfigurační soubor. Takže potom nakopírovat do sekce Monitor, přejmenovat na nějaký srozumitelný název a změnit také v sekci Screen. 3. Závěr Doufám, že vám tento dokument pomohl při instalaci frame bufferu na váš počítač. Vývoj jde neustále dopředu a proto nové verze tohoto dokumentu bude moct nalézt na ftp://ftp.mendelu.cz, zde budou také aktualizovány ostatní balíky potřebné pro chod frame bufferu.