# vesafb kernel mode line for 1440x900 widescreen lcd

## Schizoid

I have finally joined the 21st century with a new LCD display. Its native resolution is 1440x900. I cannot figure out which vga mode to use in my grub boot line.

I used to use 0x31B which is 1280x1024 from the chart in the gentoo handbook. I have found various other charts:

http://en.wikipedia.org/wiki/VESA_BIOS_Extensions#VESA_video_mode_numbers

http://gentoo-wiki.com/HOWTO_Framebuffer_Support

The wikipedia entry has separate listings for linux, I assume I use those? I have tried 0x868 and 867, as well as the vesa numbers 0x356 and 355. None of these work.

Has anyone else successfully setup this console resolution? What does your grub load line look like?

----------

## lgaboury

emerge lrmi, then run vbetest and review the modes listed

```
emerge lrmi

vbetest
```

Event though your video card native mode is 1440x900 which should be supported under X, the same may not be true for VESA Framebuffer.  If it is, you will see the mode listed by vbetest.  The vga number would then be the number listed in the square brackets in front of the desired resolution plus (+)512.

For example:

[256] 640x400 (256 color palette)

[261] 1024x768 (256 color palette)

[279] 1024x768 (5:6:5)

So assuming the desired resolution would be 1024x768 16bpp, vga=279+512=791

Hope this helps!

----------

## Schizoid

Well I am not having much luck with this. lrmi does not compile on 64-bit machines, so I am using hwinfo and this is what it says:

```

27: None 00.0: 10002 LCD Monitor

  [Created at monitor.93]

  Unique ID: rdCR.TUGGyBj2P36

  Hardware Class: monitor

  Model: "LG ELECTRONICS L196WTQ "

  Vendor: GSM "LG ELECTRONICS"

  Device: eisa 0x4b50 "L196WTQ "

  Resolution: 720x400@70Hz

  Resolution: 640x480@60Hz

  Resolution: 640x480@75Hz

  Resolution: 800x600@56Hz

  Resolution: 800x600@60Hz

  Resolution: 800x600@75Hz

  Resolution: 832x624@75Hz

  Resolution: 1024x768@60Hz

  Resolution: 1024x768@70Hz

  Resolution: 1024x768@75Hz

  Resolution: 1280x1024@75Hz

  Resolution: 1280x1024@60Hz

  Resolution: 1280x960@60Hz

  Resolution: 1152x864@75Hz

  Resolution: 1440x900@60Hz

  Size: 408x255 mm

  Detailed Timings:

     Resolution: 1440x900

     Horizontal: 1440 1520 1672 1904 (+80 +232 +464) +hsync

       Vertical:  900  903  909  934 (+3 +9 +34) -vsync

    Frequencies: 106.50 MHz, 55.93 kHz, 59.89 Hz

  Driver Info #0:

    Max. Resolution: 1280x1024

    Vert. Sync Range: 56-75 Hz

    Hor. Sync Range: 30-83 kHz

    Bandwidth: 106 MHz

  Config Status: cfg=new, avail=yes, need=no, active=unknown

02: None 00.0: 11001 VESA Framebuffer

  [Created at bios.447]

  Unique ID: rdCR.1XwnB0_P_Q5

  Hardware Class: framebuffer

  Model: "NVIDIA nv40 Board - p201-7  "

  Vendor: "NVIDIA Corporation"

  Device: "nv40 Board - p201-7  "

  SubVendor: "NVIDIA"

  SubDevice: 

  Revision: "Chip Rev"

  Memory Size: 256 MB

  Memory Range: 0xd0000000-0xdfffffff (rw)

  Mode 0x0300: 640x400 (+640), 8 bits

  Mode 0x0301: 640x480 (+640), 8 bits

  Mode 0x0303: 800x600 (+800), 8 bits

  Mode 0x0305: 1024x768 (+1024), 8 bits

  Mode 0x030e: 320x200 (+640), 16 bits

  Mode 0x030f: 320x200 (+1280), 24 bits

  Mode 0x0311: 640x480 (+1280), 16 bits

  Mode 0x0312: 640x480 (+2560), 24 bits

  Mode 0x0314: 800x600 (+1600), 16 bits

  Mode 0x0315: 800x600 (+3200), 24 bits

  Mode 0x0317: 1024x768 (+2048), 16 bits

  Mode 0x0318: 1024x768 (+4096), 24 bits

  Mode 0x0330: 320x200 (+320), 8 bits

  Mode 0x0331: 320x400 (+320), 8 bits

  Mode 0x0332: 320x400 (+640), 16 bits

  Mode 0x0333: 320x400 (+1280), 24 bits

  Mode 0x0334: 320x240 (+320), 8 bits

  Mode 0x0335: 320x240 (+640), 16 bits

  Mode 0x0336: 320x240 (+1280), 24 bits

  Mode 0x033d: 640x400 (+1280), 16 bits

  Mode 0x033e: 640x400 (+2560), 24 bits

  Config Status: cfg=new, avail=yes, need=no, active=unknown

```

