Framebuffer Splash

A Gentoo Linux Wiki wikiből

Tartalomjegyzék

[szerkesztés] Fordító megjegyzései

Ez a leírás, a http://gentoo-wiki.com/HOWTO_fbsplash fordítása. Megpróbáltam mindenhol hűen követni az eredeti szöveget.Legyetek megértőek, ha esetleg nem sikerült tökéletesen.

MÉG FORDÍTÁS ALATT !! FIXME !!


Elkezdtem aktualizálni az angol nyelvű wikihez. : Balage 2006. június 15., 09:03 (UTC)

[szerkesztés] Bevezető

Először is szeretnék köszönetet mondani egy Gentoo fejlesztőnek, Spock -nak, a gensplash(fbsplash és splashutils) és a vesafb-tng fejlesztéséért.Spock használati útmutatója megtalálható itt: Gensplash in 5 Easy Steps.

[szerkesztés] Mi az a gensplash és az fbsplash?

Gensplash egy project amit Spock kezdett el fejleszteni, kinek a célja az volt, hogy készítsen egy eszközkészletet,amelyik üzenetek mutatásával, animációkkal és folyamatjelzö csíkkal stb. gazdagíthatják a Gentoo boot folyamatot. A *splash (bootsplash, gensplash, fbsplash, és splashutils) nevű cuccok,és egymáshoz való viszonyuk magyarázata,a faq címen található Spock Gensplash oldalán.

Fbsplash a gensplash project része. Az fbsplash dokumentációja így ír róla, !! FIXME !! "a framebuffer splash egy kernel funkció, amely lehetővé teszi háttérkép megjelenítését a kiválasztott konzolokon valamint, hogy az első konzolt úgynevezett csendes-módra állítani a rendszer bootolási, újraindítási és leállítási folyamata során." Az fbsplash eszköz a /dev/fbsplash path alatt található .Ahhoz hogy az fbsplash működjön, szükséges egy frame buffer eszköz.

[szerkesztés] Mi az a Frame Buffer eszköz?

A frame buffer eszköz a grafikus hardver egy leképezése. Több videó hardver frame buffer-jét reprezentálja, és lehetővé teszi a programoknak, hogy egy jól definiált interface-en keresztül használják a grafikus hardvert. Ez azért hasznos, mert a szoftvernek nem kell tudnia semmit a hardver alacsonyszintű kezeléséről. Az eszköz egy speciális eszközleírón keresztül érhető el, amely többnyire a /dev könyvtárban található. ( pl. /dev/fb* )

Több különböző frame buffer eszköz létezik.

  1. Általános Frame Buffer eszközök
    • vesafb (vesa frame buffer)
    • vesafb-tng (vesa frame buffer - a következő generáció)
  2. Graphikus Kártya Specifikus Eszközök
    • rivafb (régebbi Nvidia Chipset-hez)
    • nVidiafb (újjabb nVidia Chipset-ekhez)
    • radeonfb (ATI Chipset-ekhez)

Az fbsplash működik a fenti frame buffer eszközök bármelyikével, illetve bármilyennel, amely támogatja a 8/15/16/24/32bpp directcolor/pseudocolor módokat.

[szerkesztés] Telepítés

Az alábbi pédában a vesafb-tng frame buffer eszközt fogjuk használni. Ha problémáid vannak, mint pl. a splash képernyő nem jelenik meg, akkor használj vesafb -t helyette.

[szerkesztés] A kernel patchelése ( foltozása )

Note: Győződj meg róla, hogy a kernel forrásod tartalmazza az fbsplash foltkészletet. A gentoo-sources alapértelmezetként tartalmazza.

Figyelem: Spock szerint egy hiba van az fbsplash implementációjában a gentoo-sources-2.6.15-r1 kernelforrásban. Ajánlott egy újabb verzióra frissíteni.

A hozzá tartozó Bugzilla bejegyzés itt található.


Ha neked nincsennek meg ezek a foltok, leszedheted őket Spock honlapjáról, és felrakhatod őket az alábbi instrukciók alapján.

A kernel patchelése

# cd /usr/src
# wget http://dev.gentoo.org/~spock/projects/gensplash/archive/fbsplash-0.9.2-r4-2.6.13-rc6.patch
# cd linux
# patch -p1 < ../fbsplash-0.9.2-r4-2.6.13-rc6.patch

