# fbsplash not working, tried guides and tr-shooting[solved]

## Virtrex

I followed http://gentoo-wiki.com/HOWTO_fbsplash to the letter, tried forums hints and leads to other users, but my consoles remain completely graphic-less. I will post all information I can think of.

grub.conf

```
title=Gentoo Gnu/Linux Kernel 2.6.9 Revision 9

root (hd0,0)

kernel /boot/kernel-2.6.9-gentoo-r9 root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-80@60 splash=verbose,theme:emergence CONSOLE=/dev/tty1

initrd /boot/fbsplash-emergence-1024x768
```

fbsplash-emergence-1024x768 is in the boot directory

Don't know how to copy my kernel config to post. Any help there is appreciated.

ls /etc/splash

```
emergence  gentoo  livecd-2005.0  luxisri.ttf
```

I've tried before with bootsplash/framebuffer (using the HOWTO guide on forums), and that never worked either.

Thanks to anyone for pointing out what I'm doing wrong.

EDIT: I don't know if its a related problem, but my compiled-in font also does not work. Yes I removed consolefont from the runlevel.Last edited by Virtrex on Wed Oct 12, 2005 5:15 am; edited 2 times in total

----------

## jbro

I'm not very new to gentoo but got this working after almost giving up, so may be able to help

what si the output of

```
dmesg |grep vesafb
```

----------

## d4rkwingduck

what video card are u using ? i had the same problem just because i used vesafb instead of radeonfb  :Wink: 

----------

## Virtrex

I'm using Nvidia. If there's a special driver or kernel option I need for that I didn't see it in any howto guides.

 *Quote:*   

> dmesg | grep vesafb

 

returns

```
Kernel command line: root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-80@60 splash=verbose,theme:emergence CONSOLE=/dev/tty1

vesafb: probe of vesafb0 failed with error -6
```

Is that a device error?Last edited by Virtrex on Thu Aug 18, 2005 7:22 am; edited 1 time in total

----------

## jbro

Could be - what model card are you using?, And what version of splashutils?

----------

## Virtrex

lspci returns

```
0000:01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 4000 AGP 8x] (rev c1)
```

splashutils is version 1.1.9.7

I didn't notice if Nvidia has its own fb driver like ATI-Radeon. I did have this same problem with my old ATI card.

----------

## jbro

It does have it's own drivers but people tend to have trouble having tham and nvidia-kernel for X drivers,

I am running splashutils 1.1.9.8 - You could try that version, 

Otherwise try the nvidiafb just to see if that works and go from there

----------

## Virtrex

I emerged splashutils-1.1.9.8. This did not change anything.

I looked in /dev and noticed I have no vesafb device listed at all. That would account for the error:

```
vesafb: probe of vesafb0 failed with error -6
```

It seems like I'd need a vesafb0 in /dev for it to work, but that's just a hunch. Could this be the problem?

I would've looked for nvidiafb before but I couldn't find it in portage or in my kernel menuconfig. I recompiled nvidia-kernel to see if it would show up, it didn't. Where is nvidiafb?

----------

## jbro

nvidiafb should be in the same place as the vesa-fb stuff, device drivers - graphics i think it is, not on linux at the moment so i cantt check

----------

## Virtrex

```
Device Drivers -->

     Graphics Support -->

          Vesa Framebuffer Support -->

               vesafb

               vesafb-tng

     NVidia Riva Support
```

This is what the relevant options in my kernel are. By default I haven't selected RIVA support, and I've tried vesafb and vesafb-tng. If there are any options specifically for nvidiafb I'm pretty sure I don't have them, nor do I know how to get them. Any ideas?

I don't know much about this, but do the devices that show up in /dev do so because they're compiled into the kernel and/or loaded as modules? I would like to understand why 'dmesg' shows that the kernel looks for '/dev/vesafb0' and why 'ls /dev' shows that there is no 'vesafb0'.

----------

## jbro

I have an option 

```
nVidia Framebuffer Support
```

in the gentoo-sources 2.6.12-gentoo-r6y

 *Quote:*   

> I don't know much about this, but do the devices that show up in /dev do so because they're compiled into the kernel and/or loaded as modules? I would like to understand why 'dmesg' shows that the kernel looks for '/dev/vesafb0' and why 'ls /dev' shows that there is no 'vesafb0'.

 

