# uvesafb framebuffer support doesn't work [solved]

## samo

Hi,

I want to have a nice background during the boot process but it doesn't work. I read the wiki carefully and also this guide.

I use the following versions:

- sys-kernel/vanilla-sources-2.6.27.10

- x11-drivers/ati-drivers-8.532

- sys-apps/v86d-0.1.9

- media-gfx/splashutils-1.5.4.2 (emerged with use flag fbcondecor)

The kernel supports the following options:

CONFIG_FB_MODE_HELPERS=y

# CONFIG_FB_TILEBLITTING is not set

CONFIG_FB_UVESA=y

CONFIG_CONNECTOR=y

CONFIG_BLK_DEV_INITRD=y

CONFIG_INITRAMFS_SOURCE="/usr/share/v86d/initramfs"

The kernel is called by grub with:

```
kernel /vmlinuz root=/dev/sda3 splash=verbose,theme:emergence video=uvesafb:1024x768-32@75,mtrr:3,ywrap console=tty1

initrd /boot/initrd
```

/boot/initrd contains:

```
# zcat /boot/initrd | cpio --list

.

dev

dev/fb

dev/vc

dev/misc

dev/null

dev/tty0

dev/console

etc

etc/splash

etc/splash/emergence

etc/splash/emergence/images

etc/splash/emergence/images/verbose-1024x768-240.png

etc/splash/emergence/images/verbose-1024x768.jpg

etc/splash/emergence/images/silent-1024x768-256.png

etc/splash/emergence/images/silent-1024x768.jpg

etc/splash/emergence/1024x768.cfg

etc/splash/luxisri.ttf

lib

lib/splash

lib/splash/sys

lib/splash/proc

sbin

sbin/splash_helper

sbin/fbcondecor_helper

root

2211 blocks
```

dmesg reports:

```
gentoo thomas # dmesg | grep uvesafb

uvesafb: ATI Technologies Inc., V350, 01.00, OEM: ATI RADEON 9600 PRO, VBE v2.0

uvesafb: protected mode interface info at c000:57cf

uvesafb: pmi: set display start = c00c5863, set palette = c00c58af

uvesafb: pmi: ports = c010 c016 c054 c038 c03c c05c c000 c004 c0b0 c0b2 c0b4

uvesafb: no monitor limits have been set, default refresh rate will be used

uvesafb: VBE state buffer size cannot be determined (eax=0x0, err=0)

uvesafb: scrolling: ywrap using protected mode interface, yres_virtual=1536

uvesafb: framebuffer at 0xd0000000, mapped to 0xe0880000, using 6144k, total 16384k
```

Could someone help me?

RegardsLast edited by samo on Sun Jan 25, 2009 12:58 pm; edited 1 time in total

----------

## richard.scott

Ok, let's get the obvious question out the way first   :Wink: 

I take it that "kernel" and "video" are actually on the same line in your grub.conf?

I only ask as in the text provided they look to be on different lines?

----------

## samo

Both statements are on the same line.

I forgot to mention, that fbcondecor is added to the boot run-level.

----------

## Pillbox

You could try to add:

CONFIG_VGA_CONSOLE=y

CONFIG_FB_CON_DECOR=y

----------

## samo

CONFIG_VGA_CONSOLE=y is already set. But the option CONFIG_FB_CON_DECOR isn't available. Which kernel version do you use?

----------

## szczerb

I guess that you need v86d in your initrd.

Make an empty dir. Lets say we will use /root/my_initrd  for that purpose. Then make a dir /root/my_initrd/sbin and copy /sbin/v86d there. Then create your initrd with splash_geninitramfs like previously but add "-o /root/my_initrd" to the options.[/code]

----------

## Pillbox

I'm using 2.6.28-gentoo.

However that wiki seems to miss the klibc-part described in Spock's installation guide below (not sure how important that is though):

 *Quote:*   

>    1. cd /usr/src/linux
> 
>    2. configure the kernel; in the "Device Drivers" section select:
> 
>       Connector - unified userspace <-> kernelspace linker and
> ...

 

Also the following link gives information about installing themes and such:

http://www.tyr.cz/htdocs/tyr/xslt-blog/article.html?article=fbcondecor

This helped me a lot at least.

----------

## szczerb

I'm also running 2.6.28 and tried uvesafb and didn't do 4, 6 and 7. But I did generate an initrd with v86d like described above. I thinks it's easier this way....

----------

## samo

I generated a new initrd