[szerkesztés] A Kernel beállítása, és fordítása

Összegezve, a következőket fogjuk tenni.

  1. emerge splashutils.
  2. emerge splash-themes-gentoo & splash-themes-livecd, ha szeretnél néhány témát.
  3. Győződj meg róla, hogy a /usr/src/linux a gentoo-sources forrásra mutat.
  4. Konfigurálni fogjuk a kernelt, genkernellel vagy kézzel.
Note: Van akinek problémája lehet a splashutils telepítéséve mielött a kernelt konfigurálná. Ebben az esetben egyszerűen a kernel konfigurálás után telepítsük a splashutils-t.

Kód: A splashutils és a témák telepítése
# emerge -va splashutils splash-themes-gentoo splash-themes-livecd

Attól függően, hogy genkernelt használsz, vagy kézzel fordítod a kerneled, különböző lépéseket kell tenned, hogy támogassa a kernel az fbsplash-t. Kövesd a megfelelő bekezdést, az alábbiak közül:

[szerkesztés] Genkernel

Bizonyosodj meg róla, hogy az fbsplash-el patchelt kernel forrásod a /usr/src/linux path alatt van.

# ls -al /usr/src/linux
lrwxrwxrwx  1 root root 23 Jan 25 09:27 /usr/src/linux -> linux-2.6.valami

Ha az nem jó:

# ( cd /usr/src/ ; ln -fns linux-2.6-megfelelő linux forrás jegyzék )

Emergeld a media-gfx/splashutils csomagot, állítsd be a kerneled, és állítsd be, hogy a gensplash-t a genkernel hozzá adja az initrd-hez.

# emerge splashutils
# cd /usr/src/linux/
# genkernel --menuconfig --gensplash=emergence all

ne felejtsd el futtatni ezt:

# cd /usr/src/linux && make oldconfig && make modules_prepare

ha a splashutils-t egy még ezelőtt nem lefordított kernel forráshoz mergeled.

If you wish to use an installed theme other than emergence (emergence will show 2004.0, which may not be your version), replace emergence in the above line with the name of another theme (located in /etc/splash - watch for capitalisation). Now, you must set the kernel options listed in the manual section below. Once you do that, you're all set. Genkernel will build and install your kernel with gensplash.!! FIXME !!

Ha a Genkernel befejezte, ugorj le a Bootloader beállítása ponthoz.

Néhány felhasználónál problémákat okozhat ha a splashutils-t a kernel beállítása előtt rakja fel, ilyenkor egyszerűen utánna kell felrakni.

[szerkesztés] Kézi fordítás

Válts a következő jegyzékre, és lépj be a beállítőmenübe:

# cd /usr/src/linux/
# make menuconfig

Először kapcsold be a vesafb-tng frame buffer támogatást a kernelben, az alábbi opciókat választva. Ki hagyhatod ezeket a lépéseket, ha már beállítottál egy másik frame buffer eszközt a vesa-tng mellett.

Linux Kernel Beállítás: 2.6
Device Drivers > Graphics support:
 [*] Support for frame buffer devices
 <*>   VESA VGA graphics support
         VESA driver type (vesafb-tng)  --->
 (HRESxVRES@FREQ) VESA default mode    # a saját felbontás@freq értékedet add meg itt !
                                       # 8pp az egyetlen támogatott mód jelenleg
                                       # Pl: (1024x768@72)
Device Drivers > Graphics support > Console display driver support:
 [*] Video mode selection support
 <*> Framebuffer Console support
Device Drivers > Graphics support:
 [*] Support for the framebuffer splash

Ha bármelyik, ezek közül az opciók közül nem jelenik meg, bizonyodj meg róla, hogy nem jelölted be a tileblitting támogatást:

Device Drivers > Graphics support:
 [ ] Enable Tile Blitting Support

Ha az initramfs image-t dinamikusan a boot folyamat alatt akarod betölteni ( úgy kéne ), akkor engedélyezd a RAM disk támogatást: (Genkernel-t használóknak muszáj ezt használni.)

Device Drivers > Block devices:
 <*> RAM disk support
 (4096) Default RAM disk size (kbytes) (NEW)
 [*]   Initial RAM disk (initrd) support

Ha azt akarod, hogy az F2 billentyű-vel lehessen váltani a "beszédes", és a "csendes" mód között, be kell állítanod a CONFIG_INPUT_EVDEV=y opciót a kernel konfigodban. Itt találod meg:

