# nvidia with framebuffer

## TrentonAdams

Hi Guys,

I tried compiling the nvidia framebuffer into the kernel, and using the x11 nvidia-drivers as well for XOrg, but it complained and said I would have to remove it from the kernel.

So, what other alternative do I have?  I can't stand the 80x25 screen resolution.  It used to work in 2.6.17, but I can't remember the stuff I enabled.  Now I'm using 2.6.28.

Thanks.

----------

## mikegpitt

Have you tried uvesafb?  Instructions are here:

http://dev.gentoo.org/~spock/projects/uvesafb/

----------

## pappy_mcfae

You can also try VESA VGA, which is what I use. You don't need anything else with VESA VGA. With uvesafb, there is a user space program needed.

Blessed be!

Pappy

----------

## TrentonAdams

Just tried it at your request, and it does not work.  Any ideas???

```
uvesafb: NVIDIA Corporation, G72 Board - brewst0 , Chip Rev   , OEM: NVIDIA, VBE v3.0

uvesafb: VBIOS/hardware doesn't support DDC transfers

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

uvesafb: scrolling: redraw

uvesafb: framebuffer at 0xd0000000, mapped to 0xffffc20004100000, using 6144k, total 262144k

fb0: VESA VGA frame buffer device

```

```

title=Gentoo Linux (2.6.28-gentoo-r2)

        root (hd0,1)

        kernel /boot/kernel-genkernel-x86_64-2.6.28-gentoo-r2 init=/linuxrc ramdisk=8192 root=/dev/s/sys doscsi dolvm video=uvesafb:1024x768-32,mtrr:3,ywrap

        initrd /boot/initramfs-genkernel-x86_64-2.6.28-gentoo-r2

```

----------

## TrentonAdams

 *pappy_mcfae wrote:*   

> You can also try VESA VGA, which is what I use. You don't need anything else with VESA VGA. With uvesafb, there is a user space program needed.
> 
> Blessed be!
> 
> Pappy

 

No go, any ideas?

```
title=Gentoo Linux (2.6.28-gentoo-r2)

  root (hd0,1)

  kernel /boot/kernel-genkernel-x86_64-2.6.28-gentoo-r2 init=/linuxrc ramdisk=8192 root=/dev/s/sys doscsi dolvm video=vesafb:1024x768-32@70,ywrap

  initrd /boot/initramfs-genkernel-x86_64-2.6.28-gentoo-r2

```

I had them both enabled, now I'm going to disable the VGA one, and try it with just the uvesafb enabled.

----------

## TrentonAdams

Disabling the VGA one did nothing to make uvesafb one to work.  I throw my hands in the air.

----------

## CapnBuzzkill

I have an nvidia card myself and I use the vesa framebuffer (like pappy_mcfae said above). The following works for me:

- enable CONFIG_FB ("Support for frame buffer devices") and CONFIG_FB_VESA ("VESA VGA graphics support") in your kernel .config

- use this to boot your kernel (so add the "vga=" and replace your own "video=") : vga=0x31B video=vesafb:mtrr:3,ywrap

The number after "vga=" indicates the resolution and color depth you wanna use, in this case it's 1280x1024 with 24-bits color. For more options (also for "video=") see this link.

----------

## TrentonAdams

That doesn't work for me.  I can only select number of characters.  e.g. 80x50, 80x60, etc.

----------

## TrentonAdams

Oops, I had disabled the VGA one, let me try again.

----------

## TrentonAdams

Okay, the vesa does something now.  But, the screen is blank.  Going try it without the mtrr.

----------

## TrentonAdams

No, nothing seems to work properly in VESA mode.   :Sad: 

----------

## CapnBuzzkill

First you say "the vesa does something now" and now you say "nothing seems to work properly". What exactly do you mean? Do you only get a black screen without any visible text? Have you tried different values for the "vga=" parameter?

Can you please post:

- all the framebuffer options you have enabled in your kernel (ie. run "grep -i _fb /usr/src/linux/.config")

- your "kernel" line from your grub.conf / menu.lst

- your dmesg output (there should be something in there about the frame buffer)

----------

## TrentonAdams

Sorry, I meant nothing works as in I get a blank screen, and changing the mtrr option did nothing.  I'll try disabling ywrap too though.  I'm recompiling first though.

```
vesafb: framebuffer at 0xd0000000, mapped to 0xffffc20004100000, using 6144k, total 262144k

vesafb: mode is 1024x768x32, linelength=4096, pages=1

vesafb: scrolling: redraw

vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0

fb0: VESA VGA frame buffer device
```

```
zcat /proc/config.gz | grep -i _fb | grep -v ^#

CONFIG_FB=y

CONFIG_FB_BOOT_VESA_SUPPORT=y

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

CONFIG_FB_MODE_HELPERS=y

CONFIG_FB_VESA=y
```

kernel /boot/kernel-genkernel-x86_64-2.6.28-gentoo-r2 init=/linuxrc ramdisk=8192 root=/dev/s/sys doscsi dolvm vga=ask video=vesafb:ywrap

----------

## CapnBuzzkill

With regard to the mtrr setting in the "video=" parameter, I think you either have to have CONFIG_MTRR enabled in your kernel .config, or you have to use mtrr:0 there, perhaps you can enable CONFIG_MTRR anyway just to be sure.  Have you tried using a numerical value with the "vga=" parameter instead of "ask", ie "vga=0x301"?

When looking through my own kernel .config, I see two more options that seem relevant: CONFIG_VGA_CONSOLE and CONFIG_FRAMEBUFFER_CONSOLE. Do you have these two enabled as well? If not, could you test with those enabled?

----------

