[mach64] Striped corner and mode switch failure

Bug #82434 reported by Rebecca Palmer
6
Affects Status Importance Assigned to Milestone
xserver-xorg-video-ati (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: xserver-xorg-video-ati

Hardware: ATI Rage Pro Turbo AGP 2X
Desktop: Gnome default, 800x600

Frequently on startup, dark vertical stripes appear in an approximately 64x64 area in the top left corner of the screen; they usually disappear after a while and are not shown on a screenshot.

My Allegro programs only seem to be able to change the screen mode once in each run; any attempt to do so again (including the automatic return to normal desktop resolution on exit) fails with the error message below and crashes/hangs the program.

Both these problems appeared on installation of Ubuntu 6.10 and were not present in Debian 3.1 (XFree86).

(My system also crashes a great deal, a common pattern being X restarting over and over again, but I think this is a separate problem.)

Test program (requires liballegro4.2-dev):

#include <allegro.h>
int main(){
allegro_init();
install_timer();
install_keyboard();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_FULLSCREEN,640,480,0,0);
textprintf_ex(screen,font,100,200,255,0,"Press a key");
readkey();
/*hangs if next line is uncommented*/
/*set_gfx_mode(GFX_AUTODETECT_FULLSCREEN,800,600,0,0);*/
/*readkey();*/
exit(0);
}
END_OF_MAIN()

As above (appeared to run normally, but on exit the following error appeared and resolution stayed at 640x480)
$ gcc -o gfxerror gfxerror.c `allegro-config --libs`
$ ./gfxerrorX Error of failed request: BadValue (integer parameter out of range for operation)
  Major opcode of failed request: 134 (XFree86-VidModeExtension)
  Minor opcode of failed request: 10 (XF86VidModeSwitchToMode)
  Value in failed request: 0x2600001
  Serial number of failed request: 235
  Current serial number in output stream: 240

With second mode change uncommented:
$ gcc -o gfxerror gfxerror.c `allegro-config --libs`
$ ./gfxerror
X Error of failed request: BadValue (integer parameter out of range for operation)
  Major opcode of failed request: 134 (XFree86-VidModeExtension)
  Minor opcode of failed request: 10 (XF86VidModeSwitchToMode)
  Value in failed request: 0x2600001
  Serial number of failed request: 189
  Current serial number in output stream: 194

[Program appeared to have closed, but terminal prompt did not reappear, so pressed Ctrl+C. Resolution again stayed at 640x480]

Aborted (core dumped)
$

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Thanks for your bugreport. Could you try 7.10beta which has a newer driver, and report back what happens.

Changed in xserver-xorg-video-ati:
status: New → Incomplete
Revision history for this message
LHoust (houston-greenfield) wrote :

I am observing a similar "Problem" with both a 3D Rage Pro (AGP) and a Rage Pro II+DVD (PCI) Card under Ubuntu 6.10, 7.04 and 7.10 (but NOT with a S3 Trio64V+ (PCI) Card)!!! Will often appear shortly after logging into Ubuntu (but NOT always), but always when Changing Display Resolution/Refresh Rate... The Striped Area will disappear on its own or following a Screen Blank... The Strips do NOT appear on a Screen Dump, so I have attached a Digital Picture (which I hope that is clear enough)??? Curiously the "Problem" does NOT occur under Ubuntu 6.06, Debian 4.0, Windows 2000 or Windows XP on the same machine (450 MHz Pentium-II, ASUS P2B Motherboard)!!! Removing the other ISA and PCI Cards one at a time did NOT clear the "Problem"...

Revision history for this message
LHoust (houston-greenfield) wrote :

X11 Configuration File

Revision history for this message
LHoust (houston-greenfield) wrote :

X11 Log

Revision history for this message
LHoust (houston-greenfield) wrote :

'lspci -vvnn' Log

Revision history for this message
gsap (gsap7) wrote :

This is due to not hiding the cursor during mode switches. The following patch used to hide the symptoms (not for upstream):

diff --git a/src/aticonsole.c b/src/aticonsole.c
index bd5ec9c..5de0df4 100644
--- a/src/aticonsole.c
+++ b/src/aticonsole.c
@@ -658,6 +658,12 @@ ATISwitchMode

 #endif /* XF86DRI_DEVEL */

+ /* Workaround for X server hiding the cursor for core cursor, but not
+ * for Xcursor, leaving a 64x64 garbage upper-left.
+ */
+ if (pATI->pCursorInfo)
+ (*pATI->pCursorInfo->HideCursor)(pScreenInfo);
+
         ATIModeSet(pScreenInfo, pATI, &pATI->NewHW);

 #ifdef XF86DRI_DEVEL

Revision history for this message
Rebecca Palmer (rebecca-palmer) wrote :

Upgraded to Xubuntu 7.10. In default 1280x800 resolution, all fine.

Allegro now does switch mode back on shutdown, but there is a new problem: changing the screen resolution to 640x480 or 800x600, whether in Allegro or in Xfce settings at the default refresh rate, turns the screen into an unreadable mess of flickering near-horizontal stripes. These modes do work in Xfce if the refresh rate is set manually.

Revision history for this message
LHoust (houston-greenfield) wrote :

I had a go at using PBUILDER to rebuild the ATI Driver under Ubuntu 7.10 and although it did elimiate the 64x64 Cursor Problem in the Top Left Corner, I had other problems with my Build (such as Incorrect Icons and Change in Colours) so I do NOT trust my Build... It reads as if this Patch ONLY Hides the Problem, suggesting it does NOT fix the "Problem"??? Either way how does on go about getting either the Workaround or the "Real" Problem fixed within Ubuntu??? Curiously I did NOT experience the 64x64 Cursor Problem within Ubuntu 6.06, suggesting the "Bug" was added since then???

Revision history for this message
Bryce Harrington (bryce) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. You reported this bug a while ago and there hasn't been any activity in it recently. We were wondering is this still an issue for you? Can you try with latest Ubuntu release (Hardy)? Thanks in advance.

If it does still occur, please attach your /var/log/Xorg.0.log file from Hardy.

Revision history for this message
nekapuzer (armloch) wrote :

I have a very similar problem with hardy, i reported my info here: https://bugs.launchpad.net/ubuntu/+source/bzflag/+bug/162151/comments/3

the other posters above me (in the other bug report), get the X error at startup whereas i get it when the game (tried quake4, etqw, bzflag) is shuting down, coming back to the desktop. actually my ingame resolution is the same as my desktop resolution, so i'm not sure why it does a modeswitch at all.

attached is my xorg conf.

Revision history for this message
nekapuzer (armloch) wrote :

also my xorg log

Revision history for this message
Brian Murray (brian-murray) wrote : Ubuntu needs you!

Thanks for taking the time to report this bug and helping to make Ubuntu better. In the development cycle for Intrepid there have been some vast improvements in the open source ati video driver and we could use your help testing them. Could you please download the latest Alpha CD image of Intrepid and test this particular bug just using the Live CD? You can find the latest image at http://www.ubuntu.com/testing . Your testing can help make Ubuntu and the open source ati driver even better! Thanks in advance.

Revision history for this message
Bryce Harrington (bryce) wrote :

Closing as expired due to no response from original reporter in > 4 months.

nekapuzer, according to your log you're using -fglrx not -ati so you need to report your bug separately.

Changed in xserver-xorg-video-ati:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.