I am not sure about this - i can't find any vesafb devices

----------

## Virtrex

I recently switched to kernel 2.6.9-r9 because I was having trouble with 2.6.12 . Don't quite remember what that trouble was, but I thought 2.6.9 is enough to to bootsplash and framebuffer images. I could start using 2.6.12 again, but it seems to me that this problem is in the way I set up the splash software, since I've had this problem with all kernels and with two different video cards, plus I've tried bootsplash/framebuffer and fbsplash separately. I can't shake the feeling that there's just something subtle I'm missing when I set up the software.

     I'll probably try 2.6.12 again since I like being updated. I noticed that the framebuffer software I use that /does/ work (I've used "fbi" to look at images in virtual consoles with nothing but permissions problems) are acessing the device "/dev/fb0", so come to think of that, I guess there isn't a "vesafb" device.

     Speaking of which, I tested fbi recently and I don't have a working "/dev/fb0" device anymore. I need to compile that into the kernel, right?

----------

## St. Joe

 *Virtrex wrote:*   

> ls /etc/splash
> 
> ```
> emergence  gentoo  livecd-2005.0  luxisri.ttf
> ```
> ...

 

You need a default symlink.

```
$ ls /etc/splash

default  emergence  gentoo  livecd-2005.0  livecd-2005.1  luxisri.ttf
```

----------

## torio

Do you try changing

this :

 *Virtrex wrote:*   

> 
> 
> kernel /boot/kernel-2.6.9-gentoo-r9 root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-80@60 splash=verbose,theme:emergence CONSOLE=/dev/tty1
> 
> 

 

to this             

kernel /boot/kernel-2.6.9-gentoo-r9 root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:emergence CONSOLE=/dev/tty1

note that 1024x768-80@60 the 80 is the depth in bits (should be 8, 16 , 24 or 32) 80 seems to be wrong for me maybe thats youre problem.-

sorry if i missed something out .-

bye

----------

## Virtrex

Thank you for the suggestion. I have been having a wierd scan anomaly at the top of my screen and this might be what's causing it. I will fix this promptly.

I compiled the 2.6.12 kernel and found >> Device Drivers >> Graphics Support >> Nvidia Framebuffer Support -- in it no problem. As it turns out, no kernel I can emerge from before 2.6.12 has Nvidia Framebuffer Support, but the new kernel has problems with X. *sigh*

Regardless, even with the new kernel and Nvidia Framebuffer Support compiled into the kernel, I am still not seeing any Framebuffer or Bootsplash images. I feel like I'm not trying hard enough but there's not much I can do without any leads. If anyone has ANY ideas or advice or leads, especially if you will need more information about my system, please ask and tell. To give you any system info I will probably need exact instructions on how to extract and copy it, so be specific. Thanks if you can help!

----------

## torio

Ok, if you have an Nvidia card and you compiled the kernel with support for nvidia framebuffer i asume that you chage your line in grub.conf (replace vesafb with nvidiafb o whatever the name is)

if you don't welll DO IT   :Laughing: , 

also try to remove the vesafb suport, leave only the nvidia framebuffer sup..

If you can post some machine spec's could be usefull (cpu, video card, mobo)

hope i help, bye bye

----------

## Virtrex

I did change "vesafb" to "nvidiafb" after I compiled support into the kernel. I don't remember if I disabled vesafb support though. Will do.

As for machine specs, I can post the output of "lspci" if that's enough. Anything else and I may need specific instructions. I'm still kinda new at this after all.

lspci:

```
0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8377 [KT400/KT600 AGP] Host Bridge

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8235 PCI Bridge

0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)

0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)

0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)

0000:00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)

0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge

0000:00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)

0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)

0000:00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev

74)

0000:01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 4000 AGP 8x] (rev c1)
```

----------

## Dragonlord

i have an nvidia card in one of my pcs and got the bootsplash working after some fighting. i don't know if it helps you but i can give an outline of what i did.

- one thing i noticed is that i could not use vesafb-tng or all went wrong. in 'make menuconfig' maked sure that the vesa driver 'vesafb' is selected, not 'vesafb-tng'.

- used 'video=vesafb:ywrap,mtrr vga=0x31B' in the kernel command line.

- did 'rc-update add bootsplash default'.

- did 'rc-update del consolefont'. i needed to do this always as this for some reason totally wrecks vesa if used