Linux Kernel Beállítás: 2.6
 Device Drivers > Input Device Support
   [*]Event Interface

Miután beállítottad a kerneled, le kell fordítanod. VIGYÁZAT: Ez a lépés lényeges, mielőtt felrakod a splashutils-t!

# make && make modules_install

Először győződj meg róla, hogy a /boot mountolva van,aztán másold át a fileokat. Vedd észre, hogy ezek a filenevek nem precizek.A /boot -ban lévő filejaid neve az általad használt kerneltől függ. ( Páldául ha gentoo-sources-2.6.11-r4 használnék, akkor én /boot/kernel-gentoo-2.6.11-r4 -nak nevezném a kernelem ) Ne izgulj a hibaüzenetek miatt sem a mount /boot parancsnál. Ez csak egy ellenőrzés, hogy megbizonyosodjunk arról, hogy a /boot partició mountolva van.

# mount /boot/
# make install

[szerkesztés] A splashutils emergelése

Most itt az ideje, hogy emegeld a media-gfx/splashutils -t. A splashutils csomag olyan binárisok gyüjteménye, amik arra valók, hogy betöltsék a képeket a framebuffer-be.

# emerge splashutils

A példa Gentoo témákat ( emergence, gentoo ) eltávolították a splashutils csomagból (>=media-gfx/splashutils-1.1.9) Hogy legyen néhány témád, emergelheted ezeket:

# emerge media-gfx/splash-themes-livecd
# emerge media-gfx/splash-themes-gentoo

[szerkesztés] Initramfs Image Készítése

Ha azt akarod, hogy a sexi háttérképed már a boot folyamat elején megjelenjen,initramfs -t kell használnod. Egyébként átugorhatsz a A Rendszerbetöltő Beállítása -részre.

[szerkesztés] Mi az az initramfs?

Initramfs (initial ramfs) is a chunk of code that unpacks the compressed cpio image midway through the kernel boot process. The files contained within that image are then used to populate the root filesystem. Initramfs is a part of a bigger concept called 'early-userspace' (Spock). !! FIXME !!

Hogy használd initramfst,egy initramfs image-t kell készítened. Egy initramfs imagenek a következőket kéne tartalmaznia:

  1. a képeket, amit splash screenként lesznek megjelenítve
  2. a szükséges config fileokat
  3. felhasználói segítséget.

A képek és a config fileok ( 1. és 2. pont ) alkotják a gensplash témát (theme).

Két módon használhatod az initramfs image-t. Az első módszer is működik, de a második lehetőség használata a javasolt, mert az kényelmesebb.

  1. Az Initramfs Image belefordítása a kernelbe
  2. loading the initramfs image dynamically at boot time

FONTOS: Ha az initramfs-t a boot folyamat alatt töltöd be, nem kell mindig újrafordítanod a kernelt, ha megváltoztatod az image-t.

[szerkesztés] 1. Opció: Az Initramfs Image belefordítása a kernelbe

Először töröld a jelenlegi initramfs image-t:

# rm -iv /usr/src/linux/usr/initramfs_data.cpio.gz

Azután, egy új initramfs image-t kell csinálnod, ami tartalmazza a képeket, beállítás file-okat, és a felhasználói segítséget. Nagyon egyszerű használni a splash_geninitramfs programocskát, ami a splashutils csomag része.

# splash_geninitramfs -g /usr/src/linux/usr/initramfs_data.cpio.gz -v -r 1024x768 emergence

vagy

# splash_geninitramfs -g /usr/src/linux-(kernel-version)/usr/initramfs_data.cpio.gz -v -r 1024x768 emergence

Az,hogy az initramfs image-t közvetlenül a kernelbe fordítod, azzal a hátránnyal jár, hogy újra kell fordítanod a kerneled ( ezt nem kell megtenned, ha a második eshatőséget választod ):

# cd /usr/src/linux/
# touch usr/initramfs_data.cpio.gz
# make bzImage
# mount /boot/
# make install

[szerkesztés] 2. Opció: Az Initramfs Image Dinamikus Betöltése a Boot Folyamat alatt

