Bug 52091

Summary: Screen fails to resize correctly to 640x480 / 16 bit depth with HD6450
Product: xorg Reporter: Chris Rankin <rankincj>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED NOTOURBUG QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.0.log output none

Description Chris Rankin 2012-07-14 16:08:29 UTC
I have an old Windows game "Thomas & Friends - Railway Adventures" whose native window size is 640x480. I believe its colour depth is 16 bits because Wine shows this message:

fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 16

When I try to start the game in full-screen mode, the LHS of the game's window disappears off-screen, leaving a large black gap on the RHS of the viewing space. (In other words, the game's window seems to be rendered "off centre").

My current workaround is to tell Wine to use a 640x480 virtual desktop instead. However, this is not ideal on a 1280x1024 monitor.
Comment 1 Alex Deucher 2012-07-14 16:10:53 UTC
Can you select 640x480 using xrandr?  e.g.,

xrandr --output <output> --mode 640x480
Comment 2 Alex Deucher 2012-07-14 16:11:23 UTC
Please attach your xrandr output.
Comment 3 Chris Rankin 2012-07-14 16:17:44 UTC
Created attachment 64211 [details]
Xorg.0.log output

The game also fails to restore the original video mode when it exits, leaving this error on the console:

X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  129 (XFree86-VidModeExtension)
  Minor opcode of failed request:  10 (XF86VidModeSwitchToMode)
  Value in failed request:  0x2c0083b
  Serial number of failed request:  6576
  Current serial number in output stream:  6578

(And yes, xrandr output to follow... ;-).)
Comment 4 Chris Rankin 2012-07-14 16:18:40 UTC
$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 16384 x 16384
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 271mm
   1280x1024      60.0*+
   1024x768       60.0  
   800x600        60.3  
   640x480        60.0  
   720x400        70.1  
VGA-0 disconnected (normal left inverted right x axis y axis)
Comment 5 Chris Rankin 2012-07-14 16:22:34 UTC
Amazingly, the game plays normally if do this:

$ xrandr --output DVI-0 --mode 640x480
$ run game
$ xrandr --output DVI-0 --mode 1280x1024
Comment 6 Alex Deucher 2012-07-14 22:09:20 UTC
I think this is an issue with the game.  The xvidmode extension doesn't deal with multiple heads properly.  It should probably be updated to use randr instead.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.