Summary: | [nv30 gallium] wine 1.5.2 and 3Dmark2001se displays only black screen with FPS, on nv43/AGP | ||
---|---|---|---|
Product: | Mesa | Reporter: | Andrew Randrianasulu <randrik> |
Component: | Drivers/DRI/nouveau | Assignee: | Nouveau Project <nouveau> |
Status: | RESOLVED MOVED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | masao-takahashi |
Version: | git | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
screenshot
dmesg glxinfo X log disable ARB_framebuffer_object, print when trying to do both swizzle and linear |
Description
Andrew Randrianasulu
2012-05-10 05:06:54 UTC
Created attachment 61353 [details]
screenshot
800x600x32 windowed, screen was at 1024x768x32
Created attachment 61354 [details]
dmesg
Created attachment 61355 [details]
glxinfo
Created attachment 61356 [details]
X log
Is this still an issue with mesa 9.1 or later? (In reply to comment #5) > Is this still an issue with mesa 9.1 or later? Yes, using those versions of software: bash-4.2# glxinfo | grep git OpenGL version string: 1.4 (2.1 Mesa 9.3.0-devel (git-6b5c802)) bash-4.2# wine --version wine-1.5.25-1-gc2505fd bash-4.2# uname -a Linux slax6 3.6.11-small #3 Wed Dec 19 03:52:52 GMT 2012 i686 Intel(R) Celeron(TM) CPU 1000MHz GenuineIntel GNU/Linux bug still here. I can't test newer kernels due to bug 58615 I tested 3dmark WITHOUT LIBGL_ALWAYS_INDIRECT variable set, but right now it was set for X session. (so, OpenGL 1.4 vs 2.1) Created attachment 85162 [details] [review] disable ARB_framebuffer_object, print when trying to do both swizzle and linear Does this patch help? If not, do you see "rt_format is both swizzled and linear" getting printed a bunch (in a debug build... change it to a _debug_printf(...) if you're doing a non-debug build) Hm, I'm getting a crash with current mesa, due to memory corruption (nv30->screen starts pointing to an illegal pointer, is_nv4x == 0x656369, use_nv4x == 0x29). The char values turn out to look more like '.pcm.device', so probably some use-after-free in the alsa module or just some plain corruption in wine-1.7.0. Ugh. Below is the full list of strings I saw inside of the objected pointed at by nv30... although even more interestingly, the stack frame goes like #0 0x7d550017 in nouveau_fence_next (screen=0x7daaf45c) at nouveau_fence.c:227 #1 0x7d46538e in nv30_context_kick_notify (push=0x7da660c0) at nv30_context.c:47 #2 0x7db28aef in ?? () from /usr/lib32/libdrm_nouveau.so.2 #3 0x7db28e0c in ?? () from /usr/lib32/libdrm_nouveau.so.2 #4 0x7db29bcb in nouveau_pushbuf_kick () from /usr/lib32/libdrm_nouveau.so.2 #5 0x7d46525f in PUSH_KICK (push=0x7da660c0) at ../../../../src/gallium/drivers/nouveau/nouveau_winsys.h:56 #6 0x7d4654d1 in nv30_context_flush (pipe=0x7da5c520, fence=0x0, flags=0) at nv30_context.c:81 And the nv30 in frame #1 is different than the nv30 in frame #6. The one in #6 is fine. In frame #1: $3 = (struct nv30_context *) 0x7daaf2f8 In frame #6: $6 = (struct nv30_context *) 0x7da5c520 Which is *way* off. The nv30 in frame #6 seems completely fine. I wonder if user_priv isn't being set correctly, or passed around correctly, or something. (Obviously worth nothing that this is a 32-bit userspace on 64-bit kernel situation as well.) ---- 0x7df49088: "X\263?|\003" 0x7df49090: "h\263?|" 0x7df4909c: "\350\262?|D\263?|\340\262?|" 0x7df490ac: "\021" 0x7df490b0: "modem" 0x7df490b6: "ts" 0x7df490bc: ")" 0x7df490c0: "\260\220\364}" 0x7df490c5: "\004" 0x7df490c8: "\f\221\364}\\\221\364}\001" 0x7df490d4: "\244\221\364}\364\262?|\020\306?|" 0x7df490e4: "\021" 0x7df490e8: "card" 0x7df490ed: "\024Z\367" 0x7df490f4: ")" 0x7df490f8: "\350\220\364}\003" 0x7df49100: "\200\263?|" 0x7df4910c: "\\\221\364}\310\220\364}\300\220\364}" 0x7df4911c: "\021" 0x7df49120: "device" 0x7df49127: "s" 0x7df4912c: "\031" 0x7df49130: "defaults.pcm.device" 0x7df49144: ")" 0x7df49148: " \221\364}\003" 0x7df49150: "0\221\364}" 0x7df4915c: "\310\220\364}\f\221\364}\300\220\364}" 0x7df4916c: "\021" 0x7df49170: "file_format" 0x7df4917c: "\021" 0x7df49180: "raw" 0x7df49184: "P\024Z\367" 0x7df4918c: ")" 0x7df49190: "p\221\364}\003" 0x7df49198: "\200\221\364}" 0x7df491a4: "\364\221\364}\324\220\364}\020\306?|" 0x7df491b4: "\021" 0x7df491b8: "true" 0x7df491bd: "lts" 0x7df491c4: "\031" 0x7df491c8: "file_truncate" 0x7df491dc: ")" 0x7df491e0: "\310\221\364}\003" 0x7df491e8: "\270\221\364}" 0x7df491f4: "\030\306?|\244\221\364}\020\306?|" 0x7df49204: "\021" 0x7df49208: "rawmidi" 0x7df49214: ")" 0x7df49218: "\b\222\364}" 0x7df4921d: "\004" 0x7df49220: "t\222\364}\344\222\364}\001" 0x7df4922c: "\f\223\364}$\306?|\300\234-|" 0x7df4923c: "\021" 0x7df49240: "card" 0x7df49245: "\024Z\367" 0x7df4924c: "\021" 0x7df49250: "device" 0x7df4925c: ")" 0x7df49260: "@\222\364}" 0x7df49274: "\254\222\364} \222\364}\030\222\364}" 0x7df49284: "\021" 0x7df49288: "subdevice" 0x7df49294: ")" 0x7df49298: "P\222\364}" 0x7df492ac: "\344\222\364}t\222\364}\030\222\364}" 0x7df492bc: "\021" 0x7df492c0: "hwdep" 0x7df492c6: "ts" 0x7df492cc: ")" 0x7df492d0: "\210\222\364}" 0x7df492d8: "\377\377\377\377" 0x7df492e4: " \222\364}\254\222\364}\030\222\364}" 0x7df492f4: ")" 0x7df492f8: "\300\222\364}" 0x7df492fd: "\004" 0x7df49300: "T\223\364}\214\223\364}\001" 0x7df4930c: "\264\223\364},\222\364}\300\234-|" 0x7df4931c: "\021" 0x7df49320: "card" 0x7df49325: "\024Z\367" 0x7df4932c: "\021" 0x7df49330: "device" 0x7df49337: "s" 0x7df4933c: ")" 0x7df49340: " \223\364}" 0x7df49354: "\214\223\364}" 0x7df49359: "\223\364}\370\222\364}" 0x7df49364: "\021" 0x7df49368: "timer" 0x7df4936e: "ts" 0x7df49374: ")" 0x7df49378: "0\223\364}" 0x7df4938d: "\223\364}T\223\364}\370\222\364}" 0x7df4939c: ")" 0x7df493a0: "h\223\364}" 0x7df493a5: "\004" 0x7df493a8: "\374\223\364}\334\224\364}\001" 0x7df493b4: "\310\234-|\f\223\364}\300\234-|" 0x7df493c4: "\021" 0x7df493c8: "class" 0x7df493ce: "Z\367" 0x7df493d4: "\021" 0x7df493d8: "sclass" 0x7df493df: "s" 0x7df493e4: ")" 0x7df493e8: "\310\223\364}" 0x7df493f0: "\002" 0x7df493fc: "4\224\364}\250\223\364}\240\223\364}" 0x7df4940c: "\021" 0x7df49410: "card" 0x7df49416: "ts" 0x7df4941c: ")" 0x7df49420: "\330\223\364}" 0x7df49434: "l\224\364}\374\223\364}\240\223\364}" 0x7df49444: "\021" 0x7df49448: "device" 0x7df4944f: "s" 0x7df49454: ")" 0x7df49458: "\020\224\364}" 0x7df4946c: "\244\224\364}4\224\364}\240\223\364}" 0x7df4947c: "\021" 0x7df49480: "subdevice" 0x7df4948c: ")" 0x7df49490: "H\224\364}" 0x7df494a4: "\334\224\364}l\224\364}\240\223\364}" 0x7df494b4: "\021" 0x7df494b8: "pcm" 0x7df494bc: "P\024Z\367" 0x7df494c4: ")" 0x7df494c8: "\200\224\364}" 0x7df494dc: "\250\223\364}\244\224\364}\240\223\364}" 0x7df494ec: ")" 0x7df494f0: "\270\224\364}" 0x7df494f5: "\004" 0x7df494f8: "L\225\364}\234\361?|\001" 0x7df49504: "T\363?|\324\234-| \356\366}" 0x7df49514: "\021" 0x7df49518: "cards" 0x7df4951e: "Z\367" 0x7df49524: "\021" 0x7df49528: "cards.pcm" 0x7df49534: ")" 0x7df49538: "\030\225\364}\003" 0x7df49540: "(\225\364}" 0x7df4954c: "\234\225\364}\370\224\364}\360\224\364}" 0x7df4955c: "\021" 0x7df49560: "default" 0x7df4956c: "\031" 0x7df49570: "cards.pcm.default" 0x7df49584: ")" 0x7df49588: "`\225\364}\003" 0x7df49590: "p\225\364}" 0x7df4959c: "\354\225\364}L\225\364}\360\224\364}" 0x7df495ac: "\021" 0x7df495b0: "sysdefault" 0x7df495bc: "\031" 0x7df495c0: "cards.pcm.default" 0x7df495d4: ")" 0x7df495d8: "\260\225\364}\003" 0x7df495e0: "\300\225\364}" 0x7df495ec: "<\226\364}\234\225\364}\360\224\364}" 0x7df495fc: "\021" 0x7df49600: "front" 0x7df49606: "Z\367" 0x7df4960c: "\031" 0x7df49610: "cards.pcm.front" 0x7df49624: ")" 0x7df49629: "\226\364}\003" 0x7df49630: "\020\226\364}" 0x7df4963c: "\214\226\364}\354\225\364}\360\224\364}" 0x7df4964c: "\021" 0x7df49650: "rear" 0x7df49655: "\024Z\367" 0x7df4965c: "\031" 0x7df49660: "cards.pcm.rear" 0x7df49674: ")" 0x7df49678: "P\226\364}\003" 0x7df49680: "`\226\364}" 0x7df4968c: "\344\226\364}<\226\364}\360\224\364}" 0x7df4969c: "\021" 0x7df496a0: "center_lfe" 0x7df496ac: "!" 0x7df496b0: "cards.pcm.center_lfe" 0x7df496cc: ")" 0x7df496d0: "\240\226\364}\003" 0x7df496d8: "\260\226\364}" 0x7df496e4: "4\227\364}\214\226\364}\360\224\364}" 0x7df496f4: "\021" 0x7df496f8: "side" 0x7df496fd: "\024Z\367" 0x7df49704: "\031" 0x7df49708: "cards.pcm.side" 0x7df4971c: ")" 0x7df49720: "\370\226\364}\003" 0x7df49728: "\b\227\364}" 0x7df49734: "\214\227\364}\344\226\364}\360\224\364}" 0x7df49744: "\021" 0x7df49748: "surround40" 0x7df49754: "!" 0x7df49758: "cards.pcm.surround40" 0x7df49774: ")" 0x7df49778: "H\227\364}\003" 0x7df49780: "X\227\364}" 0x7df4978c: "\344\227\364}4\227\364}\360\224\364}" 0x7df4979c: "\021" 0x7df497a0: "surround41" 0x7df497ac: "!" 0x7df497b0: "cards.pcm.surround41" 0x7df497cc: ")" 0x7df497d0: "\240\227\364}\003" 0x7df497d8: "\260\227\364}" 0x7df497e4: "l50|\214\227\364}\360\224\364}" 0x7df497f4: "\021" 0x7df497f8: "surround50" 0x7df49804: "!" 0x7df49808: "cards.pcm.surround50" 0x7df49820: "\230\034=|\021" 0x7df49828: "surround51" 0x7df49834: "9" 0x7df49838: "\006\021Z" 0x7df4983c: "\310\235\365}" 0x7df49844: "p\230\364}\200=0|" 0x7df49850: "\006\024" 0x7df49854: "\a" 0x7df4985c: "\210\230\364}\001" 0x7df49864: "LA\203}" 0x7df4986c: "1" 0x7df49870: "\006\021Z" 0x7df49874: "\310\235\365}" 0x7df4987c: "\340\374\366}8\230\364}" 0x7df49888: "float[1]" 0x7df4989c: "1&" 0x7df498a0: "\276V7}" 0x7df498a8: "\267W7}\355W7}\250A\367}" I did send a patch to fix the crash (the ->user_priv wasn't being set correctly on init for some reason), but that just caused it to hang the gpu... (In reply to comment #9) > I did send a patch to fix the crash (the ->user_priv wasn't being set > correctly on init for some reason), but that just caused it to hang the > gpu... You mean GPU hang like this? [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040243 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040243 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040243 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040243 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040243 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040243 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040243 nouveau_ratelimit: 4 callbacks suppressed [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040243 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x0208 data 0x04040242 [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: LIMIT_COLOR nstatus: BAD_ARGUMENT PROTECTION_FAULT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x1d6c data 0x00000000 [drm] nouveau 0000:01:00.0: GPU lockup - switching to software fbcon [drm] nouveau 0000:01:00.0: Failed to idle channel 1. [drm] nouveau 0000:01:00.0: Failed to idle channel 2. [drm] nouveau 0000:01:00.0: Failed to idle channel 3. [drm] nouveau 0000:01:00.0: PFIFO_DMA_PUSHER - Ch 1 Get 0x00024528 Put 0x00024a18 State 0xc0000054 (err: MEM_FAULT) Push 0x00000000 [drm] nouveau 0000:01:00.0: PFIFO_INTR 0x00010000 - Ch 1 ---------- It happened just after applying your debug patch on top of mesa-git Mesa 9.3.0-devel (git-18805b1) Yep, just like that. The thing I don't understand is [drm] nouveau 0000:01:00.0: PGRAPH - ERROR nsource: LIMIT_COLOR nstatus: BAD_ARGUMENT PROTECTION_FAULT [drm] nouveau 0000:01:00.0: PGRAPH - ch 3 (0x0007b000) subc 7 class 0x4097 mthd 0x1d6c data 0x00000000 method 0x1d6c is used for fencing within the nv30 gallium driver. It always writes a 0 to that method, so... I don't know what's going on. I'm not really familiar with the hardware, I was just following code paths around and noticed the user_priv thing causing the crash. The other patch (to disable ARB_framebuffer_object) is also required since the hardware can't handle it in all cases. The driver could work around it, but that extension isn't required until opengl 3.0 which can't be supported anyways (I'm told). -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1050. |
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.