Opened 10 years ago

Last modified 10 years ago

#3557 new bug

app_server doesn't appear to correctly fall back to single buffer mode if allocating the double buffered frame buffer fails (or doesn't correctly detect that it failed).

Reported by: BeOSR Owned by: stippi
Priority: normal Milestone: R1
Component: Servers/app_server Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: x86

Description

When setting the Screen pref to 1280x1024x32bpp or higher, the bottom 35% of the screen becomes black. The pointer is drawn in that zone, but windows etc are not. This does not happen in 1280x1024x16bpp, or 1182x864x32bbp.

Gfx card is MGA Millennium G200 8Mb AGP, and 1280x1024x32bpp works fine in R5, Dano & Zeta.

Using Geforce TNT 16Mb AGP does not generate this behaviour.

Change History (5)

comment:1 Changed 10 years ago by anevilyak

Owner: changed from axeld to rudolfc

comment:2 Changed 10 years ago by axeld

This is likely being caused by the app_server's double buffering implementation. It doubles the height of the screen, and maybe the Matrox card does not like this.

comment:3 Changed 10 years ago by BeOSR

Problem solved by upgrading G200 to G400MAX 32Mb...

8Mb card probably doesn't have enough memory to allow double buffering at this resolution/color depth?

comment:4 Changed 10 years ago by anevilyak

Indeed, 1280x1024@32pp equates to approximately a 5MB frame buffer, ergo doubling that would most definitely not fit into the 8MB of graphics RAM total that the card had. Though we should probably be smarter about handling that case by the sounds of it.

comment:5 Changed 10 years ago by anevilyak

Component: Drivers/Graphics/MatroxServers/app_server
Owner: changed from rudolfc to stippi
Summary: Bottom of screen blacks out at high resolution w/MGA G200app_server doesn't appear to correctly fall back to single buffer mode if allocating the double buffered frame buffer fails (or doesn't correctly detect that it failed).

Updating ticket to reflect the actual problem.

Note: See TracTickets for help on using tickets.