Bug 12959

Summary: RandR1.2 on my G70 is now completely broken
Product: xorg Reporter: Adam Petaccia <adam>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: debian
Version: 7.2 (2007.02)   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg starting with RandR12
none
Xorg without RandR starting fine.
none
Xorg log with RandR 2007.10.29
none
Xorg log kind of working
none
Xorg coming up.
none
Xorg log with tearing
none
2007 11 02 Xorg log, failing to start
none
2007 11 02 Xorg, RandR12 chooses a bad mode
none
Xorg starting without randr
none
2007 11 04 Trial run
none
2007 11 05 Xorg log
none
This patch fixes RandR for me
none
2007 11 07
none
2007 11 09 Attempt
none
Xorg log
none
Input not supported
none
Xorg log 2007 11 12 - Input is supported
none
2007 11 12 - working
none
Broken again none

Description Adam Petaccia 2007-10-26 08:46:00 UTC
RandR1.2 used to work on my G70, but now X just fails to start (as of today).  WIthout the RandR option, nouveau inits everything just fine.  Logs will be attached.
Comment 1 Adam Petaccia 2007-10-26 08:47:01 UTC
Created attachment 12216 [details]
Xorg starting with RandR12
Comment 2 Adam Petaccia 2007-10-26 08:47:21 UTC
Created attachment 12217 [details]
Xorg without RandR starting fine.
Comment 3 Maarten Maathuis 2007-10-26 09:20:17 UTC
I'd be interrested to know the value of NV_RAMDAC_FP_DEBUG_0 on the digital output that is refused (look around line 1040 of nv_output.c).

At the moment i can't make you a patch, but if you can help yourself, then add an ErrorF to dump the state of that register. Preferably for both heads.
Comment 4 Adam Petaccia 2007-10-26 09:32:42 UTC
Will do.  If I git bisected right, RandR was corrupted before this, but completly broke down here:
mighmos% git bisect bad
85dac1041b38127d41832a6a322d01f87d70f28f is first bad commit
commit 85dac1041b38127d41832a6a322d01f87d70f28f
Author: Maarten Maathuis <madman2003@gmail.com>
Date:   Fri Oct 19 08:06:33 2007 +0200

    randr12: Some changes to output detection.
    
    - I'm aware that we still can't fully program modes.

:040000 040000 5341952a32fce789ef421eb08b8724d79dc84a4d 4596445de078ec2dec1fae1ca8fc1061d0442a69 M      src
mighmos% 
Comment 5 Maarten Maathuis 2007-10-27 05:11:58 UTC
Do you know enough C to check those values yourself, i will need them to do anything usefull?
Comment 6 Hervé Cauwelier 2007-10-29 04:03:19 UTC
I confirm this on G80 (GeForce 8400M GS).

I wondered why an updated checkout wouldn't start until this bug remembered me I activated RandR 1.2.
Comment 7 Maarten Maathuis 2007-10-29 05:04:35 UTC
G80 support is completely seperate and always has randr12 on, please file a different bug if you have problems (that are not known). Any chance for those values i asked for on your G70?
Comment 8 Adam Petaccia 2007-10-29 05:14:04 UTC
Sorry, I don't understand the code well enough for that, yet.  And I don't know how information about each head is stored.
Comment 9 Maarten Maathuis 2007-10-29 05:42:06 UTC
I've added the neccesary debug information to git, please checkout the latest version and provide X log.
Comment 10 Adam Petaccia 2007-10-29 07:18:38 UTC
Created attachment 12244 [details]
Xorg log with RandR 2007.10.29

Done.
Comment 11 Maarten Maathuis 2007-10-29 10:39:01 UTC
Please try again.
Comment 12 Adam Petaccia 2007-10-29 11:12:49 UTC
It starts again!  The log in screen is corrupt, but once I log in, Gnome sets it to something which works.  Also, my mouse keeps disappearing, but I guess that's something else.
Comment 13 Maarten Maathuis 2007-10-29 11:19:12 UTC
Could you provide another log, i'm curious what kind of corruption you get.
Comment 14 Adam Petaccia 2007-10-29 12:13:31 UTC
Created attachment 12247 [details]
Xorg log kind of working