```
# ls -l /boot/myinitrd

insgesamt 865

-rw-r--r-- 1 root root 859630 18. Jan 15:35 img.cpio.gz

-rwxr-xr-x 1 root root  18956 18. Jan 15:18 v86d
```

```
# zcat /boot/myinitrd/img.cpio.gz | cpio --list

.

dev

dev/fb

dev/vc

dev/misc

dev/null

dev/tty0

dev/console

etc

etc/splash

etc/splash/emergence

etc/splash/emergence/images

etc/splash/emergence/images/verbose-1024x768-240.png

etc/splash/emergence/images/verbose-1024x768.jpg

etc/splash/emergence/images/silent-1024x768-256.png

etc/splash/emergence/images/silent-1024x768.jpg

etc/splash/emergence/1024x768.cfg

etc/splash/luxisri.ttf

lib

lib/splash

lib/splash/sys

lib/splash/proc

sbin

sbin/splash_helper

sbin/fbcondecor_helper

root

2211 blocks
```

And changed my grub.conf like this

```
kernel /vmlinuz root=/dev/sda3 splash=verbose,theme:emergence video=uvesafb:10$

initrd /boot/myinitrd/img.cpio.gz
```

But it doesn't help. The background is still black. What about the following:

```
# splash_manager --theme=emergence --cmd=set --tty=1

Failed to open the fbcon_decor control device.

Failed to open the fbcon_decor control device.
```

And what about the hint in the wiki

```
Fbcondecor is a kernel patch which allows the display of different background pictures on framebuffer consoles. The patch is included with gentoo kernel sources, and enabled though the CONFIG_FB_CON_DECOR option (Device Drivers -> Graphics support -> Console display driver support -> Support for the Framebuffer Console Decorations).
```

It seem's like fbcondecor isn't supported by vanilla sources.

----------

## samo

Problem is solved. I switched to gentoo-sources and activated the option CONFIG_FB_CON_DECOR=y.

----------

## fabiolino

Hi

framebuffer does not work to me

I read this wiki.

I use the following versions:

- sys-kernel/tuxonice-sources-2.6.24-r9

- x11-drivers/ati-drivers-8.501

- sys-apps/v86d-0.1.9

- media-gfx/splashutils-1.5.4.2 (emerged with use flag fbcondecor)

I followed the steps described in the linkof wiki:

- I have the following options enabled in the kernel

CONFIG_CONNECTOR=y

CONFIG_FB_UVESA=y

CONFIG_FB_CON_DECOR=y

CONFIG_FRAMEBUFFER_CONSOLE=y

CONFIG_FB_VESA=y

- I run make

- I run emerge klibc

- I run emerge v86d but does not work

     the error is:

```

emerge v86d

Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) sys-apps/v86d-0.1.9

 * v86d-0.1.9.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...            [ ok ]

 * checking ebuild checksums ;-) ...                             [ ok ]

 * checking auxfile checksums ;-) ...                            [ ok ]

 * checking miscfile checksums ;-) ...                           [ ok ]

 * You need to compile klibc against a kernel tree patched with uvesafb

 * prior to merging this package.

 *

 * ERROR: sys-apps/v86d-0.1.9 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called pkg_setup

 *       v86d-0.1.9.ebuild, line   25:  Called die

 * The specific snippet of code:

 *              die "Kernel not patched with uvesafb."

 *  The die message:

 *   Kernel not patched with uvesafb.

 *

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/usr/log/sys-apps:v86d-0.1.9:20090202-195942.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/v86d-0.1.9/temp/die.env'.

 *

>>> Failed to emerge sys-apps/v86d-0.1.9, Log file:

>>>  '/usr/log/sys-apps:v86d-0.1.9:20090202-195942.log'

 * Messages for package sys-apps/v86d-0.1.9:

 * You need to compile klibc against a kernel tree patched with uvesafb

 * prior to merging this package.

 *

 * ERROR: sys-apps/v86d-0.1.9 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called pkg_setup

 *       v86d-0.1.9.ebuild, line   25:  Called die

 * The specific snippet of code:

 *              die "Kernel not patched with uvesafb."

 *  The die message:

 *   Kernel not patched with uvesafb.

 *

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/usr/log/sys-apps:v86d-0.1.9:20090202-195942.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/v86d-0.1.9/temp/die.env'.

 *

```

Can you help me?

----------

## swimmer

Well - as the error message clearly states: your kernel does not seem to support uvesafb ... 

You can either try to patch this kernel or use another kernel like gentoo-sources ...

HTH

swimmer

----------

