Freeze on visuals in Rhythmbox with savage driver

Bug #153873 reported by tsg1zzn
4
Affects Status Importance Assigned to Milestone
X.Org X server
Fix Released
High
xserver-xorg-video-savage (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: xserver-xorg-driver-savage

As soon as I enable visualisation in Rhythmbox a part of the window goes pink and a bit of black and other colours, and the computer freezes. Ctrl+Alt+Backspace doesn't do anything and I can't switch to another virtual terminal.

The driver is savage, the card is ProSavage DDR and the release is Gutsy beta 4.

Tags: crash gutsy
Revision history for this message
In , Bugzi09-fdo-tormod (bugzi09-fdo-tormod) wrote :

Created an attachment (id=10652)
screenshot from locked-up pc running Rhythmbox

On the screenshot some pink distortions can be seen. Other times the whole Visualization window is immediately and completely filled with pinkish trash.

Revision history for this message
In , Bugzi09-fdo-tormod (bugzi09-fdo-tormod) wrote :

Created an attachment (id=10653)
my xorg.conf (in Debian)

Revision history for this message
In , Bugzi09-fdo-tormod (bugzi09-fdo-tormod) wrote :

Created an attachment (id=10654)
log from the crashed server (BCIforXv enabled by default)

Revision history for this message
In , Bugzi09-fdo-tormod (bugzi09-fdo-tormod) wrote :

Created an attachment (id=10655)
log from stable server (BCIforXv disabled)

Revision history for this message
In , Bugzi09-fdo-tormod (bugzi09-fdo-tormod) wrote :

BTW, this is with up-to-date Debian Lenny or Ubuntu Gutsy.

Revision history for this message
tsg1zzn (tsg1zzn) wrote : Freeze on visuals in Rhythmbox with savage drivver

Binary package hint: xserver-xorg-driver-savage

As soon as I enable visualisation in Rhythmbox a part of the window goes pink and a bit of black and other colours, and the computer freezes. Ctrl+Alt+Backspace doesn't do anything and I can't switch to another virtual terminal.

The driver is savage, the card is ProSavage DDR and the release is Gutsy beta 4.

Revision history for this message
In , Avillaci (avillaci) wrote :

I have seen this lockup too on my home machine. My machine reports the following on lspci -v:

01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266]
(prog-if 00 [VGA])
        Subsystem: S3 Inc. VT8375 [ProSavage8 KM266/KL266]
        Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 11
        Memory at dfe80000 (32-bit, non-prefetchable) [size=512K]
        Memory at d0000000 (32-bit, prefetchable) [size=128M]
        Expansion ROM at dfe70000 [disabled] [size=64K]
        Capabilities: [dc] Power Management version 2
        Capabilities: [80] AGP version 2.0

If you have gstreamer-tools installed, this bug can be reproduced (at least in my case) as follows (with BCIforXv enabled):

The following command works correctly:
gst-launch videotestsrc ! video/x-raw-yuv,format=\(fourcc\)YV12,width=320 ! xvimagesink

The following command causes diagonal colored corruption to be displayed in the xv window:
gst-launch videotestsrc ! video/x-raw-yuv,format=\(fourcc\)YV12,width=328 ! xvimagesink

The following command locks up the machine hard:
gst-launch videotestsrc ! video/x-raw-yuv,format=\(fourcc\)YV12,width=321 ! xvimagesink

The following command does not use BCI and runs correctly regardless of the value of width (note: it specifies YUY2 instead of YV12):
gst-launch videotestsrc ! video/x-raw-yuv,format=\(fourcc\)YUY2,width=320 ! xvimagesink

The cause seems to be that the BCI code in the driver is unable to handle pixel widths that are not multiples of 16. With multiples of 8, the corruption manifests itself as diagonal ghost images (a real-world example video where the ghost images appear is the "What is Ubuntu" example video that comes with the Ubuntu 7.04 and 7.10 LiveCDs). With non-multiples of 8, the machine locks up.

Fortunately, I have a patch that fixes the problem, at least in my case (applied on top of current git). It restricts the use of BCI to just the cases where the pixel width is a multiple of 16 pixels. Other widths are handled by software, bypassing the BCI (as is the cas with BCIForXV=off).

I have the patches at home, so I need to get there first.

Revision history for this message
In , Avillaci (avillaci) wrote :

Created an attachment (id=13684)
Restrict BCI to multiples of 16 pixels

Applies on top of commit 7da1a03d4b8b40483001b1f6e56dae655a1797f4 (with commit 846a69f70d189c486448df269a512b8d42fab0c2 cherry-picked).

Changed in xserver-xorg-driver-savage:
status: New → Confirmed
Changed in xorg-server:
status: Unknown → Confirmed
Revision history for this message
In , Avillaci (avillaci) wrote :

Patch has been committed to current git for driver. If you can, please recompile current git head and check whether the commit fixes things for you.

Revision history for this message
In , Bugzi09-fdo-tormod (bugzi09-fdo-tormod) wrote :

Alex, it works very well. Thanks a lot! Finally, after all these years with pink trash... Even the "What is Ubuntu" looks good, I always wondered why they shipped such a crappy-looking video for demo purposes :)

Thanks also to Alex D. for sustained service of these old cards.

Revision history for this message
In , agd5f (agd5f) wrote :

(In reply to comment #9)
> Alex, it works very well. Thanks a lot! Finally, after all these years with
> pink trash... Even the "What is Ubuntu" looks good, I always wondered why they
> shipped such a crappy-looking video for demo purposes :)
>
> Thanks also to Alex D. for sustained service of these old cards.
>

Don't thank me, thank Alex Villacís Lasso. He fixed it, I just committed the patches :)

Revision history for this message
Tormod Volden (tormodvolden) wrote :

This has now been fixed upstream. You can get test packages from https://wiki.ubuntu.com/XorgOnTheEdge

Changed in xserver-xorg-video-savage:
status: Confirmed → Fix Committed
Changed in xorg-server:
status: Confirmed → Fix Released
Revision history for this message
Tormod Volden (tormodvolden) wrote :

This should have been solved now, with the new 2.2.1 version in Intrepid. Please reopen if it's not the case.

Changed in xserver-xorg-video-savage:
status: Fix Committed → Fix Released
Changed in xorg-server:
importance: Unknown → High
Changed in xorg-server:
importance: High → Unknown
Changed in xorg-server:
importance: Unknown → High
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.