Once I log in, its fine.  It looks like a bad modeline or something like that, where the entire image doesn't display, and one half is ghosted over the other.
Comment 15 Maarten Maathuis 2007-10-29 12:38:00 UTC
I believe this to be related to poor handling of modelines with negative hsync (or vsync). I will look into this.
Comment 16 Adam Petaccia 2007-10-29 13:02:57 UTC
Should I open a new bug with that issue, and have this one be marked as fixed?
Comment 17 Maarten Maathuis 2007-10-29 14:26:30 UTC
Leave it open, until the issue is completely fixed.
Comment 18 Maarten Maathuis 2007-10-30 05:45:52 UTC
Could you please try again.
Comment 19 Adam Petaccia 2007-10-30 09:58:12 UTC
Created attachment 12262 [details]
Xorg coming up.

GDM comes up with no distortions of any sort.  The only remaining issue is that its the wrong resolution (monitor sends out a bad EDID), and I can't change it.
Comment 20 Maarten Maathuis 2007-10-30 13:05:22 UTC
Could you retry again, i fixed scaling stuff and i'm curious if it works for you.

In default mode your login screen should show blank bands around the image (= keeping aspect ratio).
Comment 21 Adam Petaccia 2007-10-30 18:02:06 UTC
Created attachment 12269 [details]
Xorg log with tearing

Tried again -- unfortunatly, someone in the house tried to use my computer -- Ubuntu's display config popped up, and my Xorg.conf got nuked.  The image isn't quite right.  There's some vertical 'tearing' and doubling.
Comment 22 Maarten Maathuis 2007-10-31 00:25:47 UTC
Does this happen only in login?

What kind of monitor do you have?
Comment 23 Maarten Maathuis 2007-10-31 00:34:49 UTC
I suspect you have a slightly broken edid, but i need to know what it's supposed to do, for instance, what is the native resolution of your panel?
Comment 24 Adam Petaccia 2007-11-02 05:44:05 UTC
Its supposed to be 1440x900.  It shows up as 1400x1050.  And its git breaks my setup again.  "Display out of range".  I'll post a log when I get home.
Comment 25 Adam Petaccia 2007-11-02 10:02:52 UTC
Created attachment 12316 [details]
2007 11 02 Xorg log, failing to start
Comment 26 Maarten Maathuis 2007-11-02 10:50:18 UTC
Everything still works without Option "Randr12"?

The kind of failure you get is seems unrelated to randr stuff (the notifier timeout), regardless from some inconsistencies on the modesetting side.

Please confirm that non-randr12 works, before i focus on this issue.
Comment 27 Adam Petaccia 2007-11-02 13:25:57 UTC
Created attachment 12319 [details]
2007 11 02 Xorg, RandR12 chooses a bad mode

