# Uvesafb not working

## Phacops

Hi everyone,

I'm using the kernel 2.6.23-r5 from gentoo-sources with uvesafb and i get this error in my dmesg:

```
uvesafb: Getting VBE info block failed (eax=0x4f00, err=0)

uvesafb: vbe_init() failed with -22

uvesafb: probe of uvesafb.0 failed with error -22
```

To set up uvesafb i followed spock's tutorial and i checked twice my kernel options and i already re-emerged klibc and v86d. 

This is what i added in grub.conf:

```
video=uvesafb:1680x1050-32,mtrr:3,ywrap
```

My card is an Nvidia Geforce 8600M GT.

Does anyone have an idea to get things working ?

----------

## ltboy

You get v86d into your initrd file?

EDIT: Doh, and you've got your initrd in /boot and in your grub.conf or lilo config?

----------

## Phacops

I deleted the line with initrd in my grub.conf.

I configured my kernel as it's said in the how-to.

I was working with kernel 2.6.23-r3.

----------

## ltboy

That's your problem. That howto is flawed. It needs a step that says, "Now rebuild your initrd image". uvesafb requires an initrd image to load v86d before the kernel loads. Sooo. You need to rebuild your initrd with that new config directive(step 6) in place and put that back in your grub.conf.

----------

## Phacops

Ok I'll try that.

Thank you.

----------

## vpoinot

Don't know if you managed to solve your problem, but in case you did not, you might be interested in the workaround Spock suggests here (in particular comment 23 and 28).

I haven't tried it myself yet, but other users seem to have good results.

----------

## Phacops

Well it didn't work.

I emerged with flag x86emu and nothing changed.

Any other ideas ?

----------

## breakerfall

Thanks for the link to the bug report, compiling uvesafb as a module works for me (I was originally receiving the same error as the OP), however, it doesn't kick in, obviously, until the module is loaded, which is already half way into the boot. I wonder why it doesn't work when compiled in directly, as this would be much better.

----------

## mizery de aria

I too am suffering from this issue

```
# dmesg|grep vesa

Kernel command line: real_root=/dev/hda4 root=/dev/hda4 video=uvesafb:mtrr:3,ywrap,1024x768-32@60

uvesafb: Getting VBE info block failed (eax=0x4f00, err=0)

uvesafb: vbe_init() failed with -22

uvesafb: probe of uvesafb.0 failed with error -22
```

and have also followed spock's guide as well as read through the bug report and this thread, without success.

I am using:

klibc-1.5.8

v86d-0.1.3-r1 +x86emu

gentoo-sources-2.6.26-r1 (and genkernel-3.4.10-r1)

UPDATE: I added dev-libs/klibc to /etc/portage/package.keywords and emerged v1.5.12-r1, reemerged v86d, rebooted and still no success

----------

## mizery de aria

My current status with this issue:

uname -a

```
Linux localnewb 2.6.26-gentoo-r1 #1 SMP PREEMPT Fri Aug 29 20:19:06 CDT 2008 i686 Intel(R) Core(TM) Duo CPU T2350 @ 1.86GHz GenuineIntel GNU/Linux
```

/boot/grub/grub.conf

```
title Gentoo Linux 2.6.26-r1 (genkernel)

root (hd0,3)

kernel /boot/kernel-genkernel-x86-2.6.26-gentoo-r1 real_root=/dev/hda4 root=/dev/hda4 video=uvesafb:mtrr:3,ywrap,1024x768-32 splash=silent,fadein,theme:emergence console=tty1
```

dmesg|grep -i vesa

```
Kernel command line: real_root=/dev/hda4 root=/dev/hda4 video=uvesafb:mtrr:3,ywrap,1024x768-32 splash=silent,fadein,theme:emergence console=tty1

uvesafb: Getting VBE info block failed (eax=0x4f00, err=-3)

uvesafb: vbe_init() failed with -22

uvesafb: probe of uvesafb.0 failed with error -22
```

Any ideas?

----------

## gucio1414

Hi!

Try: sys-apps/v86d-0.1.6. Yesterday I had the some problem.Now i have kernel: 2.6.26 and v86d-0.1.6. and Everything works.