Ennél a lehetőségnél, az initramfs image-t különálló fileként készíted el, amit initrd fileként is ismert. Ezért nem kell a kernelt mindig újrafordítanod, amikor az image-t meg akarod változtatni. Még egy plusz sort kell boot loadered config file-jába raknod, hogy be tudja tölteni az initrd file-t.

Nos, az egyetlen dolog, amit itt tenned kell, hogy használod a splash_geninitramfs-t hogy elkészítse az initrd file-t. (ami tartalmazza a képeket, a beállításokat, és a userspace helper-t):

# mount /boot/
# cd /etc/splash/
# splash_geninitramfs -g /boot/fbsplash-emergence-1024x768 -v -r 1024x768 emergence

Változtasd meg a felbontást, hogy a te monitorod felbontásával egyezzen meg.

Figyelem: Ki kell törölnöd a 'default' szimbólikus linket a /etc/splash jegyzékből. Különben a képek nem fognak látszani, (Gentoo-2.6.11-r9). Meg is változtathatod a linket, hogy az általad használd témára mutasson, ahelyett hogy törölnéd. Ahogy kívánod.
# rm /etc/splash/default

Azonban, Spock megjegyzése, "Nem fogod tudni hozzáfűzni az initramfs adatokat egy initrd image-hez". Ezért, ez a lehetőség nem lenne használható a genkernel-t használó felhasználók számára, mert a genkernel saját initrd image-t készít, hogy a boot folyamat alatt azt használja, hacsak nem változtatod meg a kernel, és az initrd sorát.

Edited by solshark [solshark@rambler.ru]

A genkernel felhasználóknak ez a lehetőség áll most rendelkezésére:

genkernel --gensplash=DangerGirl initrd

Az én genkernel verzióm 3.3.6


grub.conf -ból:

File: /boot/grub/grub.conf
root=/dev/ram0 real_root=/dev/$ROOT
initrd (hd0,0)/boot/initrd

to

root=/dev/$ROOT
initrd (hd0,0)/boot/fbsplash-emergence-1024x768

[szerkesztés] Több téma beszerzése

A media-gfx/bootsplash-themes csomag sok témát tartalmaz. Ennek régebbi verziói dependelnek a bootsplash-re. Hogy a gensplasht használni tudd, a --nodeps és a --oneshot kapcsolókkal kell emergelned. Így átugorja a függőségeket és elkerüli hogy problémák legyenek az emerge --update world használatánál:

# emerge --nodeps --oneshot bootsplash-themes

Ez telepíteni fogja a témákat a /etc/bootsplash-ba. Utánna át kell konvertálnod őket gensplash kompatibilis témákká.

[szerkesztés] Bootsplash témák Gensplash témákká alakítása

Note: A jelenlegi bootsplash-themes verzió (20040821) automatikusan átalakítja a témákat splashutils kompatibilissá, és berakja őket a /etc/splash/ jegyzékbe, így az átalakítás szükségtelen.

Spokc ismét ellátott minket egy hasznos kis segéd programmal, melyet bootsplash2fbsplash-nek hívnak, és a splashutils ebuildben van. Ezzel a programmal könnyen konvertálhatjuk a bootsplash témákat gensplash formátumuvá. Például, ha van egy bootsplashed, amit gentoo-highquality-nak hívnak, és a /etc/bootsplash-ben van, csak annyit kell tenned, hogy futtatod a következő parancsot:

  1. bootsplash2fbsplash gentoo-highquality

és a program elkészíti neked a gensplash kompatibilis témát az /etc/splash jegyzékbe, és az /etc/splash/gentoo-highquality jegyzékben ott lesz minden szükséges fájl. Hogy gyorsan konvertálj minden telepített témát, futtasd a következő parancsot

# for i in /etc/bootsplash/*; do bootsplash2fbsplash $i; done

Ha a felsó parancs nem működik, próbáld ezt

# for i in $(ls -1 /etc/bootsplash); do bootsplash2fbsplash $i; done

[szerkesztés] A Rendszerbetöltő Beállítása

[szerkesztés] Kernel Opciók

You first need an option which specifies the frame buffer device. In the following example, we specify that we would like to use vesafb-tng with ywrap and mtrr support at a resolution of 1024x768, 16bpp color and a refresh rate of 85Hz.

video=vesafb:ywrap,mtrr,1024x768-16@85

Note that for kernel versions from 2.6.13 onwards you *must* specify the mtrr mode: eg "mtrr:2".

