Bug 264720

Summary: radeon: Xserver crash in RADEONDisplayPowerManagementSet(0,0x0)
Product: [openSUSE] openSUSE 10.3 Reporter: Tobias Burnus <burnus>
Component: X.OrgAssignee: Matthias Hopf <mhopf>
Status: RESOLVED FIXED QA Contact: E-mail List <xorg-maintainer-bugs>
Severity: Major    
Priority: P2 - High CC: eich, sndirsch
Version: Alpha 3   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: /etc/X11/xorg.conf
xorg log of crash with xorg-x11-driver-video-7.2-83 and gnome-screensaver locking
0001-Clean-up-PortInfo-to-CRTC-mapping.txt
radeon-Clean-up-PortInfo-to-CRTC-mapping.diff
radeon-Clean-up-PortInfo-to-CRTC-mapping.diff
xorg-x11-driver-video-7.2-132.i586.rpm
xorg-x11-driver-video-7.2-132.x86_64.rpm
Missing symbol.
xorg-x11-driver-video-7.2-133.i586.rpm
xorg-x11-driver-video-7.2-133.x86_64.rpm

Description Tobias Burnus 2007-04-15 21:01:02 UTC
This might nor might not be a duplicate of bug 263199.

The crash happens only after a while (as to be expected for a crash in  RADEONDisplayPowerManagementSet) and kdm immediately restarts X.

This is with:

  Vendor: pci 0x1002 "ATI Technologies Inc"
  Device: pci 0x5b60 "Radeon X300 (RV370) 5B60 (PCIE)"

and a
  VendorName   "PHILIPS"
  ModelName    "17B"

monitor conntected via VGA.


From Xorg.0.log.old:

(**) RADEON(0): RADEONSaveScreen(2)
(**) RADEON(0): RADEONSaveScreen(0)
(**) RADEON(0): RADEONSaveScreen(2)
(**) RADEON(0): RADEONDisplayPowerManagementSet(1,0x0)

Backtrace:
0: /usr/bin/Xorg(xf86SigHandler+0x6d) [0x4921cd]
1: /lib64/libc.so.6 [0x2b71b9bc3410]
2: /usr/lib64/xorg/modules//drivers/radeon_drv.so [0x2b71bb29ab0b]
3: /usr/lib64/xorg/modules//drivers/radeon_drv.so(RADEONDisplayPowerManagementSet+0x1f0) [0x2b71bb29ae40]
4: /usr/bin/Xorg(DPMSSet+0xce) [0x49444e]
5: /usr/bin/Xorg [0x56a37c]
6: /usr/bin/Xorg [0x56a608]
7: /usr/bin/Xorg(WaitForSomething+0x657) [0x56ad27]
8: /usr/bin/Xorg(Dispatch+0x9a) [0x450b9a]
9: /usr/bin/Xorg(main+0x45d) [0x439a0d]
10: /lib64/libc.so.6(__libc_start_main+0xf4) [0x2b71b9bb0944]
11: /usr/bin/Xorg(FontFileCompleteXLFD+0x229) [0x438d09]

Fatal server error:
Caught signal 11.  Server aborting

(**) RADEON(0): RADEONDisplayPowerManagementSet(0,0x0)
Comment 1 Tobias Burnus 2007-04-15 21:03:25 UTC
Created attachment 131227 [details]
/etc/X11/xorg.conf

Forget to mention: This is with
  xorg-x11-driver-video-7.2-77 (build Fri Apr 6)
the newest available on Factory.
Comment 2 Stefan Dirsch 2007-04-15 21:16:21 UTC
What's the latest RPM changelog of the package?
Comment 3 Tobias Burnus 2007-04-15 21:39:35 UTC
xorg-x11-driver-video-7.2-77:

* Tue Apr 03 2007 - sndirsch@suse.de
- updated "nvrandr12" driver to current git:
  * G80: Get HW cursor working with RandR 1.2
- added two nv driver patches (xf86-video-nv-{1,2}.diff)
  * X.Org Bug #10360: Need to inject a mode corresponding panel
  width/height for validation
  * Remove extraneous DisplayModeRec allocation (Thanks to Luc
  Verhaegen for pointing this out)
Comment 4 Stefan Dirsch 2007-04-16 08:31:56 UTC
Ok. This is too old. You'll need this one to verify.