So does this mean that a 1440x900 mode is not available to me?

----------

## Schizoid

Well I am not having much luck with this. lrmi does not compile on 64-bit machines, so I am using hwinfo and this is what it says:

```

27: None 00.0: 10002 LCD Monitor

  [Created at monitor.93]

  Unique ID: rdCR.TUGGyBj2P36

  Hardware Class: monitor

  Model: "LG ELECTRONICS L196WTQ "

  Vendor: GSM "LG ELECTRONICS"

  Device: eisa 0x4b50 "L196WTQ "

  Resolution: 720x400@70Hz

  Resolution: 640x480@60Hz

  Resolution: 640x480@75Hz

  Resolution: 800x600@56Hz

  Resolution: 800x600@60Hz

  Resolution: 800x600@75Hz

  Resolution: 832x624@75Hz

  Resolution: 1024x768@60Hz

  Resolution: 1024x768@70Hz

  Resolution: 1024x768@75Hz

  Resolution: 1280x1024@75Hz

  Resolution: 1280x1024@60Hz

  Resolution: 1280x960@60Hz

  Resolution: 1152x864@75Hz

  Resolution: 1440x900@60Hz

  Size: 408x255 mm

  Detailed Timings:

     Resolution: 1440x900

     Horizontal: 1440 1520 1672 1904 (+80 +232 +464) +hsync

       Vertical:  900  903  909  934 (+3 +9 +34) -vsync

    Frequencies: 106.50 MHz, 55.93 kHz, 59.89 Hz

  Driver Info #0:

    Max. Resolution: 1280x1024

    Vert. Sync Range: 56-75 Hz

    Hor. Sync Range: 30-83 kHz

    Bandwidth: 106 MHz

  Config Status: cfg=new, avail=yes, need=no, active=unknown

02: None 00.0: 11001 VESA Framebuffer

  [Created at bios.447]

  Unique ID: rdCR.1XwnB0_P_Q5

  Hardware Class: framebuffer

  Model: "NVIDIA nv40 Board - p201-7  "

  Vendor: "NVIDIA Corporation"

  Device: "nv40 Board - p201-7  "

  SubVendor: "NVIDIA"

  SubDevice: 

  Revision: "Chip Rev"

  Memory Size: 256 MB

  Memory Range: 0xd0000000-0xdfffffff (rw)

  Mode 0x0300: 640x400 (+640), 8 bits

  Mode 0x0301: 640x480 (+640), 8 bits

  Mode 0x0303: 800x600 (+800), 8 bits

  Mode 0x0305: 1024x768 (+1024), 8 bits

  Mode 0x030e: 320x200 (+640), 16 bits

  Mode 0x030f: 320x200 (+1280), 24 bits

  Mode 0x0311: 640x480 (+1280), 16 bits

  Mode 0x0312: 640x480 (+2560), 24 bits

  Mode 0x0314: 800x600 (+1600), 16 bits

  Mode 0x0315: 800x600 (+3200), 24 bits

  Mode 0x0317: 1024x768 (+2048), 16 bits

  Mode 0x0318: 1024x768 (+4096), 24 bits

  Mode 0x0330: 320x200 (+320), 8 bits

  Mode 0x0331: 320x400 (+320), 8 bits

  Mode 0x0332: 320x400 (+640), 16 bits

  Mode 0x0333: 320x400 (+1280), 24 bits

  Mode 0x0334: 320x240 (+320), 8 bits

  Mode 0x0335: 320x240 (+640), 16 bits

  Mode 0x0336: 320x240 (+1280), 24 bits

  Mode 0x033d: 640x400 (+1280), 16 bits

  Mode 0x033e: 640x400 (+2560), 24 bits

  Config Status: cfg=new, avail=yes, need=no, active=unknown

```

So does this mean that a 1440x900 mode is not available to me?

----------

## lgaboury

It sure looks that way.

I also have an nVidia video card (mine is a GeForce Go 7600) with which I can run widescreen resolution under X but not with VESA framebuffer (fbsplash).