Or, if you are using vesa (not vesa-tng), use instead (for 1024x768-24):

vga=792

note:

Note: if you are not able to specify your resolution and depth in the kernel configuration check out Bootsplash:Grubsplash Howto for the grub configuration part. Skip emerge boosplash and similar stuff. Just scroll down to the grub configuration.

Fbsplash requires its own option which allows you to specify which theme should be used. In this case, the default theme is emergence. The other option can be set to verbose or silent. If silent is set, it will hide all the bootup information. Otherwise, you will be shown all the bootup information on system startup. Both these values have to be set.

splash=verbose,theme:emergence

If you decided to use an initrd file you will need to place an additional option in the boot loader config:

initrd /boot/fbsplash-emergence-1024x768     # Grub
initrd = /boot/fbsplash-emergence-1024x768   # Lilo

In the above example, it is assumed that the name of the initrd file is fbsplash-emergence-1024x768 (and it resides in the /boot partition or directory).

You will probably want to pick a theme matching the version of your system, emergence says "2004.0"

Below are examples for both Grub and Lilo config files. It is assumed that the custom theme 'newtheme', a resolution of 1280x1024, 32bpp and a refresh rate of 70Hz are used. The specified fbsplash mode is 'silent' and an initrd file is used (hence the additional 'initrd' line).

Also note that for both GRUB and LILO, CONSOLE=/dev/tty1 must be added for silent mode to operate.

Figyelem: The newest fbsplash patch requires an additional kernel boot option, in case when you want to use a silent boot image. Simply write a "quiet" in the kernel boot line of your grub.conf. Otherwise, the kernel will overwrite the bootsplash image with its output.

[szerkesztés] GRUB Example

File: grub.conf
title  Gentoo
root (hd0,0)
kernel /kernel-2.6.11-r11 root=/dev/hdb3 video=vesafb:1280x1024-32@80,mtrr,ywrap splash=silent,fadein,theme:emergence quiet CONSOLE=/dev/tty1
initrd (hd0,0)/fbsplash-newtheme-1280x1024
#Try 16 bit colour e.g. video=vesafb:ywrap,mtrr,1280x1024-16@70
#if you get errors returning to verbose mode on different themes

Genkernel users should use something like this for the kernel line and the initrd line for the regular kernel:

kernel (hd0,0)/boot/kernel-2.6.9-gentoo-r13 root=/dev/ram0 init=/linuxrc real_root=/dev/hda1 quiet splash=verbose,theme:emergence video=vesafb:ywrap,mtrr,1024x768-32@70 CONSOLE=/dev/tty1
initrd (hd0,0)/boot/initrd-2.6.9-gentoo-r13

Replace (hd0,0) with your boot partition. If there is no separate boot partition, use the root partition number and prepend /boot to the kernel and initrd paths. Please note that you must specify either silent or verbose in the splash parameter, or splash will not load at all, i.e. "splash=theme:emergence" will not work.

[szerkesztés] LILO Example

File: lilo.conf
image=/boot/kernel-2.6.8-gentoo-r1
label = "Gentoo"
root = /dev/hda3
append="video=vesafb:1280x1024-32@80,mtrr,ywrap splash=silent,fadein,theme:emergence quiet CONSOLE=/dev/tty1"

read-only
initrd = /boot/fbsplash-newtheme-1280x1024

Do not forget to run lilo after you have adjusted the lilo.conf file:

# mount /boot/
# lilo -v

After all this work and a reboot you should have a graphical boot.

[szerkesztés] Adding Background To All Consoles

If you want all consoles to have a splash screen then type the following command:

# rc-update add splash default
Note: This option will load the splash page near the end of the boot process. To use the bootsplash immediately, add splash to load on BOOT
# rc-update add splash boot
Figyelem: As the splash script requires 'local' to be run first, adding splash to runlevel BOOT will force local to execute earlier, which may cause some problems, eg. when you are using some web services in local (eg. ntp)

[szerkesztés] Gensplash on Other Distributions

Gensplash will also work on other distributions. You can find tutorials for other distributions (Debian, Fedora and ArchLinux) at Spock's homepage.

[szerkesztés] Troubleshooting

[szerkesztés] Users With /usr on a Separate Partition

If you are using splashutils version 0.9-pre08 or later and have /usr on a separate partition, gensplash should work out of the box (without any modifications). If you, however, use an older version of splashutils and, for some bizarre reason, stubbornly refuse to update it, please use the instructions below.