-------------------------------------------------------------------
Thu Apr 12 20:43:12 CEST 2007 - sndirsch@suse.de

- bug-263199_radeon-mergedfb-crash.diff:
  * fixed MergedFB related Xserver crash (Bug #263199)

I suggest to use the package from the buildservice (xorg73 project) if
Factory is too old.
Comment 5 Tobias Burnus 2007-04-16 11:20:47 UTC
> Ok. This is too old. You'll need this one to verify.

I expected so, but there is no newer in Factory.

> I suggest to use the package from the buildservice (xorg73 project)
Thanks for the pointer.

X seems to run ok now (so far at least) thus I close this bug. If it is not fixed, I will reopen it.

Comment 6 Stefan Dirsch 2007-04-16 11:48:31 UTC
Ok. Thanks for testing.
Comment 7 Tobias Burnus 2007-04-20 06:01:13 UTC
While X is more stable, I still have problems. Yesterday morning I logged in (with KDM, at home) and in the evening I found the KDM screen with the mouse frozen and the usb keyboard too. A look in the Xorg.0.log.old this morning showed:


Apr 19 14:23 /var/log/Xorg.0.log.old:

(II) Mouse[1]: ps2EnableDataReporting: succeeded
Could not init font path element unix/:7100, removing from list!
(**) RADEON(0): RADEONSaveScreen(2)
(**) RADEON(0): RADEONSaveScreen(0)
(**) RADEON(0): RADEONSaveScreen(2)
(**) RADEON(0): RADEONDisplayPowerManagementSet(1,0x0)

Backtrace:
0: /usr/bin/Xorg(xf86SigHandler+0x6d) [0x4921cd]
1: /lib64/libc.so.6 [0x2ace61213410]
2: /usr/lib64/xorg/modules//drivers/radeon_drv.so [0x2ace628eaa5b]
3: /usr/lib64/xorg/modules//drivers/radeon_drv.so(RADEONDisplayPowerManagementSet+0x1f0) [0x2ace628ead90]
4: /usr/bin/Xorg(DPMSSet+0xce) [0x49444e]
5: /usr/bin/Xorg [0x56a37c]
6: /usr/bin/Xorg [0x56a608]
7: /usr/bin/Xorg(WaitForSomething+0x657) [0x56ad27]
8: /usr/bin/Xorg(Dispatch+0x9a) [0x450b9a]
9: /usr/bin/Xorg(main+0x45d) [0x439a0d]
10: /lib64/libc.so.6(__libc_start_main+0xf4) [0x2ace61200944]
11: /usr/bin/Xorg(FontFileCompleteXLFD+0x229) [0x438d09]

Fatal server error:
Caught signal 11.  Server aborting

(**) RADEON(0): RADEONDisplayPowerManagementSet(0,0x0)


Status is current Factory (11 April) with (only) xorg-x11-driver-video from xorg73 on the build server (xorg-x11-driver-video-7.2-196.1, last entry:
* Fri Apr 13 2007 sndirsch@suse.de
- bug-263199_radeon-autocrt.diff)
Comment 8 Stefan Dirsch 2007-04-20 11:09:23 UTC
*** Bug 266549 has been marked as a duplicate of this bug. ***
Comment 9 JP Rosevear 2007-04-20 12:49:42 UTC
I can still cause a crash with the lastest driver package:

jpr@rook:~> rpm -q xorg-x11-driver-video
xorg-x11-driver-video-7.2-83

jpr@rook:~> rpm -q --changelog xorg-x11-driver-video | more
* Wed Apr 18 2007 - sndirsch@suse.de
- updated nv driver to release 2.0.2:
  * This release adds product names for the GeForce 8600 GTS and GT,
  and the GeForce 8500 GT. It also contains a fix for bug 10360.
- obsoletes xf86-video-nv-1.diff, xf86-video-nv-2.diff

Comment 10 JP Rosevear 2007-04-20 12:50:27 UTC
Created attachment 132834 [details]
xorg log of crash with xorg-x11-driver-video-7.2-83 and gnome-screensaver locking
Comment 11 Stefan Dirsch 2007-04-20 13:16:57 UTC
(In reply to comment #9)
> I can still cause a crash with the lastest driver package:
Sure this bug has not been fixed yet. ;-)
Comment 12 Stefan Dirsch 2007-04-28 10:16:39 UTC
Raising severity.
Comment 13 Tobias Burnus 2007-05-02 08:48:51 UTC
Looks like or similar to https://bugs.freedesktop.org/show_bug.cgi?id=10772
"xf86-video-ati-6.6.191 segfaults when a client makes it enter RADEONDisplayPowerManagementSet() on a r200 card"
Comment 14 Stefan Dirsch 2007-05-03 09:51:42 UTC
Any chance to install the -debuginfo packages for xorg-x11-server and xorg-x11-driver-video so we'll get some more useful debug output? Is it
possible to trigger the crash with

  1)  xset dpms force standby; sleep 2; xset dpms force on
  2)  xset dpms force suspend; sleep 2; xset dpms force on
  3)  xset dpms force off; sleep 2; xset dpms force on