In the Device Drivers -> Graphics section of the kernel configuration, there is a driver for an nVidia framebuffer.  However it appears that this framebuffer driver conflicts with the nVidia Drivers under X.

I have not investigated further as I automatically start X at bootup.  I have dual boot and when Windows XP loads up the screen with the pseudo progress bar is also at 1024x768.  I certainly believe it is a limitation of our video cards and not how we have configured our kernel or grub config file.  Unless someone else can show otherwise?

----------

## Schizoid

I have tried the nvidia-fb driver and while it gives the same initial error, at some point during the boot process it will switch to the mode you define, so it will use a resolution like 1440x900. But yeah, as soon as you try to compile the X nvidia driver you are out of luck, so this is not really an option.

The only other thing I have heard anything about is vesafb-tng. I have a feeling it may provide another option but I have not found any sort of comparison or page detailing why it is different etc. I have a very spotty internet connection right now and my research is moving very slowly.

----------

## vai777

In the Xorg.0.log you can see which modes are supported by the vesa driver. I don't think straight vesa or vesa-tng supports 1440x900. Try the propietary one.

Don't use nvidia framebuffer.

----------

## Schizoid

 *vai777 wrote:*   

> In the Xorg.0.log you can see which modes are supported by the vesa driver. I don't think straight vesa or vesa-tng supports 1440x900. Try the propietary one.
> 
> Don't use nvidia framebuffer.

 

I don't see anything related to vesa modes in my Xorg log file.

What do you mean by the proprietary one?

----------

## vai777

I misunderstood some things so...if you want to get 1440x900 in text mode I don't think you can't with VESA, at least I don't know how.

If using X with the vesa driver you won't be able to get that resolution neither, then you'll have to use nvidia-drivers, the nvidia propietary driver.

----------

## Schizoid

I can get a 1440x900 console with the nvidia frame buffer driver, but then I cannot use the nvidia X driver, which is unacceptable. Gotta have that 3D acceleration in X!

I think it is just not possible to satisfy both situations at the same time.

If I were to switch to a 32-bit gentoo installation, would I then be able to use vesafb-tng? Or does the fact that I have 64-bit hardware prevent this?

----------

## vai777

because the modules have the same name

In x86 you can use both, vesa or vesa-tng, in x86_64 only vesafb.

----------

## warrawarra

 *Schizoid wrote:*   

> I can get a 1440x900 console with the nvidia frame buffer driver, but then I cannot use the nvidia X driver, which is unacceptable. Gotta have that 3D acceleration in X!
> 
> I think it is just not possible to satisfy both situations at the same time.
> 
> If I were to switch to a 32-bit gentoo installation, would I then be able to use vesafb-tng? Or does the fact that I have 64-bit hardware prevent this?

 

Have you tried any of the nvidia.com / drivers / unix  drivers for linux both 32 / 64 bit ones. nvi*.run

I have my laptop lcd 1440x900 + laptop nvidia 7800gtx running fine pushing 13k fps avg + beryl etc and using 9755 nvidia driver.

The 96xx driver is for mx / geforece2 nvidia and 9755 is for after this think 6000+ erious cards and above.

I got mine working with emerge and nvidia driver 9755 and it works fine.

LCD's are sometimes stuck at 60hz only espcl for laptops normal desktop lcd's should be able to go higher freqncy but not sure for the uwxga / wxga / widescrfeen ones.

----------

## dmead

i use the same res and a nvidia 6800 with the nvidiafb module and it's fine

----------

## Schizoid

 *dmead wrote:*   

> i use the same res and a nvidia 6800 with the nvidiafb module and it's fine

 

But you can't use the nvidia X drivers then, can you?

When I tried it totally refused.

----------

## dmead

 *Schizoid wrote:*   

>  *dmead wrote:*   i use the same res and a nvidia 6800 with the nvidiafb module and it's fine 
> 
> But you can't use the nvidia X drivers then, can you?
> 
> When I tried it totally refused.

 

that sounds odd it's worked for me before

----------

## Gusar

 *dmead wrote:*   

> that sounds odd it's worked for me before

 I find that hard to believe, nvidiafb and nvidia X driver are totally incompatible with each other. Not even the open source nouveau driver is compatible with nvidiafb.

The only way you're going to have a widescreen framebuffer and a 3d accelerated X driver is with a nouveau/nouveaufb combo. For this, the nouveau driver will need to mature and a nouveaufb will need to be written.

----------