The program and libraries that splash_util needs to run fbset and display your splash image are kept in /usr/bin and /usr/lib. So if you have these on separate partitions from / (such as a RAID or LVM2 partition), they may not be available (mounted) at the time splash_utils needs them (when using the older version of splashutils), and you won't see your beautiful splash.

The solution? Copy them to somewhere that they are available, as follows (with thanks to aslocum and the Gentoo forums Gensplash-How-to with progressbar!!!!! thread):

# cp -p /usr/bin/fbset /sbin
# cp -p /usr/lib/libjpeg.so.62 /lib
# cp -p /usr/lib/libpng.so.3 /lib

edit the /sbin/splash file, and make line 31 read:

res=`/sbin/fbset | grep "^mode" | sed -r 's/mode "([0-9]+x[0-9]+).*/\1/'`

The only difference in this line is to add /sbin/ before fbset. Save and exit, and your splash should display properly.

[szerkesztés] x86_64 / IA64

The 'vesafb-tng' patch will not work on 64-bit systems (x86_64 and ia64), because the vm86 mode is not supported for OSes running in 64-bit mode. If you happen to own a 64-bit box, you're limited to plain vesafb

Because vesafb-tng doesn't work on 64bits systems , you couldn't use fbsplash on this arch.

[szerkesztés] Intel i810

Néhány embernek problémái vannak a vesa-tng, i810 integrált grafikus chipekkel való együttműködéssel. Ha a gentoo-kernel-2.6.11-r9 előtti kernelt használsz, az alábbi kernel configot használd: ( Megjegyzás: Most fordítottam egy gentoo-kernel-2.6.12-r10-t és ez a beállítás működött )

Linux Kernel Beállítás: Intel i810
Device Drivers > Graphics support:
 [*] Support for frame buffer devices
 < >   VESA VGA graphics support
 <*> Intel 810/815 support (EXPERIMENTAL)

File: grub.conf
video=i810fb:vram:4,xres:1024,yres:768,bpp:16,hsync1:30,hsync2:55,vsync1:50,vsync2:85,accel

Változtasd meg a vram, és synx értékeid a te adapterednek és/vagy monitorodnak megfelelőre. Ez elég "konzervatív" és a legtöbb esetben működnie kéne. Remélhetőleg ez segít.

A 2.6.11-gentoo-r9-es kerneltől kezdve az i810 chipset már nem támogatja a 810/815-ös frame buffer eszközt. Nekem a vga16 frane buffert kellett használnom. Ne engedélyezs a VESA, vagy az i810 frame buffer opciókat. A Direct Rendering Manager és az agpgart nem fog helyesen lefordúlni, ha mégis így állítod be. A kernel configban ezt válaszd:

Linux Kernel Beállítás: Intel i810 on 2.6.11-gentoo-r9?
Device Drivers > Graphics support:
 [*] Support for frame buffer devices
 [*]   Enable Video Mode Handling Helpers
 <*>   VGA 16-color graphics support
 < >   VESA VGA graphics support
 < > Intel 810/815 support (EXPERIMENTAL)
  • Updated I810 problems solved! ( úgy látszik ez a probléma végső megoldása )

Helló srácok, ginda vagyok, és új vagyok erre felé, de azoknak kiknek problémái vannak az fbsplashel, és az i810-al mondom, hogy én 2.6.13.1 kernel-t használok (jól kéne működjön űjabbal is) nitro patch készlettel. Minden amit a kernel configban beállítottam, az hogy a vga és a vesa opciókat letiltottam, és engedélyeztem az i810fb-t és a generalized timings-t. Itt a grub beállítás, amit a kernel után írtam:

video=i810fb:vram:4,bpp:16(or 24),xres:1024,yres:768,hsync1:30,hsync2:54,vsync1:50,vsync2:120,mtrr splash=silent,theme:default

L8ter LordPhoenix

[szerkesztés] ATI Radeon

Radeonfb-t használva simán megy ( Radeon M9-en és 9800PRO-n tesztelve ). Egyszerűen forgasd a kernelt, úgy ahogy itt látod:

Linux Kernel Beállítás: ATI Radeon
Device Drivers > Graphics support:
 [*] Support for frame buffer devices
 <*>   ATI Radeon display support
make && make clean modules modules_install install