Which one?

Comment 15 Stefan Dirsch 2007-05-03 10:19:46 UTC
(In reply to comment #14)
> Is it possible to trigger the crash with
> 
>   1)  xset dpms force standby; sleep 2; xset dpms force on
>   2)  xset dpms force suspend; sleep 2; xset dpms force on
>   3)  xset dpms force off; sleep 2; xset dpms force on
> 
> Which one?

Question was adressed to JP.

Tobias, could you try to trigger it with

  xset dpms force standby

Comment 16 Stefan Dirsch 2007-05-03 10:35:47 UTC
I can't reproduce this issue with a *very* similar card

  Model: "ATI FireGL V3100 (RV370) 5B64 (PCIE)"
  Vendor: pci 0x1002 "ATI Technologies Inc"
  Device: pci 0x5b64 "FireGL V3100 (RV370) 5B64 (PCIE)"

with the xorg.conf attached to comment #1.

# xset dpms force standby

(**) RADEON(0): RADEONSaveScreen(2)
(**) RADEON(0): RADEONSaveScreen(0)
(**) RADEON(0): RADEONDisplayPowerManagementSet(1,0x0)
(**) RADEON(0): RADEONSaveScreen(2)
(**) RADEON(0): RADEONSaveScreen(1)
SetClientVersion: 0 9
SetGrabKeysState - disabled

>> pressed a key to wake up <<

(**) RADEON(0): RADEONDisplayPowerManagementSet(0,0x0)
(**) RADEON(0): RADEONSaveScreen(2)
SetGrabKeysState - enabled
(**) RADEON(0): RADEONSaveScreen(2)
Comment 17 Stefan Dirsch 2007-05-03 10:38:57 UTC
I even can't reproduce when using a MergedFB configuration as JP uses.
Comment 18 Stefan Dirsch 2007-05-03 10:39:54 UTC
Tobias, see my question in comment #15.
JP, see my question in comment #14.
Comment 19 Tobias Burnus 2007-05-03 11:56:25 UTC
> Any chance to install the -debuginfo packages for xorg-x11-server and
> xorg-x11-driver-video so we'll get some more useful debug output?

Is there anything else required besides installing it and running it normally?
I just installed it, started X and got after a while the usual backtrace in Xorg.0.log. I don't see more debug information than before.

With xset dpms I will play when I come home.
Comment 20 Stefan Dirsch 2007-05-03 12:01:56 UTC
Hmm ... probably you need to run the Xserver in the debugger then. Difficult if you're not familiar with gdb. :-( Might be not to complicated when you can trigger the crash with xset. So test this first.
Comment 21 Tobias Burnus 2007-05-03 13:30:41 UTC
> Hmm ... probably you need to run the Xserver in the debugger then.
> Difficult if you're not familiar with gdb

I have a problem with gdb:

$ gdb /var/X11R6/bin/X
GNU gdb 6.6
[...]
(gdb) run
Starting program: /var/X11R6/bin/X
[...]
[Thread debugging using libthread_db enabled]
[New Thread 47034746995472 (LWP 7772)]
Error while reading shared library symbols:
Cannot find new threads: generic error
linux-nat.c:546: internal-error: wait returned unexpected status 0x4057f
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) y
linux-nat.c:546: internal-error: wait returned unexpected status 0x4057f
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) n

This seems to be similar to http://www.nabble.com/generic-error-with-a-statically-linked-multithreaded-program-t3529790.html
except that gdb does not hang (the X server still runs after gdb quit).
Comment 22 Tobias Burnus 2007-05-03 14:06:23 UTC
I tried it with the Intel idb, but it only shows:

(**) RADEON(0): RADEONDisplayPowerManagementSet(1,0x0)
Backtrace:
0: /usr/bin/Xorg(xf86SigHandler+0x6d) [0x49227d]
1: /lib64/libc.so.6 [0x2ab2a2b86410]
2: /usr/lib64/xorg/modules//drivers/radeon_drv.so [0x2ab2a425db7b]
3: /usr/lib64/xorg/modules//drivers/radeon_drv.so(RADEONDisplayPowerManagementSet+0x1f0) [0x2ab2a425deb0]
[...]
Caught signal 11.  Server aborting
(**) RADEON(0): RADEONDisplayPowerManagementSet(0,0x0)
Process has exited
Reading symbolic information from /usr/bin/Xorg...No debugging symbols found
Could not load symbols for /usr/bin/Xorg ... Recovering ...

If you have an idea where to place a break point, I can try again.
Comment 23 Stefan Dirsch 2007-05-03 14:10:12 UTC
Sure that you installed the -debuginfo packages? BTW, the question for triggering the crash is still open.
Comment 24 Tobias Burnus 2007-05-04 05:56:12 UTC
> >   1)  xset dpms force standby; sleep 2; xset dpms force on
> >   2)  xset dpms force suspend; sleep 2; xset dpms force on
> >   3)  xset dpms force off; sleep 2; xset dpms force on
All this triggers the bug.


