Summary: | GT200: nv50 chipset 0xa0 2D corruption | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Kyle K <kylek389> | ||||||||||||||||||
Component: | Driver/nouveau | Assignee: | Nouveau Project <nouveau> | ||||||||||||||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||||||||||||||
Severity: | normal | ||||||||||||||||||||
Priority: | medium | CC: | xake | ||||||||||||||||||
Version: | git | ||||||||||||||||||||
Hardware: | x86-64 (AMD64) | ||||||||||||||||||||
OS: | Linux (All) | ||||||||||||||||||||
Whiteboard: | |||||||||||||||||||||
i915 platform: | i915 features: | ||||||||||||||||||||
Attachments: |
|
Description
Kyle K
2009-02-15 19:50:09 UTC
dmesg: [drm] Initialized drm 1.1.0 20060810 pci 0000:01:00.0: BAR 3: can't reserve mem region [0xf8000000-0xf9ffffff] pci 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 pci 0000:01:00.0: setting latency timer to 64 [drm] Detected an NV50 generation card (0x0a0100a2) [drm] Initialized nouveau 0.0.12 libdrm-2.4.4-31-g084e143d0c82f5bf6 on minor 0 [drm] Used old pci detect: framebuffer loaded mtrr: base(0xc0000000) is not aligned on a size(0x38000000) boundary [drm] Allocating FIFO number 1 [drm] nouveau_fifo_alloc: initialised FIFO 1 [drm] Allocating FIFO number 2 [drm] nouveau_fifo_alloc: initialised FIFO 2 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x0184 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x0188 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x018c Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x0190 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x0194 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x0198 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x019c Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x01a0 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x01a4 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x01a8 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x01ac Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x01c0 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x01c4 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x01c8 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x01cc Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x01d0 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x01d4 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x01d8 Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x01dc Data 0x00000000:0x00000e00 [drm] PGRAPH_ERROR - nSource: DATA_ERROR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x1520 Data 0x00000000:0x00000000 [drm] PGRAPH_ERROR - nSource: PROTECTION_ERROR LIMIT_COLOR, nStatus: [drm] PGRAPH_ERROR - Ch 2/2 Class 0x8397 Mthd 0x1520 Data 0x00000000:0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* magic set 1: [drm:nv50_pgraph_irq_handler] *ERROR* 0x00408900: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00408904: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00408908: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x0040890c: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00408910: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00408e08: 0x3f00f4e1 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00408e0c: 0x40002177 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00408e10: 0xbe7d1cda [drm:nv50_pgraph_irq_handler] *ERROR* 0x00408e14: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00408e18: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00408e1c: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00408e20: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00408e24: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* magic set 2: [drm:nv50_pgraph_irq_handler] *ERROR* 0x00409900: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00409904: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00409908: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x0040990c: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00409910: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00409e08: 0xefebeffd [drm:nv50_pgraph_irq_handler] *ERROR* 0x00409e0c: 0x40004e50 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00409e10: 0xfb7f3adf [drm:nv50_pgraph_irq_handler] *ERROR* 0x00409e14: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00409e18: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00409e1c: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00409e20: 0x00000000 [drm:nv50_pgraph_irq_handler] *ERROR* 0x00409e24: 0x00000000 Created attachment 23038 [details]
dmesg drm debug=1
Created attachment 23039 [details]
dmesg with pramin_more_flush and drm debug=1
I was able to log in! But there's some form of 2D image corruption, I'm able to see my background - panels - open new windows - but I can't see any *text*. Created attachment 23049 [details] [review] Horrible hack, that may just help. Can you give the above patch a try. As a warning, your kernel will OOPS when you exit X with this patch. It's not a proper solution, but it'll tell us for sure if the issue is where I expect it is. A proper fix will require a little more work :) I didn't experience an OOPS since Xorg is frozen using 100% and it doesn't respond to Ctrl+Alt+Backspace or Ctrl+Alt+F1. All I could do is halt the machine through ssh. Thanks Ben. Created attachment 23051 [details]
dmesg after applying nasty hack :P
I cannot reproduce the 100% cpu Xorg, I guess something went wrong before when I tried it. I logged in +10 times and only get mild 2D corruption http://img15.imageshack.us/img15/8486/2dcorruption.jpg, so we're almost there. Created attachment 23247 [details]
Xorg.0.log-02.24.09
Created attachment 23248 [details]
dmesg-02.24.09-while X is running
Created attachment 23249 [details]
dmesg-02.24.09-after X lougout
Interesting that the card randomly decided to stop throwing errors, I don't think there's a good reason for that on the master branch really. It'd be interesting to know how the modesetting-gem branch fares, not with modesetting or anything turned on, just a plain "modprobe nouveau"! The mis-rendering looks like the 3D engine isn't working correctly though. With modesetting-gem I get 100% Xorg utilization since dmesg get overflowed with: [drm:nouveau_irq_handler] *ERROR* Unhandled PMC INTR status bits 0x00020000 [drm:nouveau_irq_handler] *ERROR* Unhandled PMC INTR status bits 0x00020000 [drm:nouveau_irq_handler] *ERROR* Unhandled PMC INTR status bits 0x00020000 [drm:nouveau_irq_handler] *ERROR* Unhandled PMC INTR status bits 0x00020000 ... How is this going? Looking at the last screenshot that is what I currently gets on my: 02:00.0 VGA compatible controller [0300]: nVidia Corporation GT200b [GeForce GTX 285] [10de:05e3] (rev a1) (i.e. nearly everything seems to draw nice exept my icons and my fonts) That is with latest x11-drm, libdrm and xf86-video-nouveau checked out from git fresh today. Is there anything I can provide to get this going? (I have Xorg and dmesg of drm debug=1 when it fails) Oh, nearly forgot to tell that everything looks perfect when using NoAccel True in xorg.conf. Not much has changed, DRM code still needs to be tweaked, once that's done DDX driver should work pretty nicely, I hope. Let's wait when fedora gets released, maybe then Ben will have more time to look at this. I'm marking this as fixed for now, with patches from newttm-devel branch everything seems to work fine, kms is flawless and I even managed to run gallium3d for few minutes before a lockup :). hax0r1337. |
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.