És add hozzá ezt a bootloadered kernel argumentumaihoz

video=radeonfb

The kernel will now use the default resolution and bit depth for your graphic card. Alternatively, you may choose a specific resolution/mode something like this:

video=radeonfb:1024x768
video=radeonfb:1400x1050-32@60

Setting 32bit explicitly may be helpful if the theme colors are distorted due to a 24bit default.

[szerkesztés] ATI Radeon X800

I did not manage to get vesafb-tng working with this card. Always got vesafb: mode switch failed (eax: 0xXXXX)

I switched to standard vesafb and finally it worked with follwing boot options:

File: /boot/grub/grub.conf
title=Gentoo Linux 2.6.12-r9
root (hd1,0)
kernel (hd1,0)/kernel-2.6.12-r9 root=/dev/hdb3 video=vesafb:ywrap,mtrr vga=791 splash=silent,fadein,theme:livecd-2005.1 quiet CONSOLE=/dev/tty1
initrd (hd1,0)/fbsplash-livecd-1024x768

IMPORTANT KERNEL OPTIONS:

 INPUT_EVDEV =y   to make F2 button work
 DEVFS_MOUNT =n   to make silent mode work: otherwise x does not start

Reemerge your splashutils with

# emerge -v splashutils

and rebuild your ramdisks with f.e.

# splash_geninitramfs -v -g /boot/fbsplash-livecd-1024x768 -r 1024x768 livecd-2005.1

if you updated your kernel!!!

Remove consolefont from your bootlevel

# rc-update del consolefont boot

If you've trouble with kernel messages destroying your splash, try kernel options kdgraphics and tty:x and emerge splashutils with kdgraphics support.

Regards, fritzchen

[szerkesztés] PRE-VBE 2.0 cards are not supported

This occurs when you have an old graphic card.

In make menuconfig, remove everything in graphic drivers but VESA, FRAMEBUFFER SUPPORT and CONSOLE settings.( Those you must turn on to activate FB SPLASH). If necessary, use VESA instead of VESA-TNG.

Linux Kernel Beállítás: VESA
Device Drivers > Graphics support:
 [*] Support for frame buffer devices
 <*>   VESA VGA graphics support
         VESA driver type (vesafb-tng)  --->
      or VESA driver type (vesafb) instead
 (HRESxVRES@FREQ) VESA default mode

Device Drivers >
 Graphics support >
  Console display driver support:
   [*] Video mode selection support
   <*> Framebuffer Console support
   [*] Support for the framebuffer splash

Remember to turn off other graphic drivers( like Trident )

In your grub.conf, use vga=x instead of video=vesafb:???x???-??@??

File: Reference value for x
         640x480  | 800x600  | 1024x768 | 1280x1024| 1152x864 |1600x1200
       +----------+----------+----------+----------+----------+---------
 8 bit |   769    |   771    |   773    |   775    |   353    |   800
15 bit |   784    |   787    |   790    |   793    |   354    |   801
16 bit |   785    |   788    |   791    |   794    |   355    |   802
24 bit |   786    |   789    |   792    |   795    |          |   803

It should work.

[szerkesztés] Can't find the required video mode for your resolution (vesafb)?

VESAFB requires kernel argument vga=x to set the screen resolution and colors. If the video mode is not listed for your resolution you can still compute it using vbetest especially if your screen resolution is non-standard - e.g. 1680x1050 or 1280x800. vbetest is a command line tool that lists the video modes your graphics card supports. First make sure package lrmi is installed on your system:

# emerge lrmi

then run vbetest.

Kód: vbetest lists supported video modes
$ vbetest
VBE Version 3.0
Intel(r)915GM/910ML/915MS Graphics Chip Accelerated VGA BIOS
[352] 1680x1050 (256 color palette)
[353] 1680x1050 (5:6:5)
[354] 1680x1050 (8:8:8)
[355] 1280x800 (256 color palette)
[356] 1280x800 (5:6:5)
[357] 1280x800 (8:8:8)
[263] 1280x1024 (256 color palette)
[282] 1280x1024 (5:6:5)
[283] 1280x1024 (8:8:8)
[261] 1024x768 (256 color palette)
[279] 1024x768 (5:6:5)
[280] 1024x768 (8:8:8)
[274] 640x480 (8:8:8)
[276] 800x600 (5:6:5)
[277] 800x600 (8:8:8)
[257] 640x480 (256 color palette)
[259] 800x600 (256 color palette)
[273] 640x480 (5:6:5)
Type a mode number, or 'q' to quit - 353
 