> Sure that you installed the -debuginfo packages?
Yes, I installed the two packages, however, the glibc build in backtrace does not seem to use it. The Intel idb does not seem to support it (I filled a bug report) and gdb had the internal error (bug #270948).

I tried addr2line on the backtrace, but it does not print lines :-(

> BTW, the question for triggering the crash is still open.
True, but but it is difficult to trigger this remotely.
Comment 25 Stefan Dirsch 2007-05-04 06:26:02 UTC
Try the following:

xf86debug -ac :1 &
DISPLAY=:1 xset dpms force standby

Attach /tmp/xf86debug.<tempfile-extension>
Comment 26 Tobias Burnus 2007-05-04 08:03:27 UTC
> Try the following:
> xf86debug -ac :1 &
> DISPLAY=:1 xset dpms force standby
Thanks, nice to know how to do this properly.

> Attach /tmp/xf86debug.<tempfile-extension>
But due to bug #270948 this does not help. Last lines:

linux-nat.c:546: internal-error: wait returned unexpected status 0x4057f
A problem internal to GDB has been detected,
Quit this debugging session? (y or n) [answered Y; input not from terminal]
Comment 27 Stefan Dirsch 2007-05-04 08:14:28 UTC
Maybe the problem is x86_64 specific (including gdb). JP, does gdb work for you? Can you provide the backtrace output?
Comment 28 JP Rosevear 2007-05-04 15:23:53 UTC
RADEONDPMSSetOff (pScrn=0x7ffb30, pPort=0x0) at radeon_display.c:2237
2237      MonType = pPort->MonType;
(gdb) bt
#0  RADEONDPMSSetOff (pScrn=0x7ffb30, pPort=0x0) at radeon_display.c:2237
#1  0x00002ac2af42aeb0 in RADEONDisplayPowerManagementSet (pScrn=0x7ffb30, PowerManagementMode=1, flags=0) at radeon_display.c:2373
#2  0x00000000004944fe in DPMSSet (level=1) at xf86DPMS.c:168
#3  0x00002ac2aedb3069 in ProcDPMSForceLevel (client=0xcbb790) at dpms.c:256
#4  0x0000000000450d6b in Dispatch () at dispatch.c:457
#5  0x0000000000439a8d in main (argc=10, argv=0x7ffffdca6cd8, envp=<value optimized out>) at main.c:445

(gdb) p pPort
$1 = (RADEONConnector *) 0x0

Comment 32 Stefan Dirsch 2007-05-09 20:27:41 UTC
Reassigning to Matthias. I'm afraid we rely on JP and his machine (x86_64) since I could not reproduce on i386, but the freedesktop.org bug was reported against i386. So I don't think I can reproduce this here by installing a x86_64 system.
Comment 33 JP Rosevear 2007-05-10 00:03:09 UTC
What do you want be to try?
Comment 34 Stefan Dirsch 2007-05-10 00:57:55 UTC
I don't know yet. But if you don't kill this installation for now, this would  be great. 
Comment 35 Tobias Burnus 2007-05-10 08:41:57 UTC
> RADEONDPMSSetOff (pScrn=0x7ffb30, pPort=0x0) at radeon_display.c:2237
> 2237      MonType = pPort->MonType;
> #0  RADEONDPMSSetOff (pScrn=0x7ffb30, pPort=0x0) at radeon_display.c:2237

Not that this is necessarily the cause for the problem, but as long as

RADEONConnector *RADEONGetCrtcConnector(ScrnInfoPtr pScrn, int crtc_num)

can return NULL

static void RADEONDPMSSetOff(ScrnInfoPtr pScrn, RADEONConnector *pPort)

should not use it unguarded. (Both: xf86-video-ati-6.6.191/src/radeon_display.c)

How about as interim measure:

-  MonType = pPort->MonType;
-  TmdsType = pPort->TMDSType;
-  DacType = pPort->DACType;
+  MonType = (pPort != NULL) ? pPort->MonType : MT_UNKNOWN;
+  TmdsType = (pPort != NULL) ? pPort->TMDSType : TMDS_UNKNOWN;
+  DacType = (pPort != NULL) ? pPort->DACType : DAC_UNKNOWN;

in RADEONDPMSSetOff ? I think good programming style mandates this even though one should find out why RADEONGetCrtcConnector returns NULL.
Comment 36 Stefan Dirsch 2007-05-11 07:57:44 UTC
JFYI.
Comment 37 Stefan Dirsch 2007-06-07 15:15:12 UTC
See also

  http://bugs.freedesktop.org/show_bug.cgi?id=10772
Comment 38 Tobias Burnus 2007-07-05 07:11:49 UTC
Any new status? Anything I can do? Having a locked-up computer if one is interrupted for a bit longer bugs me quite a lot.
Comment 39 Stefan Dirsch 2007-07-17 14:25:24 UTC
Created attachment 151445 [details]
0001-Clean-up-PortInfo-to-CRTC-mapping.txt

Fix by Luc.
Comment 40 Stefan Dirsch 2007-07-17 14:28:17 UTC
Created attachment 151449 [details]
radeon-Clean-up-PortInfo-to-CRTC-mapping.diff

Patch against 6.6.192. The previous one was against git head.
Comment 41 Stefan Dirsch 2007-07-17 14:45:05 UTC
Created attachment 151456 [details]
radeon-Clean-up-PortInfo-to-CRTC-mapping.diff

fixed patch
Comment 42 Stefan Dirsch 2007-07-17 15:28:42 UTC
Created attachment 151472 [details]
xorg-x11-driver-video-7.2-132.i586.rpm
Comment 43 Stefan Dirsch 2007-07-17 15:29:22 UTC
Created attachment 151473 [details]
xorg-x11-driver-video-7.2-132.x86_64.rpm
Comment 44 Stefan Dirsch 2007-07-17 15:30:56 UTC
Tobias, JP, could you test the RPMs with the patch applied? Thanks.
Comment 45 Tobias Burnus 2007-07-17 15:42:44 UTC
> Tobias, JP, could you test the RPMs with the patch applied? Thanks.

I could only try remotely using "startx -- :1"; DISPLAY=:1 and
  1)  xset dpms force standby; sleep 2; xset dpms force on
  2)  xset dpms force suspend; sleep 2; xset dpms force on
  3)  xset dpms force off; sleep 2; xset dpms force on
and the console output was fine and X continued to run. 
Comment 46 Stefan Dirsch 2007-07-17 16:05:35 UTC
Thanks. Sounds encouraging. What about you, JP?
Comment 47 Tobias Burnus 2007-07-17 22:23:30 UTC
>   1)  xset dpms force standby; sleep 2; xset dpms force on
>   2)  xset dpms force suspend; sleep 2; xset dpms force on
>   3)  xset dpms force off; sleep 2; xset dpms force on

I now tested locally and all these work. However, and I don't know whether it is related or not (I think it is): If I press "Alt-Ctrl-F2" to change to a virtual console, the screen gets blank, X restarts and I end up in kdm. The log output (standard out/error of "startx -- :1") does not show much, though one wonders why it talks about CRTC2.

