# [solved] Framebuffer - nvidiafb vs. nvidia-kernel

## XMath

Hi,

there i hope i fed the search machine long enought without findig a topic dealing with my "problem".

To be precise it´s not a real problem, but it makes me feel uncomfortable.

So her it is:

I have a 

```
VGA compatible controller: nVidia Corporation NV40.2 [GeForce 6800 LE] (rev a1)
```

 and was able to setup framebuffer well. But the highest resolution i can achieve is 1024x768. And my TFT rather likes to use 1280x1024.

So today i managed to get framebuffer to 1280x1024 by inserting nvidiafb into my kernel (gentoo-sources-2.6.12-r6), but then i can no longer use nvidia-kernel for X. 

But when not using nvidiafb and trying to set 1280x1024 by using fbset -g 1280 1024 1280 1024 16 i get 

```
ioctl FBIOPUT_VSCREENINFO: Invalid argument
```

Now i like to know if there is some kind of way around that.

For example my new notebook with a ATI Mobility X600 supports 1400x1050 without any problems.Last edited by XMath on Wed Aug 17, 2005 7:01 am; edited 1 time in total

----------

## brankob

try giving the module adequate parameter about desired videomode, like "video=1280x1024-16@60" in /etc/modules.d/nvidiafb

then modprobe the module. If it is already bult-in the kernel, then give the kernel that definition as a start parameter in grub.conf, just prepend "nvidiafb:" to the word "video".

IOW, use something like : kernel /whatever _you_use     root=_whatever_you_use nvidiafb:video=1280x1024-16@60

----------

## keyson

Hi.

My experience with the kernel framebuffers like nvidia is that it

f**k up the nvidia-kernel for X. I use the VESA VGA fb in the kernel

and it works together with the nvidia-kernel for X

If you configure your kernel under Device Driver ---> Graphical Support

<*> Support for frame buffer devices

......

<*> VESA VGA graphics support

VESA driver type (vesafb-tng) --->

(800x600@75) VESA default mode

Hit enter on the resolution line and enter the resolution.

under

Console display driver support --->

--- VGA text console

[*] Video mode selection support

< > MDA text console (dual-headed) (EXPERIMENTAL)

<*> Framebuffer Console support

[ ] Select compiled-in fonts

This is my settings. It's only 800x600 but you may try it, as it seems to

work togheter with the nvidia-kernel.

----------

## XMath

Hi,

ok seems like i wasnt precise enought in explaining.

I do have framebuffer, but only in 1024x768 not 1280x1024.

For the higher resolution i need to use nvidiafb in the kernel, but that, as keyson mentions, wrecks up nvidia-kernel for X.

----------

## keyson

Yes.

As i say you can set it to 1280x1024 in the config

of vesafb-tng and still use the nvidia-kernel.

You are from Germany so you can understand this

http://de.gentoo-wiki.com/HOWTO_fbsplash

It say something about this.

----------

## XMath

Hi,

yes i know i can do that  :Wink:  .

But he keeps ignoring everything thats wider than 1024x768, whatever i enter into the kernel line.

So maybe i will have to live with it. :Crying or Very sad: 

----------

## brankob

Maybe you have to disable dce option when making that module. Maybe the module misinterprets monitors's response and deliberately blocks higher resolutions.

These is something about resoluton helpers or somesuch when making menuconfig. I remember also seing DCE option in nvidiafb and riva, but I am not certain about it being in vesa...

----------

## XMath

Hi,

im not sure from which module you´re talking about.

In nvidiafb, the one inside the kernel, i only found the option DDC.

And for nvidia-kernel i did not find any of these options.

----------

## brankob

I was talking about kernel modules, not closed source  nvidia-kernel...

----------

## XMath

Yeah,

ok. Then if i build nvidiafb into kernel, im no longer able to use the nvidia-kernel for X.

cat /proc/fb0/modes gives me this w/ nvidiafb:

```
640x400-8

640x480-8

800x600-8

1024x768-8

320x200-16

320x200-32

640x480-16

640x480-32

800x600-16

800x600-32

1024x768-16

1024x768-32

320x200-8

320x400-8

320x400-16

320x400-32

320x240-8

320x240-16

320x240-32

640x400-16

640x400-32

```

So i think theres no way.

----------

## brankob

I am using nvidiafb on our server (dual Opteron on S2885 with Gf4 Ti4200 on AGP) and IIRC  it works on 1600x1200 without any problems. 

On coworker's similar (but with 24" LCD) machine it works on 1920x1200- native resolution of LCD...

----------

## Joffer

 *brankob wrote:*   

> I am using nvidiafb on our server (dual Opteron on S2885 with Gf4 Ti4200 on AGP) and IIRC  it works on 1600x1200 without any problems. 
> 
> On coworker's similar (but with 24" LCD) machine it works on 1920x1200- native resolution of LCD...

 You got any pointers for me? I'm not getting any framebuffer at all  :Sad:  --> https://forums.gentoo.org/viewtopic-p-2616676.html

----------

## Terminal Insanity

I've got a similar problem... if i build nvidia FB support into my kernel, nvidia driver will tell me that i have no video device (because it's in use already, by the fb driver =P)

----------

## ahubu

 *XMath wrote:*   

>  But the highest resolution i can achieve is 1024x768. And my TFT rather likes to use 1280x1024.

 

Have you got anything tied to your TVout? using vesafb, I have been trying for ages to get it working on higher resolutions, but finally, when the tvout cable was accidently removed I found out it doesnt support anything higher than 800x600 (at that time for my card highest possible on tv), when connected to the tv.

----------

## XMath

Hi there,

sorry i completely forgot about this thread.

But now i have a framebuffer with this:

```
mode "1280x1024-75"

    # D: 135.007 MHz, H: 79.981 kHz, V: 75.029 Hz

    geometry 1280 1024 1280 1024 8

    timings 7407 248 16 38 1 144 3

    hsync high

    vsync high

    rgba 8/0,8/0,8/0,0/0

endmode

```

I had to tweak somethings in the kernel and after that it works. Maybe something was recompiled now, no idea really. Just glad it works. Kernel is 2.6.1-gentoo-r6. 

Here is the part of my .config:

```
CONFIG_FB_VESA=y

# CONFIG_FB_VESA_STD is not set

CONFIG_FB_VESA_TNG=y

CONFIG_FB_VESA_DEFAULT_MODE="1280x1024@60"

# CONFIG_FB_NVIDIA is not set

```

I set frequency to 60 but do get 75. No idea why.

So its solved for me, but i have no idea how i did it.

----------

## askoff

 *ahubu wrote:*   

>  *XMath wrote:*    But the highest resolution i can achieve is 1024x768. And my TFT rather likes to use 1280x1024. 
> 
> Have you got anything tied to your TVout? using vesafb, I have been trying for ages to get it working on higher resolutions, but finally, when the tvout cable was accidently removed I found out it doesnt support anything higher than 800x600 (at that time for my card highest possible on tv), when connected to the tv.

 

I have the same problem with GF6600GT. TV-out forces me to use 60Hz refreshrate. If there would be like a kernel option what could be used to switch off the TV-out. With GF4Ti4400 I didn't have the problem.

----------

## XMath

 *ahubu wrote:*   

>  *XMath wrote:*    But the highest resolution i can achieve is 1024x768. And my TFT rather likes to use 1280x1024. 
> 
> Have you got anything tied to your TVout? using vesafb, I have been trying for ages to get it working on higher resolutions, but finally, when the tvout cable was accidently removed I found out it doesnt support anything higher than 800x600 (at that time for my card highest possible on tv), when connected to the tv.

 

Oh damn it, i just recognized that the cable to the TV is plugged out. So exactly what you suggested.

----------

## ahubu

Ah, thats a pity. What makes it even more annoying is that my TVout actually can handle 1024x768, but the resolution for FB won't go higher than 800x600 when plugged in. That's not really an issue for me because I rarely actively use the FB device other than for a nice bootscreen, but it's annoying if you do.

----------

