Bug 28212

Summary: image corruption
Product: xorg Reporter: David Heidelberg (okias) <david>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: freedesktop, p.freedesktop, randrik
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
firefox_screenshot
none
dolphin_screenshot
none
dmesg
none
dmesg log
none
Xorg log
none
Messages output none

Description David Heidelberg (okias) 2010-05-22 05:53:13 UTC
Created attachment 35795 [details]
firefox_screenshot

nvidia N96. 512M VRAM

From first use dolphin previews are corrupted, only image in right side is fine. After while even tabs with images open in firefox gets corrupted.
Comment 1 David Heidelberg (okias) 2010-05-22 05:54:29 UTC
Created attachment 35796 [details]
dolphin_screenshot
Comment 2 David Heidelberg (okias) 2010-05-22 05:57:41 UTC
Created attachment 35797 [details]
dmesg
Comment 3 Xavier 2010-05-22 07:45:12 UTC
Using compiz ? If yes, does it affect the results ?
Comment 4 Martin Peres 2010-05-22 11:15:52 UTC
Xavier: This is the kind of corruption I also get. So there are at least three of us having this issue.

My exams are almost over, next week, I'll be free to dig into this problem once for all (hopefuly).
Comment 5 Maarten Maathuis 2010-05-22 13:47:20 UTC
This looks like a typical tiling corruption, the question is, where does it happen?
Comment 6 Martin Peres 2010-05-23 02:05:50 UTC
okias: Can you try to activate the image preview in dolphin ?

If all you get is scrambled thumbnails, then, you have found a good way to reproduce this issue.

Now, let's find what's happening.
Comment 7 David Heidelberg (okias) 2010-05-23 14:56:45 UTC
In short: I don't have composite enabled and dolphin have previews enabled:
1a) enabled: in icon area (corrupted image)
1b) disable: normal mime icons
2) on right side - image is correct

it's 100% repeatable.

After while some others image (icons in systray, plasma widgets icons) gets damaged.
Comment 8 Martin Peres 2010-05-24 03:40:13 UTC
Okias: OK, we have the exact same behaviour. That's great.

I'll try to work on it this week end, I'll keep you updated ;)

Xavier: To fix this issue, should I try to create a minimum test-case or should I just dig into the source code and see if somewhere a memcpy is happening where it should not (by adding some errorF everywhere near memcpy statements) ?
Comment 9 Xavier 2010-05-24 04:14:55 UTC
Heh don't ask me, ask any of the people that actually have a clue like Maarten or others on IRC :)

Did you link this corruption with nouveau_exa_download_from_screen or nouveau_exa_upload_to_screen that you mentioned several times ? The fallback to memcpy-based transfer there ?

You could enable NOUVEAU_FALLBACK in nouveau_local.h , and then add a few ErrorF or NOUVEAU_ERR in strategic places to see if you can link the corruptions with some code path.
But I don't know if that's a good idea and approach to the problem.
Comment 10 Martin Peres 2010-05-24 04:36:29 UTC
No, the fallback is not happening here, sadly. The GART-based transfer always succeed.

So, the problem is elsewhere. I'll drop a line on IRC to see if someone has a clue!

Thanks anyway :)
Comment 11 tearofadragon 2010-07-12 05:04:52 UTC
Created attachment 36964 [details]
dmesg log
Comment 12 tearofadragon 2010-07-12 05:08:00 UTC
Created attachment 36965 [details]
Xorg log
Comment 13 tearofadragon 2010-07-12 05:09:55 UTC
Created attachment 36966 [details]
Messages output
Comment 14 tearofadragon 2010-07-12 05:15:11 UTC
Hi! I'm having the same problem (while surfing the web / running KDE 4.4.5 or everything else) and I tried running with drm.debug=1 nouveau.reg_debug=0x200 in my kernel options.

I've attached the dmesg / Xorg.log and messages output.

[messages contains an old boot before debug was enabled!]

I needed to gzip the messages output due to being 23 MB big...

I hope this helps. If there is anything else needed, just tell me what I should do and I'll give my best.

lspci -v prints this:
01:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9600M GS] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: Wistron Corp. Device 208c
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at f2000000 (32-bit, non-prefetchable) [size=16M]
        Memory at d0000000 (64-bit, prefetchable) [size=256M]
        Memory at f0000000 (64-bit, non-prefetchable) [size=32M]
        I/O ports at 2000 [size=128]
        Expansion ROM at <unassigned> [disabled]
        Capabilities: [60] Power Management version 3
        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [78] Express Endpoint, MSI 00
        Capabilities: [b4] Vendor Specific Information: Len=14 <?>
        Capabilities: [100] Virtual Channel
        Capabilities: [128] Power Budgeting <?>
        Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
        Kernel driver in use: nouveau
        Kernel modules: nouveau, nvidiafb
Comment 15 zless 2010-08-22 02:46:36 UTC
With the latest xorg-edgers version (1.8.2 build 01.07) I have similar problems (icons in taskbar, skype icon in tray, opera menus, all get corrupted).

Would it help if I upload additional logs?

lspci: 01:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9600M GT] (rev a1)

uname: Linux lhart 2.6.35.3-hartlite01 #1 SMP Sat Aug 21 09:00:29 EEST 2010 i686 GNU/Linux
Comment 17 David Heidelberg (okias) 2010-12-29 04:13:35 UTC
I guess it was fixed long time ago. I can't reproduce it, because I do not have nvidia laptop.

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.