(**) RADEON(0): RADEONLeaveVT
(**) RADEON(0): EngineRestore (32/32)
(**) RADEON(0): RADEONRestore
(**) RADEON(0): RADEONRestoreMode(0x801160)
(**) RADEON(0): RADEONRestoreMemMapRegisters() :
(**) RADEON(0):   MC_FB_LOCATION   : 0x1fff0000
(**) RADEON(0):   MC_AGP_LOCATION  : 0x27ff2000
(**) RADEON(0):   Map Changed ! Applying ...
(**) RADEON(0):   Map applied, resetting engine ...
(**) RADEON(0): Updating display base addresses...
(**) RADEON(0): Memory map updated.
(**) RADEON(0): Programming CRTC2, offset: 0x00000000
(**) RADEON(0): Wrote: 0x00000000 0x00000000 0x00000000 (0x0000a400)
(**) RADEON(0): Wrote: rd=0, fd=0, pd=0
(**) RADEON(0): Programming CRTC1, offset: 0x00000000
(**) RADEON(0): Wrote: 0x0030000c 0x00030065 0x00000000 (0x0000a700)
(**) RADEON(0): Wrote: rd=12, fd=101, pd=3
ksmserver: Fatal IO error: client killed
Comment 48 Stefan Dirsch 2007-07-17 23:36:43 UTC
So does this issue already happened to the older driver?
Comment 49 JP Rosevear 2007-07-18 01:32:18 UTC
I won't be able to try this until next week.
Comment 50 Tobias Burnus 2007-07-18 06:13:40 UTC
> So does this issue already happened to the older driver?
Using Factory's xorg-x11-driver-video-7.2-130
  * Tue Jul 10 2007 - sndirsch@suse.de
  - xf86-video-nv.diff:
I can flip repeatedly between X11 and the virtual console without any problems.
Comment 51 Stefan Dirsch 2007-07-18 09:03:29 UTC
Ok. This is the driver without the patch. So the patch introduced a regression. :-(
Comment 52 Luc Verhaegen 2007-07-18 13:17:47 UTC
Created attachment 151663 [details]
Missing symbol.

This is one of the few drivers where the upstream developers never had the heart to actually enable -Wall as a CFLAG. This means that you don't get warned about missed conversions like this, a luxury i myself do have on my upstream drivers, one i seem to actively depend on too :)
Comment 53 Stefan Dirsch 2007-07-18 14:52:55 UTC
Created attachment 151682 [details]
xorg-x11-driver-video-7.2-133.i586.rpm

fixed RPM.
Comment 54 Stefan Dirsch 2007-07-18 14:53:29 UTC
Created attachment 151684 [details]
xorg-x11-driver-video-7.2-133.x86_64.rpm

fixed RPM.
Comment 55 Stefan Dirsch 2007-07-18 14:54:37 UTC
Tobias, JP, could you test the new RPMs with the fixed patch applied? Thanks.
Comment 56 Tobias Burnus 2007-07-18 19:43:13 UTC
> Tobias, JP, could you test the new RPMs with the fixed patch applied? Thanks.
First, I would like to thank Luc for the patches and Stefan for the packages.

Secondly, it works better but still not fully.

If switch to the console and back, X still runs.

However, if I switch to the console, the following happens:
The screen gets blank/black (ok so far) and shows then a still image of the X11 screen, where in the first half centimetre is overwritten by a black half-screenwide bar. Below for one and a half centimetres the the X11 screen has a turquoise tint. If I press a key, the image shown does not change (and as expected mouse moves don't change anything either), but at least num lock works.

Switching back to X11: black screen and then the normal X11 (hooray!).
Comment 57 Tobias Burnus 2007-07-19 06:19:00 UTC
> > Tobias, JP, could you test the new RPMs with the fixed patch applied? Thanks.
> Secondly, it works better but still not fully.

I now also rebooted the computer instead of only restarting X and it works now; sorry for the confusion.
Comment 58 JP Rosevear 2007-07-25 00:33:27 UTC
Everything working here now as well.
Comment 59 Stefan Dirsch 2007-08-04 08:05:25 UTC
Now fixed upstream as well.

commit a156db5e8b037ed12a448f70045453baf9d0c504
Author: Luc Verhaegen <libv@skynet.be>
Date:   Sat Aug 4 17:37:18 2007 +1000

    Clean up PortInfo to CRTC mapping
    
    Also sanitise blanking and DPMS functions
    
    Fixes from Novell Bug 264720, and fd.o 10772