Problem on Linux: Couldn't set 1920x1200x32 video mode: No video mode large enough for 1920x1200

I have a small test program using SDL. It works in X11 on Linux. I run
xorg in 1920x1200, which is the resolution of my display. I can run the
test program in a window or fullscreen at 1920x1200. When I switch to a
virtual terminal (Ctrl+Alt+F3) and try to run my test program I get this
error:
Couldn’t set 1920x1200x32 video mode: No video mode large enough for
1920x1200

The test program works on virtual terminal 3 for resolutions up to
1408x1056 but anything above that fails. Here is some output from dmesg
when Linux starts:
radeonfb: Retreived PLL infos from BIOS
radeonfb: Reference=27.00 MHz (RefDiv=6) Memory=337.00 Mhz,
System=243.00 MHz
radeonfb: PLL min 20000 max 35000
radeonfb: Reversed DACs detected
radeonfb: Reversed TMDS detected
Non-DDC laptop panel detected
radeonfb: Monitor 1 type LCD found
radeonfb: Monitor 2 type no found
radeonfb: panel ID string: W3866^F154U1

radeonfb: detected LVDS panel size from BIOS: 1920x1200
radeondb: BIOS provided dividers will be used
radeonfb: Dynamic Clock Power Management enabled
Console: switching to colour frame buffer device 240x75
radeonfb (0000:01:00.0): ATI Radeon NP

How should I fix the problem?

radeonfb: detected LVDS panel size from BIOS: 1920x1200
radeondb: BIOS provided dividers will be used
radeonfb: Dynamic Clock Power Management enabled
Console: switching to colour frame buffer device 240x75
radeonfb (0000:01:00.0): ATI Radeon NP

How should I fix the problem?

Is there some way to confirm that fbcon actually WILL let you set a
1920x1200 resolution outside of SDL? It’s either an fbcon bug or an
off-by-one error in SDL that drops the highest resolution.

–ryan.

Ryan C. Gordon wrote:

radeonfb: detected LVDS panel size from BIOS: 1920x1200
radeondb: BIOS provided dividers will be used
radeonfb: Dynamic Clock Power Management enabled
Console: switching to colour frame buffer device 240x75
radeonfb (0000:01:00.0): ATI Radeon NP

How should I fix the problem?

Is there some way to confirm that fbcon actually WILL let you set a
1920x1200 resolution outside of SDL? It’s either an fbcon bug or an
off-by-one error in SDL that drops the highest resolution.

Well, xorg can set that resolution. I do not know what other
confirmation you want. Please tell me how I should investigate this!

Erik wrote:

Ryan C. Gordon wrote:

radeonfb: detected LVDS panel size from BIOS: 1920x1200
radeondb: BIOS provided dividers will be used
radeonfb: Dynamic Clock Power Management enabled
Console: switching to colour frame buffer device 240x75
radeonfb (0000:01:00.0): ATI Radeon NP

How should I fix the problem?

Is there some way to confirm that fbcon actually WILL let you set a
1920x1200 resolution outside of SDL? It’s either an fbcon bug or an
off-by-one error in SDL that drops the highest resolution.

Well, xorg can set that resolution. I do not know what other
confirmation you want. Please tell me how I should investigate this!

You can try to set 1920x1200 with fbset.

Stephane

Well, xorg can set that resolution. I do not know what other
confirmation you want. Please tell me how I should investigate this!

You can try to set 1920x1200 with fbset.

To be clear, I’m not suggesting that the hardware is incapable of
setting that resolution, just that fbcon might not be able to (or
perhaps can’t when the X server is hold some resource on another virtual
terminal). Please let us know what happens with fbset.

–ryan.

Stephane Marchesin wrote:

Erik wrote:

Ryan C. Gordon wrote:

radeonfb: detected LVDS panel size from BIOS: 1920x1200
radeondb: BIOS provided dividers will be used
radeonfb: Dynamic Clock Power Management enabled
Console: switching to colour frame buffer device 240x75
radeonfb (0000:01:00.0): ATI Radeon NP

How should I fix the problem?

Is there some way to confirm that fbcon actually WILL let you set a
1920x1200 resolution outside of SDL? It’s either an fbcon bug or an
off-by-one error in SDL that drops the highest resolution.

Well, xorg can set that resolution. I do not know what other
confirmation you want. Please tell me how I should investigate this!

You can try to set 1920x1200 with fbset.

$ fbset -i

mode “1920x1200-60”
# D: 161.760 MHz, H: 74.066 kHz, V: 59.972 Hz
geometry 1920 1200 1920 1200 8
timings 6182 136 96 27 2 32 6
hsync high
vsync high
rgba 8/0,8/0,8/0,0/0
endmode