Sorry, I was wrong.  Xorg successfully starts (I can hear GDM's login sound), but my monitor displays a SIGNAL OUT OF RANGE message.  This is not with RandR12 disabled.
Comment 28 Adam Petaccia 2007-11-02 13:26:17 UTC
Created attachment 12320 [details]
Xorg starting without randr
Comment 29 Maarten Maathuis 2007-11-03 02:06:35 UTC
Please try again, i made some changes which hopefully help.
Comment 30 Adam Petaccia 2007-11-04 11:37:34 UTC
Created attachment 12347 [details]
2007 11 04 Trial run

Still doesn't work.  Monitor displays "Input not supported".
Comment 31 Maarten Maathuis 2007-11-05 01:14:34 UTC
The issue is that your clock is overriden, because you're not running at native panel size. For some reason your clock ended lower then it should. I've now added a mode based on panel size, which should have the correct clock.
Comment 32 Adam Petaccia 2007-11-05 07:05:06 UTC
Created attachment 12357 [details]
2007 11 05 Xorg log

Still doesn't work.
Comment 33 Maarten Maathuis 2007-11-05 07:33:20 UTC
Does it still give invalid mode?

I have no idea what causes the notifier timeout, but could you disable AIGLX?

Otherwise i'm at a dead end.

Btw, what hardware do you have (architecture for example)?
Comment 34 Adam Petaccia 2007-11-05 11:03:50 UTC
Created attachment 12361 [details] [review]
This patch fixes RandR for me

Using git bisect, I was able to figure out that commit d758e8f4c1a7d4effe1298a0a41d4e0b96496ab9 broke it for me. Commenting out the nvWRITERAMDAC0 that was added, allows my screen to come up perfectly, with no corruption at all.
Comment 35 Maarten Maathuis 2007-11-05 11:18:41 UTC
Are you in a position to make a mmio trace of the nvidia binary driver?

I'm curious how this should be fixed in general.

(http://nouveau.freedesktop.org/wiki/MmioTraceHowto)
Comment 36 Adam Petaccia 2007-11-05 11:51:47 UTC
I'll run one when I get home, though I've sent in MMIO traces before, if that's any help.
Comment 37 Maarten Maathuis 2007-11-05 12:14:23 UTC
I have your trace already, just didn't know it was yours. I'm definately doing something to that reg, that isn't done in your case. I hope to figure it out soon.
Comment 38 Maarten Maathuis 2007-11-05 12:20:01 UTC
I've pushed a fix, which hopefully fixes your issue.
Comment 39 Hervé Cauwelier 2007-11-05 14:02:14 UTC
Yay! Your fix also brought my G80 back. I'll comment further in my bug #12833.
Comment 40 Maarten Maathuis 2007-11-05 14:09:34 UTC
For the record, G80 is COMPLETELY seperate from G70 and lower, so i'm somewhat confused.
Comment 41 Maarten Maathuis 2007-11-07 00:48:49 UTC
Are you still with us?
Comment 42 Adam Petaccia 2007-11-07 07:08:54 UTC
Created attachment 12387 [details]
2007 11 07

Still no go.
Comment 43 Maarten Maathuis 2007-11-07 15:26:46 UTC
Will have another look at your mmio-trace tomorrow.
Comment 44 Maarten Maathuis 2007-11-08 09:53:39 UTC
I know it's getting repetetive, but can you try again?
Comment 45 Adam Petaccia 2007-11-09 06:59:00 UTC
Created attachment 12423 [details]
2007 11 09 Attempt

Still doesn't work.
Comment 46 Maarten Maathuis 2007-11-09 09:51:50 UTC
I've just disabled all the stuff related to register 580.

I'm curious if you can attach a second monitor, without having it connected at boot time?
Comment 47 Maarten Maathuis 2007-11-09 10:02:04 UTC
I just plug in both vga and dvi of my panel to test, in case you lack a second monitor.
Comment 48 Adam Petaccia 2007-11-09 10:43:27 UTC
Created attachment 12430 [details]
Xorg log

It works now (I even disabled AIGLX in case that makes the log easier to read, if you need something out of it).
Comment 49 Maarten Maathuis 2007-11-10 01:49:36 UTC
I've reenbled some stuff, does it still work for you?

If it does, then what about the second output?
Comment 50 Adam Petaccia 2007-11-10 07:22:16 UTC
Created attachment 12435 [details]
Input not supported

Its broken again.
Comment 51 Maarten Maathuis 2007-11-10 07:54:56 UTC
I will look at it again, do realize i'm not doing this to annoy you, just to get many of the G70 cards fully functional.
Comment 52 Maarten Maathuis 2007-11-10 10:17:54 UTC
I have a few ideas, but they will require some redesign, so this may take a day or two.
Comment 53 Maarten Maathuis 2007-11-11 10:42:14 UTC
Give it another go.
Comment 54 Adam Petaccia 2007-11-12 06:54:29 UTC
Created attachment 12480 [details]
Xorg log 2007 11 12 - Input is supported

Display comes up now, but suffers from a distortion that resembles a CRT near a running microwave.

I haven't tried hotplugging monitors, because I was afraid to leave my monitor in that state.
Comment 55 Maarten Maathuis 2007-11-12 07:22:21 UTC
That's actually good news, i've pushed a fix that should remedy your problem.
Comment 56 Adam Petaccia 2007-11-12 09:17:09 UTC
Created attachment 12481 [details]
2007 11 12 - working

Initial display is working, hot plugging monitors -- not so much.
Comment 57 Maarten Maathuis 2007-11-13 10:45:40 UTC
Give it another try.
Comment 58 Adam Petaccia 2007-11-13 17:24:18 UTC
Created attachment 12532 [details]
Broken again

Its broken again: Input not supported.
Comment 59 Maarten Maathuis 2007-11-13 23:36:38 UTC
Please let me know if this fixes it.
Comment 60 Adam Petaccia 2007-11-14 10:22:39 UTC
still no good
Comment 61 Maarten Maathuis 2007-11-14 10:50:57 UTC
I've taken the next likely cause. So try again.
Comment 62 Maarten Maathuis 2007-11-15 10:39:13 UTC
The nature of the (bigger) problem is outside the scope of this bug report, so i'm closing it. The regression is solved currently.

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.