My /boot/grub/grub.conf

```
title Gentoo

root (hd0,5)

kernel /boot/kernel-2.6.26r root=/dev/sda8  splash=silent,fadein,theme:true-nature video=uvesafb:mtrr:3,ywrap,1280x800-32@60 quiet CONSOLE=/dev/tty1
```

----------

## ArlexBee-871RBO

I used to get the same error as the OP, but I managed to get this working.  And when I say working I mean my console is running at native 1680x1050 resolution.  My laptop is strictly text mode only, and I don't even have X installed.  So it looks really nice to work at that resolution.

I have a Thinkpad t61 with Intel G965/x3100 graphics.  I'm running gentoo-sources-2.6.25-r7, v86d-0.1.3-r1, and klibc-1.5.8.  The first time I followed Spokes instructions it didn't work.  I had no idea if it had worked or not cause I wasn't sure if it would support such high resolution.  Then I found this thread and noticed that I'm getting the same errors.  So I started over again and realized I had missed one step on Spokes site:  The second part of step #6.  You have to type in  /usr/share/v86d/initramfs when you are on Initramfs source file(s). option by hitting Enter.  I then finished rebuilding and installing the kernel.  That's it.  

Are some of you forgetting to enter /usr/share/v86d/initramfs in the field, or am I being a total noob here?

Anyway, thanks for this thread I now have nice working framebuffer.

----------

## TSP__

For me, in all my computer, vesa module allways work great, when the other options (intel nvidia or uvesafb) always fails at some point, mostrly if you want to use icons during boot, to see which services are starting or tty backgourds. Also i dind't find any different between drivers.

----------

## szczerb

I have a i965 based laptop with the GM965/X3100 graphics on amd64 profile. The resolution is 1280x800. It works great with the standard vesafb driver. Tried 2.6.25-gentoo-r7 and 2.6.25-tuxonice-r7. I have a bootsplash with icons for services and decorations on all consoles. It took mi some time to find that vesa mode number  :Smile: 

That's how I use it:

```
title Gentoo Linux 2.6.25-TuxOnIce-r7

root (hd0,0)

kernel /boot/kernel-2.6.25-tuxonice-r7 root=/dev/sda6 vga=865 video=vesafb:mtrr:3,ywrap splash=silent,theme:gentoo-noia quiet CONSOLE=/dev/tty1

initrd /boot/fbsplash-gentoo-noia
```

(btw. I edited the verbose background of this splash so that it is usable for normal work - now it's just this thing on the right without that "shadow" over the whole screen)

----------

## ArlexBee-871RBO

 *szczerb wrote:*   

> I have a i965 based laptop with the GM965/X3100 graphics on amd64 profile. The resolution is 1280x800. It works great with the standard vesafb driver. Tried 2.6.25-gentoo-r7 and 2.6.25-tuxonice-r7. I have a bootsplash with icons for services and decorations on all consoles. It took mi some time to find that vesa mode number 
> 
> That's how I use it:
> 
> ```
> ...

 

I don't get it.  How does vga=865 translate to 1280x800?

I have the same exact card on my thinkpad t61.  The way I understand it is that vga controls the screen resolution before the kernel is loaded.  After kernel gets loaded the uvesafb resolution takes over.  At least that's how I see it.

If I set vga to ask (vga=ask) I get a list of choices and the highest resolution possible is vga=31A (1280x1024), but for some reason it doesn't work and I get a blank screen.  The highest workable resolution from vga is 1280x768 for me.

Regardless of what I set vga to, once the kernel starts loading I get a nice 1680x1050 resolution screen.

----------

## szczerb

That's the thing - I don't use uvesafb. I use vesafb. The first one does not have a vga parameter at all. It takes a "normally" typed resolution. The latter one takes resolution only as a vga parameter. Therefore it is not possible to set the refesh rate - but on a LCD that's not a problem.

Finding that vesa mode code took me some googling and I can't seem to find it. But I'm pretty sure that there also is a mode for your native resolution. (btw. I found something a bit chaotic about 865 being the mode for 1680x1050-24, so maybe the 865 is the intel vesa mode that uses native resolution of the panel? just a wild guess)

----------