Frame buffer device information:
Name : ATI Radeon NP
Address : 0xd0000000
Size : 134217728
Type : PACKED PIXELS
Visual : PSEUDOCOLOR
XPanStep : 8
YPanStep : 1
YWrapStep : 0
LineLength : 1920
MMIO Address: 0xfcff0000
MMIO Size : 16384
Accelerator : Unknown (38)

Thanks for your help. Does this give you enough information? Should I
try another command?

Ryan C. Gordon wrote:

Well, xorg can set that resolution. I do not know what other
confirmation you want. Please tell me how I should investigate this!

You can try to set 1920x1200 with fbset.

To be clear, I’m not suggesting that the hardware is incapable of
setting that resolution, just that fbcon might not be able to (or
perhaps can’t when the X server is hold some resource on another virtual
terminal). Please let us know what happens with fbset.

I tried “fbset -xres 1920 -yres 1200”. As expected it does nothing
(because the virtual terminal is already at that resolution). If I do
“fbset -xres 1408 -yres 1056”, I get that resolution. “fbset -xres 1920
-yres 1200” gives back the normal resolution. Works regardless of X on
another virtual terminal. So there seems to be no problem with fbset or
X holding a resource. What else can I test?

I tried “fbset -xres 1920 -yres 1200”. As expected it does nothing
(because the virtual terminal is already at that resolution). If I do
“fbset -xres 1408 -yres 1056”, I get that resolution. “fbset -xres 1920
-yres 1200” gives back the normal resolution. Works regardless of X on
another virtual terminal. So there seems to be no problem with fbset or
X holding a resource. What else can I test?

It’s likely an SDL bug; let me take a look at what we’re doing.

–ryan.

It’s likely an SDL bug; let me take a look at what we’re doing.

Ok, I looked, and there’s an obvious answer: we only support up to
1600x1200. :confused:

It could probably Just Work if someone adds it to checkres and
vesa_timings at the top of src/video/fbcon/SDL_fbvideo.c, though.

–ryan.

Ryan C. Gordon wrote:

It’s likely an SDL bug; let me take a look at what we’re doing.

Ok, I looked, and there’s an obvious answer: we only support up to
1600x1200. :confused:

So I am the first to try SDL on 1920x1200 with this over 1 year old
computer…

It could probably Just Work if someone adds it to checkres and
vesa_timings at the top of src/video/fbcon/SDL_fbvideo.c, though.

Adds what? Will there be a patch?

Thanks for investigating this.

So I am the first to try SDL on 1920x1200 with this over 1 year old
computer…

Nope, I’ve hit this too. I just never got the time to look into why.
Thanks for pointing this out, and, Ryan, thanks for looking into this.
I assume a patch is upcoming?On Thu, Dec 22, 2005 at 09:17:41PM +0100, Erik wrote:


Steaphan Greene
GPG public key: http://www.cs.binghamton.edu/~sgreene/gpg.key.txt
-------------- next part --------------
A non-text attachment was scrubbed…
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20051223/79a2ebc0/attachment.pgp

So I am the first to try SDL on 1920x1200 with this over 1 year old
computer…

Almost certainly with fbcon. Most people use the X11 driver (which can
do 1920x1200).

Adds what? Will there be a patch?

Beats me, I’m not sure what the numbers that need to be filled in mean.
I’ll add it to the TODO list if no one else wants to look at this.

–ryan.

So I am the first to try SDL on 1920x1200 with this over 1 year old
computer…

Almost certainly with fbcon. Most people use the X11 driver (which can
do 1920x1200).

Adds what? Will there be a patch?

Beats me, I’m not sure what the numbers that need to be filled in mean.
I’ll add it to the TODO list if no one else wants to look at this.

Remind me, I’ve got a Radeon 9200, and I can see if I can set that video
mode. I’ve not tried setting up the framebuffer driver on this system yet.
(I don’t know if my monitor can support that res though…)

-Sam Lantinga, Senior Software Engineer, Blizzard Entertainment

I added support for parsing /etc/fb.modes to CVS, based on Stephane Marchesin’s
old patch (thanks! :slight_smile:

Please try it out, and let me know if there are any problems!
http://www.libsdl.org/cvs/SDL-1.2.tar.gz

-Sam Lantinga, Senior Software Engineer, Blizzard Entertainment

I have a small test program using SDL. It works in X11 on Linux. I run
xorg in 1920x1200, which is the resolution of my display. I can run the
test program in a window or fullscreen at 1920x1200. When I switch to a
virtual terminal (Ctrl+Alt+F3) and try to run my test program I get this
error:
Couldn’t set 1920x1200x32 video mode: No video mode large enough for
1920x1200

By the way, if you want to just get it working without waiting for the
next SDL library release, you can set the SDL_FB_BROKEN_MODES environment
variable to 1, and it’ll pretend that the current framebuffer console mode
is the only one available.

-Sam Lantinga, Senior Software Engineer, Blizzard Entertainment