this has been what i had to do to get it working. maybe it's of use to you.

----------

## Virtrex

Thanks for the tip. I'm pretty sure nothing I do will help though untill I find out if/why the framebuffer device is not in /dev. I used to use FBI to view images in the virtual console (outside of the window manager), so I knew for a fact that framebuffer was working and could display images, but just wouldn't work for fbsplash and bootsplash. WIth kernel 2.6.9, however, the framebuffer device that always worked -- "/dev/fb0" -- is no longer working, and likewise neither is FBI.

     Important note: I am now working on this with two kernels, which may make it confusing. In 2.6.9, X works and framebuffer doesn't with vesafb nor nvidiafb. In 2.6.12 X doesn't work but framebuffer does with nvidiafb, except that I've only gotten to change the fontsize but have no images.

     Another important thing of note, just recently after altering the 2.6.9 kernel a few times I've gotten a new message in the module loading phase of bootup:

```
 * Setting framebuffer console images...

Failed to open /dev/fb0 or /dev/fb0 for reading.

Can't open /dev/fbsplash                                                  

[ ok ]
```

     I had been looking for that message before and it wasn't there. Apparently my framebuffer device just isn't there, at least not where I think it would be. It seems to me that my framebuffer device needs to be compiled into the kernel but I don't know where I'm missing it. That would be a lot of help.

     Gotta turn in for the night...

----------

## Dragonlord

i'm using the newest gentoo-source kernel, and with that it worked. i think this is 2.6.13 but i am not sure, have to look up the config. if it helps you i can post the kernel config file. you have to compile in the kernel all the framebuffer stuff or it will not work. kinda tricky but if you got it right it works. i still wish for that the kernel makers once add a functionality for modules to 'tell' what they need if something fails. it would make solving a problem that much easier.

----------

## Virtrex

Odd little things like that in general /would/ make some things easier. Anyway, I would /like/ to get framebuffer working in my 2.6.9 kernel, but I can work on the newer one for now. I've been trying to get this stuff working through several kernels and two different video cards, so if its because I haven't compiled the kernel exactly right I'm not at all surprised. So by all means please post your kernel config and let me know if all I need to know is in "Device Drivers --> Graphics Support" or if its more complicated.

----------

## Dragonlord

i have the following, and i think most of that is necessary to get it working. try if it helps.

```
Support for framebuffer devices [Y]

  VESA VGA Graphics Support [Y]

    VESA driver type [vesafb]

  Support for the framebuffer bootsplash [Y] <== only if you have patched kernel or gentoo-sources

  Console display driver support

    VGA text console [Y]

      Video Mode selection support [Y]

    Framebuffer console support [Y]
```

and grub has

```
title=Gentoo Stable

root (hd0,4)

kernel /boot/gentoo_stable.kernel root=/dev/hda5 video=vesafb:ywrap,mtrr vga=0x31B

initrd=/boot/initrd-1280x1024
```

maybe this helps in any way.

EDIT: during my testing i noticed the following behaviour, which i think is general. NVidia cards work with resolutions other than 32bit and different screen resolutions. also on NVidia cards i got framebuffer and bootsplash working fairly easy. on ATI cards only 32bit is supported and certain resolutions. so far i got framebuffer but no bootsplash working on an ATI card.

----------

## Virtrex

Well, I tried configuring my kernel according to what you posted and modified my grub. Same result as before. I'm seriously convinced that the problem is something subtle with my splash configuration, not my kernel. If anyone has any idea how I should fiddle with my splash stuff, please share. My grub now is:

```

title=Gentoo Gnu/Linux Kernel 2.6.9 Revision 9

root (hd0,0)

kernel /boot/kernel-2.6.9-gentoo-r9 root=/dev/hda1 video=nvidia:ywrap,mtrr,

1024x768-32@60 splash=silent,theme:default CONSOLE=/dev/tty1

initrd /boot/fbsplash-emergence-1024x768

```

I'm sticking with this kernel for now because the latest kernel WON'T run X with my nvidia card unless I do some patching I don't know how to do, so hopefully an older kernel shouldn't and wouldn't effect how well framebuffer and splash works.

Here's a sum up of the problem and possible leads.

1: I have framebuffer working to the extent that I can select a good font size and I have been able to view pictures with FBI before and I recently viewed videos with mplayer, so I know for a fact that my framebuffer is capable of displaying pictures and video.

