Your message dated Tue, 28 Aug 2007 13:32:10 +0000 with message-id <E1IQ1Aw-000859-5V@ries.debian.org> and subject line Bug#437333: fixed in mesa 7.0.1-2 has caused the attached Bug report to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database)
--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: libgl1-mesa-dri: support for Intel 945GME, G33, Q33 and Q35
- From: Stefan Lippers-Hollmann <s.L-H@gmx.de>
- Date: Sat, 11 Aug 2007 22:54:24 +0200
- Message-id: <[🔎] 200708112254.24624.s.L-H@gmx.de>
Package: libgl1-mesa-dri Version: 7.0.1-1 Severity: wishlist Tags: patch *** Please type your report below this line *** Using any gl command (like glxinfo, glxgears) on kernel 2.6.22.x and mesa 6.5.2-7/ 7.0.1-1 results in X.org crashing with an Intel G33 onboard graphics card (driver "i810" and "intel" produce the same issues). 00:02.0 VGA compatible controller [0300]: Intel Corporation Unknown device [8086:29c2] (rev 02) (prog-if 00 [VGA]) Subsystem: Giga-byte Technology Unknown device [1458:d000] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 Interrupt: pin A routed to IRQ 16 Region 0: Memory at f2200000 (32-bit, non-prefetchable) [size=512K] Region 1: I/O ports at e200 [size=8] The following backtrace appears in Xorg.log [1], on a kernel (2.6.22) whose drm already supports dri for Intel G33 PCI IDs [2]: [...] Backtrace: 0: /usr/bin/X(xf86SigHandler+0x6d) [0x48586d] 1: /lib/libc.so.6 [0x2ba18ccf0680] 2: /usr/lib/dri/i915_dri.so [0x2ba19f78ab8e] 3: /usr/lib/xorg/modules/extensions//libglx.so [0x2ba18dee6ff1] 4: /usr/lib/xorg/modules/extensions//libglx.so(DoMakeCurrent+0x369) [0x2ba18deb7259] 5: /usr/lib/xorg/modules/extensions//libglx.so [0x2ba18deb8f3d] 6: /usr/bin/X(Dispatch+0x1cb) [0x450dab] 7: /usr/bin/X(main+0x45d) [0x439e8d] 8: /lib/libc.so.6(__libc_start_main+0xf4) [0x2ba18ccdcb24] 9: /usr/bin/X(FontFileCompleteXLFD+0x229) [0x439189] Fatal server error: Caught signal 11. Server aborting [...] stracing glxinfo results in the following output [3]: [...] stat64("/dev/dri", {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0 stat64("/dev/dri/card0", {st_mode=S_IFCHR|0666, st_rdev=makedev(226, 0), ...}) = 0 open("/dev/dri/card0", O_RDWR|O_LARGEFILE) = 4 ioctl(4, DECODER_SET_PICTURE, 0xbfd0eba0) = -1 EACCES (Permission denied) ioctl(4, DECODER_GET_CAPABILITIES, 0xbfd0eba4) = 0 ioctl(4, DECODER_GET_CAPABILITIES, 0xbfd0eba4) = 0 ioctl(4, DECODER_GET_STATUS or DEVFSDIOC_SET_EVENT_MASK, 0xbfd0eeec) = 0 ioctl(4, DEVFSDIOC_GET_PROTO_REV, 0x8056a40) = 0 ioctl(4, DEVFSDIOC_GET_PROTO_REV, 0x8056a40) = 0 write(3, "\200\v\3\0\0\0\0\0\35\0\0\0", 12) = 12 read(3, "\1$\21\0\0\0\0\0\1\0\0\0000$\322\277\0\20\0\0\0\0\0\0\0"..., 32) = 32 write(3, "\200\4\2\0\0\0\0\0", 8) = 8 read(3, "\1$\22\0\1\0\0\0\1\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\0\0\0"..., 32) = 32 readv(3, [{"i915", 4}, {"", 0}], 2) = 4 write(3, "\200\n\2\0\0\0\0\0", 8) = 8 read(3, "\1$\23\0\36\0\0\0\0\0\4\340\0\0\0\0\0\0\0\0\0\0\0\1\0 "..., 32) = 32 read(3, "\0\0 \362\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 120) = 120 mmap2(NULL, 16777216, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0xe0040) = 0xb696a000 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0xf8d92) = 0xb7eec000 mmap2(NULL, 16777216, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0x2c008) = 0xb596a000 mmap2(NULL, 16777216, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0xe5000) = 0xb496a000 mmap2(NULL, 16777216, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0xe6000) = 0xb396a000 mmap2(NULL, 33554432, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0xe9000) = 0xb196a000 ioctl(4, 0xc0086446, 0xbfd0ee64) = 0 ioctl(4, 0xc0086446, 0xbfd0ee64) = 0 futex(0xb7ee3a44, FUTEX_WAKE, 2147483647) = 0 mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb192a000 write(3, "\220\24\f\3\1\0\0\0\4\0\0\0\36\f\0\0GL_ARB_depth_tex"..., 3200) = 3200 read(3, 0xbfd0f16c, 32) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, -1) = 1 read(3, "\1$\27\0\0\0\0\0\2\0\0\0000$\322\277\30\0\0\0000\262I\10"..., 32) = 32 write(2, "Unrecognized deviceID 29c2\n", 27) = 27 write(3, "\200\6\3\0\0\0\0\0\3\0`\2\220\3\6\0\4\0`\2$\0\0\0\0\0\0"..., 52) = 52 read(3, 0xbfd0f1dc, 32) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN, revents=POLLIN|POLLHUP}], 1, -1) = 1 read(3, "", 32) = 0 write(2, "X connection to :0.0 broken (exp"..., 65) = 65 exit_group(1) The required support for Intel 945GME, G33, Q33 and Q35 chipset has been added to upstream mesa after 7.0.1 was released, a git diff which applies to mesa 7.0.1-1 can be found in the mesa upstream git at freedesktop.org. The 945GME [4] support is a precondition for applying the G33, Q33, and Q35 [5] patch, as it affects the same lines and because of slight reformatting of the affected hunks. commit ad6351a994fd14af9d07da4f06837a7f9b9d0de4 Author: Wang Zhenyu <zhenyu.z.wang@intel.com> Date: Wed May 30 16:18:26 2007 +0800 i915tex: Add support for 945GME and commit 8331d9d7aa7cde7126d38d4e1eb5fe8a168077f3 Author: Wang Zhenyu <zhenyu.z.wang@intel.com> Date: Tue Jun 5 11:42:43 2007 -0700 Add PCI IDs for the G33, Q33, and Q35 chipsets. As it just adds the PCI ID definitions to mesa and doesn't actually change the code, the impact on general mesa stability seems to be minimal, closer inspections between mesa 7.0.1 and the affected commits don't suggest further problems. Most of the debugging has been conducted on mesa 6.5.2-7, but was confirmed to be still present in mesa 7.0.1~rc2-1 and the final 7.0.1-1 from unstable, further raw logs can be found here [6]. Adding the mentioned patches and rebuilding mesa 7.0.1-1 fixes the mentioned issues and using OpenGL becomes stable on i386 and x86_64. Thanks a lot for your efforts Stefan Lippers-Hollmann [1] http://sidux.com/slh/mesa/Xorg.0.log [2] http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc7a93190c21edbf3ed23e678ad04f852b9cff28 [3] http://sidux.com/slh/mesa/strace_glxinfo.log [4] http://gitweb.freedesktop.org/?p=mesa/mesa.git;a=commit;h=a74eec5af5397b612d60dd4b0d81666027f19bb0 (i915tex: Add support for 945GME) [5] http://gitweb.freedesktop.org/?p=mesa/mesa.git;a=commit;h=8331d9d7aa7cde7126d38d4e1eb5fe8a168077f3 (Add PCI IDs for the G33, Q33, and Q35 chipsets) [6] http://sidux.com/slh/mesa/ -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.22.2-slh64-smp-1 (SMP w/2 CPU cores; PREEMPT) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages libgl1-mesa-dri depends on: ii libc6 2.6.1-1 GNU C Library: Shared libraries ii libdrm2 2.3.0-4 Userspace interface to kernel DRM ii libexpat1 1.95.8-4 XML parsing C library - runtime li ii libgl1-mesa-glx 7.0.1-1 A free implementation of the OpenG libgl1-mesa-dri recommends no packages. -- no debconf informationdiff --git a/src/mesa/drivers/dri/i915/i915_texstate.c b/src/mesa/drivers/dri/i915/i915_texstate.c index 9f0c949..a19d4b6 100644 --- a/src/mesa/drivers/dri/i915/i915_texstate.c +++ b/src/mesa/drivers/dri/i915/i915_texstate.c @@ -491,12 +491,19 @@ static void i915SetTexImages( i915ContextPtr i915, abort(); } - - if (i915->intel.intelScreen->deviceID == PCI_CHIP_I945_G || - i915->intel.intelScreen->deviceID == PCI_CHIP_I945_GM) - i945LayoutTextureImages( i915, tObj ); - else - i915LayoutTextureImages( i915, tObj ); + switch (i915->intel.intelScreen->deviceID) { + case PCI_CHIP_I945_G: + case PCI_CHIP_I945_GM: + case PCI_CHIP_I945_GME: + case PCI_CHIP_G33_G: + case PCI_CHIP_Q33_G: + case PCI_CHIP_Q35_G: + i945LayoutTextureImages( i915, tObj ); + break; + default: + i915LayoutTextureImages( i915, tObj ); + break; + } t->Setup[I915_TEXREG_MS3] = (((tObj->Image[0][t->intel.base.firstLevel]->Height - 1) << MS3_HEIGHT_SHIFT) | diff --git a/src/mesa/drivers/dri/i915/intel_context.c b/src/mesa/drivers/dri/i915/intel_context.c index e747fc6..11c23f2 100644 --- a/src/mesa/drivers/dri/i915/intel_context.c +++ b/src/mesa/drivers/dri/i915/intel_context.c @@ -123,6 +123,14 @@ const GLubyte *intelGetString( GLcontext *ctx, GLenum name ) chipset = "Intel(R) 945G"; break; case PCI_CHIP_I945_GM: chipset = "Intel(R) 945GM"; break; + case PCI_CHIP_I945_GME: + chipset = "Intel(R) 945GME"; break; + case PCI_CHIP_G33_G: + chipset = "Intel(R) G33"; break; + case PCI_CHIP_Q35_G: + chipset = "Intel(R) Q35"; break; + case PCI_CHIP_Q33_G: + chipset = "Intel(R) Q33"; break; default: chipset = "Unknown Intel Chipset"; break; } diff --git a/src/mesa/drivers/dri/i915/intel_context.h b/src/mesa/drivers/dri/i915/intel_context.h index c48b074..3b50107 100644 --- a/src/mesa/drivers/dri/i915/intel_context.h +++ b/src/mesa/drivers/dri/i915/intel_context.h @@ -454,6 +454,10 @@ extern int INTEL_DEBUG; #define PCI_CHIP_I915_GM 0x2592 #define PCI_CHIP_I945_G 0x2772 #define PCI_CHIP_I945_GM 0x27A2 +#define PCI_CHIP_I945_GME 0x27AE +#define PCI_CHIP_G33_G 0x29C2 +#define PCI_CHIP_Q35_G 0x29B2 +#define PCI_CHIP_Q33_G 0x29D2 /* ================================================================ diff --git a/src/mesa/drivers/dri/i915/intel_screen.c b/src/mesa/drivers/dri/i915/intel_screen.c index 67e176a..ca8610b 100644 --- a/src/mesa/drivers/dri/i915/intel_screen.c +++ b/src/mesa/drivers/dri/i915/intel_screen.c @@ -514,6 +514,10 @@ static GLboolean intelCreateContext( const __GLcontextModes *mesaVis, case PCI_CHIP_I915_GM: case PCI_CHIP_I945_G: case PCI_CHIP_I945_GM: + case PCI_CHIP_I945_GME: + case PCI_CHIP_G33_G: + case PCI_CHIP_Q35_G: + case PCI_CHIP_Q33_G: return i915CreateContext( mesaVis, driContextPriv, sharedContextPrivate ); diff --git a/src/mesa/drivers/dri/i915/intel_tex.c b/src/mesa/drivers/dri/i915/intel_tex.c index 98ddc79..5bd2806 100644 --- a/src/mesa/drivers/dri/i915/intel_tex.c +++ b/src/mesa/drivers/dri/i915/intel_tex.c @@ -677,7 +677,11 @@ static void intelUploadTexImage( intelContextPtr intel, /* Time for another vtbl entry: */ else if (intel->intelScreen->deviceID == PCI_CHIP_I945_G || - intel->intelScreen->deviceID == PCI_CHIP_I945_GM) { + intel->intelScreen->deviceID == PCI_CHIP_I945_GM || + intel->intelScreen->deviceID == PCI_CHIP_I945_GME || + intel->intelScreen->deviceID == PCI_CHIP_G33_G || + intel->intelScreen->deviceID == PCI_CHIP_Q33_G || + intel->intelScreen->deviceID == PCI_CHIP_Q35_G) { GLuint row_len = image->Width * image->TexFormat->TexelBytes; GLubyte *dst = (GLubyte *)(t->BufAddr + offset); GLubyte *src = (GLubyte *)image->Data;Attachment: signature.asc
Description: This is a digitally signed message part.
--- End Message ---
--- Begin Message ---
- To: 437333-close@bugs.debian.org
- Subject: Bug#437333: fixed in mesa 7.0.1-2
- From: Julien Cristau <jcristau@debian.org>
- Date: Tue, 28 Aug 2007 13:32:10 +0000
- Message-id: <E1IQ1Aw-000859-5V@ries.debian.org>
Source: mesa Source-Version: 7.0.1-2 We believe that the bug you reported is fixed in the latest version of mesa, which is due to be installed in the Debian FTP archive: libgl1-mesa-dev_7.0.1-2_all.deb to pool/main/m/mesa/libgl1-mesa-dev_7.0.1-2_all.deb libgl1-mesa-dri-dbg_7.0.1-2_i386.deb to pool/main/m/mesa/libgl1-mesa-dri-dbg_7.0.1-2_i386.deb libgl1-mesa-dri_7.0.1-2_i386.deb to pool/main/m/mesa/libgl1-mesa-dri_7.0.1-2_i386.deb libgl1-mesa-glx-dbg_7.0.1-2_i386.deb to pool/main/m/mesa/libgl1-mesa-glx-dbg_7.0.1-2_i386.deb libgl1-mesa-glx_7.0.1-2_i386.deb to pool/main/m/mesa/libgl1-mesa-glx_7.0.1-2_i386.deb libgl1-mesa-swx11-dbg_7.0.1-2_i386.deb to pool/main/m/mesa/libgl1-mesa-swx11-dbg_7.0.1-2_i386.deb libgl1-mesa-swx11-dev_7.0.1-2_i386.deb to pool/main/m/mesa/libgl1-mesa-swx11-dev_7.0.1-2_i386.deb libgl1-mesa-swx11-i686_7.0.1-2_i386.deb to pool/main/m/mesa/libgl1-mesa-swx11-i686_7.0.1-2_i386.deb libgl1-mesa-swx11_7.0.1-2_i386.deb to pool/main/m/mesa/libgl1-mesa-swx11_7.0.1-2_i386.deb libglu1-mesa-dev_7.0.1-2_i386.deb to pool/main/m/mesa/libglu1-mesa-dev_7.0.1-2_i386.deb libglu1-mesa_7.0.1-2_i386.deb to pool/main/m/mesa/libglu1-mesa_7.0.1-2_i386.deb libglw1-mesa-dev_7.0.1-2_i386.deb to pool/main/m/mesa/libglw1-mesa-dev_7.0.1-2_i386.deb libglw1-mesa_7.0.1-2_i386.deb to pool/main/m/mesa/libglw1-mesa_7.0.1-2_i386.deb libosmesa6-dev_7.0.1-2_i386.deb to pool/main/m/mesa/libosmesa6-dev_7.0.1-2_i386.deb libosmesa6_7.0.1-2_i386.deb to pool/main/m/mesa/libosmesa6_7.0.1-2_i386.deb mesa-common-dev_7.0.1-2_all.deb to pool/main/m/mesa/mesa-common-dev_7.0.1-2_all.deb mesa-swx11-source_7.0.1-2_all.deb to pool/main/m/mesa/mesa-swx11-source_7.0.1-2_all.deb mesa-utils_7.0.1-2_i386.deb to pool/main/m/mesa/mesa-utils_7.0.1-2_i386.deb mesa_7.0.1-2.diff.gz to pool/main/m/mesa/mesa_7.0.1-2.diff.gz mesa_7.0.1-2.dsc to pool/main/m/mesa/mesa_7.0.1-2.dsc A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 437333@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Julien Cristau <jcristau@debian.org> (supplier of updated mesa package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.7 Date: Tue, 28 Aug 2007 12:11:30 +0200 Source: mesa Binary: libglw1-mesa libgl1-mesa-glx libosmesa6-dev libgl1-mesa-dev libosmesa6 mesa-utils libgl1-mesa-glx-dbg libglu1-mesa-dev libgl1-mesa-dri libgl1-mesa-swx11-dbg libgl1-mesa-dri-dbg libgl1-mesa-swx11 libglw1-mesa-dev libgl1-mesa-swx11-i686 libgl1-mesa-swx11-dev mesa-common-dev mesa-swx11-source libglu1-mesa Architecture: source i386 all Version: 7.0.1-2 Distribution: unstable Urgency: low Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Changed-By: Julien Cristau <jcristau@debian.org> Description: libgl1-mesa-dev - A free implementation of the OpenGL API -- GLX development files libgl1-mesa-dri - A free implementation of the OpenGL API -- DRI modules libgl1-mesa-dri-dbg - Debugging symbols for the Mesa DRI modules libgl1-mesa-glx - A free implementation of the OpenGL API -- GLX runtime libgl1-mesa-glx-dbg - Debugging symbols for the Mesa GLX runtime libgl1-mesa-swx11 - A free implementation of the OpenGL API -- runtime libgl1-mesa-swx11-dbg - A free implementation of the OpenGL API -- debugging symbols libgl1-mesa-swx11-dev - A free implementation of the OpenGL API -- development files libgl1-mesa-swx11-i686 - Mesa OpenGL runtime [i686 optimized] libglu1-mesa - The OpenGL utility library (GLU) libglu1-mesa-dev - The OpenGL utility library -- development files libglw1-mesa - A free implementation of the OpenGL API -- runtime libglw1-mesa-dev - A free implementation of the OpenGL API -- development files libosmesa6 - Mesa Off-screen rendering extension libosmesa6-dev - Mesa Off-screen rendering extension -- development files mesa-common-dev - Developer documentation for Mesa mesa-swx11-source - Mesa software rasteriser source -- development files mesa-utils - Miscellaneous Mesa GL utilities Closes: 423739 437333 Changes: mesa (7.0.1-2) unstable; urgency=low . * Update to latest git (from mesa_7_0_branch) + adds support for some new intel chipsets (i915 and i915_tex dri drivers) (closes: #437333) + broken inline asm in dri drivers fixed (closes: #423739) Files: a078a060ea27b1debb61213289703583 1216 graphics optional mesa_7.0.1-2.dsc 506e9a2e19eae084a919165fc0ae1fdc 261248 graphics optional mesa_7.0.1-2.diff.gz 6ff97f1800d5b7adf70b6770a6db5ba0 24652 libdevel optional libgl1-mesa-dev_7.0.1-2_all.deb 38e592f730821f4b63b89f6b0ab139b9 181034 devel optional mesa-common-dev_7.0.1-2_all.deb 5e5074215527bc09ff47621e89b71de5 1542600 libdevel optional mesa-swx11-source_7.0.1-2_all.deb 12b1aed17907dfe38a10e0fca4445324 905328 libs optional libgl1-mesa-swx11_7.0.1-2_i386.deb 4b6695b17d4e91dedc8df0985ba04043 5145934 libs extra libgl1-mesa-swx11-dbg_7.0.1-2_i386.deb 8372c684fd4a0e0316a07c8901179e82 901828 libs extra libgl1-mesa-swx11-i686_7.0.1-2_i386.deb 2b7aa4e773f95f70d85d125330f6a6b9 1022886 libdevel optional libgl1-mesa-swx11-dev_7.0.1-2_i386.deb 4d31803d2bbf3c4e0ff9f0845d97309a 143134 libs optional libgl1-mesa-glx_7.0.1-2_i386.deb db07203e5718b9bd1523684fb3e44d43 482646 libdevel extra libgl1-mesa-glx-dbg_7.0.1-2_i386.deb f08ce4ed12af23177ade5778f575fccf 12931258 libs optional libgl1-mesa-dri_7.0.1-2_i386.deb cd7bbb6b1a1f7de50bba166a46aff4bf 84512784 libdevel extra libgl1-mesa-dri-dbg_7.0.1-2_i386.deb 23fb2a9af808f8ec42364d3f29a7f99a 2377730 libs optional libosmesa6_7.0.1-2_i386.deb 7f3e4d3f12a610d55b71d17bf65d4836 2721654 devel optional libosmesa6-dev_7.0.1-2_i386.deb e6456954dc23b49d823b6504a0938ecb 239060 libs optional libglu1-mesa_7.0.1-2_i386.deb 64a5656c759d69c9884c6afaeafdf0d2 256504 libdevel optional libglu1-mesa-dev_7.0.1-2_i386.deb 7f268d1c045f52b15a1f4d741c651d1b 31766 libs optional libglw1-mesa_7.0.1-2_i386.deb 10f90293dd40f17bece37c860823f373 32800 libdevel optional libglw1-mesa-dev_7.0.1-2_i386.deb 96012c9cb366f5cd15a249a2f583b837 44590 x11 optional mesa-utils_7.0.1-2_i386.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFG1BPKmEvTgKxfcAwRAiGDAJ9sNKq1ge720rnR4uCCpglPySvRdgCgskLd BI3u4BK10Z7XhnBPJ8c050w= =QI27 -----END PGP SIGNATURE-----
--- End Message ---