Modes in square brackets are listed in decimal. Add 512 to the mode you need; pass the result (for example 353+512=865) to your kernel using vga=x, either in decimal (vga=865) or in hexadecimal (vga=0x361).

Thanks to bdz in Gentoo forums, Getting DRI working with Intel Sonoma (i915GM) chipset.

[szerkesztés] Background image loading in the middle of the boot process

You may (and probably will) find that the background image is loaded with a certain few-seconds-delay even when using an initramfs image. During that time the standard black-and-white 640x480 resolution is used.

Such behaviour is normal. The only workaround (in order to get the background image as early as possible) would be using the vesafb frame buffer device (instead of vesafb-tng). Here's Spock's elaborate answer on that issue: "The initramfs is used to populate the root filesystem before the frame-buffer subsystem is initialized, so it's good enough - don't worry about it. As you might have noticed, your PC boots into the text mode, and not the graphics mode. The graphics mode is set up when the framebuffer sub-system is initialized. But before that can happen, other things must be initialized, things that take some time. That's why for a second or two you might be seeing the kernel messages. You might say that with vesafb you didn't have those. And you will be right. But vesafb is an exception, not a rule (it's initialized while the kernel is being loaded) . Every other fb driver, including vesafb-tng, rivafb, radeonfb,... is initialized with the fbdev subsystem".

Compiling the initramfs image directly into the kernel rather than loading it at boot should also greatly reduce the time it takes to display the bootsplash image as it can then load all the necessery files straight away rather than waiting untill filesystems have been mounted.

[szerkesztés] fbsplash on PowerPC

To get fbsplash working on the PowerPC architecture, you need to add a line to your (possibly nonexistent) /etc/portage/package.keywords file:

media-gfx/splashutils ~ppc

This will tell emerge to ignore the fact that the splashutils package is unstable under ppc.

If you are using yaboot, then here is your initrd and append line (which go in your /etc/yaboot.conf file):

initrd=/boot/fbsplash-themename-resolution
append="video=radeonfb:resolution-bitdepth splash=silent"

The initrd should be relative to the root filesystem, but might be different based on your system setup. You might also place your initrd somewhere else entirely -- for instance, you could have my kernels in a /kernel directory and initrd images in /images.

i have problem running maconlinux when fbsplash is enabled. anyone else having this problem?

[szerkesztés] putfont: PIO_FONT: Invalid argument

This message might appear in silent mode. To fix it, remove consolefont from the boot-runlevel:

# rc-update del consolefont boot

It is safe to remove consolefont from the boot-runlevel, because fbsplash runs the setfont-command after finishing the boot anyway.


[szerkesztés] I upgraded to kernel 2.6.12 or higher and the bootsplash doesn't show any more

This is what you get when you run emerge splashutils

Kód: emerge splashutils
 
[...]
* If you upgrade your kernel from pre-2.6.12 to 2.6.12 or higher, please
* make sure that you remerge this package and rebuild your initrds. You
* can use the splash_geninitramfs script to do that.

* It is required that you add 'quiet CONSOLE=/dev/tty1' to your kernel
* command line parameters.
* After these modifications, the relevant part of the kernel command
* line might look like:
* splash=silent,fadein,theme:emergence quiet CONSOLE=/dev/tty1
[...]
  

[szerkesztés] Error Message complains about missing 8bpp images in themes like livecd-2005.1

If the splash doesn't load and you get error messages about missing 8bpp graphics, you're running in 8bpp mode. You can change the mode by adding the color depth to your kernel command line.

File: /boot/grub/grub.conf

change

video=radeonfb:1280x1024@75

to

video=radeonfb:1280x1024-32@75

This sets the color depth to 32 bits per pixel.

If it still doesn't work , you maybe had to specify the color depth in the kernel default mode for vesa(-tng). For example:

Linux Kernel Beállítás: Specify the color depth in the kernel
Device Drivers > Graphics support:
[*] Support for frame buffer devices
<*>   VESA VGA graphics support
        VESA driver type (vesafb-tng)  --->
(1280x1024-32@75) VESA default mode

See Spock's troubleshooting guide for details.

Személyes eszközök