2: However, this message appears at bootup:

```
vesafb: probe of vesafb0 failed with error -6
```

     ...indicating a possible problem.

3: Even so, these messages appear afterward:

```

vga16fb: initializing

vga16fb: mapped to 0xc00a0000

Console: switching to colour frame buffer device 80x60

fb0: VGA16 VGA frame buffer devic

```

     ...and this appears in the modules loading section:

```
Setting Framebuffer Console Images...
```

     ...which leads me to believe that it /is/ working.

4: But alas, no images appear at any point during bootup or afterward.

*sigh*

Thanks for all the help so far everyone.

----------

## Virtrex

I was fiddling around with grub, and I noticed that dmesg reported only part of the kernel command line

```
Kernel command line: root=/dev/hda1 video=nvidia:ywrap,mtrr
```

     I realized that it was cut off because of a newline in my grub caused by me editing the long kernel command line. I pieced it all together and rebooted. First I noticed the screen being much higher res, and some different dmesg messages, and then when "Setting framebuffer console images..." came up, there it was! The Emergence theme!

     I can't believe that that was all that was wrong. There are probably some other things I fixed, but they didn't take effect because of the cut-off command line.

     Thanks for all the help everyone. I'm going to do some fiddling to find out exactly what fixed it and put a detailed report at the end of this thread.

      Yee!!!  :Very Happy: 

----------

## Virtrex

I could swear I posted a follow-up on this weeks ago, but here it is.

     The problem turned out to be a kernel command line error. The kernel command line will not work if it is not all on one line. Nano will separate it if it is longer than the screen and you will have to concacenate it.

     This grub option:

```
initrd /boot/fbsplash-emergence-1024x768
```

     ...allows the kernel to display an image very early in the boot process, and displays the pictures on the virtual consoles.

     This option:

```
...splash:silent,theme:emergence...
```

     ...makes everything work, but if a theme is selected that doesn't match the initrd option, the initrd will fail.

     I don't yet know how to make an initrd image or how to render the images on all consoles as opposed to just one.

----------

## Sakkath

Not sure if this would help even a little, but I thought the CONSOLE option was for silent only :S.

----------

## Virtrex

I don't know what you mean. (I also don't know much about the CONSOLE option)

----------

## Sakkath

CONSOLE=/dev/tty1 I think.  I'm going to put this problem aside for now, seein as I can't get my new AGP card I got for Christmas to work...

----------

## sirdilznik

 *Virtrex wrote:*   

> 
> 
> ```
> 
> title=Gentoo Gnu/Linux Kernel 2.6.9 Revision 9
> ...

 

Your problem is with the notation you use (there may be other problems).  If you use the nvidia framebuffer then it should be:

```
video=nvidiafb
```

not 

```
video=nvidia
```

I would personally stay away from the nvidia framebuffer as it conflicts with the proprietary nvidia opengl driver.  I reccomend using vesafb as it should work on practically any system without conflicts.  If you use vesafb then you CAN'T use this notation:

```
1024x768-32@60
```

You should use this instead:

```
vga=0x318
```

For a listing of other video modes and their vesafb notation click here

As an example here is the relevant part of my grub.conf (keep in mind I'm using a different theme and video mode):

```
title  Gentoo

root (hd1,3)

kernel /vmlinuz root=/dev/sda1 video=vesafb:ywrap,mtrr vga=0x31B splash=verbose,theme:MetallTux quiet

initrd /boot/fbsplash-metal
```

And yes the CONSOLE part is only needed for splash=silent and not for splash=verbose

----------

## Sakkath

But I was using vesafb-tng, and thought I didn't need to set vga=*.

----------

## rndusr

Thanks a LOT for this thread! I had almost given up, but this definitely sorted things out. Thanks again!  :Very Happy: 

----------

## Sakkath

But I do use vesafb, vesafb-tng to be exact.  And how come when I set theme:emergence, the dmesg always shows setting 'default' theme on all the consoles?  I even tried removing the default file in /etc/splash.

----------

## batistuta

to avoid the problem with the nano editor, use

```

nano -w file

```

the -w disables the line wrapping

----------

## Sakkath

batistuta:  how does this help me?

----------

## jacobmar1ey

the -w option for nano removes wordwrap from its behaviour, so that it will not break your long lines (like your kernel command)

----------

