Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 44791 - SiS 741GX + Radeon 9200SE + DRI = crash upon startx
Summary: SiS 741GX + Radeon 9200SE + DRI = crash upon startx
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High critical (vote)
Assignee: x86-kernel@gentoo.org (DEPRECATED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-15 17:42 UTC by Chris Cieslak
Modified: 2004-11-29 15:31 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch for SiS 741GX AGP bridge (SiS741.patch.txt,7.60 KB, patch)
2004-03-24 09:44 UTC, Chris Cieslak
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Cieslak 2004-03-15 17:42:50 UTC
System will not allow direct rendering under XFree86 4.3.0.1.  When sis-agp and agpgart are in memory (either compiled into kernel or loaded as modules) and either the xfree-drm (radeon, from the 2.6 kernel) or ati-driver (fglrx) modules are loaded, the system will lock up when starting X.  Here is /var/log/messages right before the lockup:

Mar 13 17:56:17 linuxbox Debug: sleeping function called from invalid context at
 mm/slab.c:1856
Mar 13 17:56:17 linuxbox in_atomic():1, irqs_disabled():0
Mar 13 17:56:17 linuxbox Call Trace:
Mar 13 17:56:17 linuxbox [<c0119e9b>] __might_sleep+0xab/0xd0
Mar 13 17:56:17 linuxbox [<c013d92c>] kmem_cache_alloc+0x6c/0x70
Mar 13 17:56:17 linuxbox [<e0a40c88>] __ke_alloc_wait_queue_head_struct+0x18/0x3
0 [fglrx]
Mar 13 17:56:17 linuxbox [<e0a52f9f>] firegl_open_helper+0x15f/0x190 [fglrx]
Mar 13 17:56:17 linuxbox [<e0a444c6>] firegl_setup_dev+0x126/0x1d0 [fglrx]
Mar 13 17:56:17 linuxbox [<e0a43ad4>] firegl_open+0x194/0x260 [fglrx]
Mar 13 17:56:17 linuxbox [<c015b2ef>] exact_lock+0xf/0x20
Mar 13 17:56:17 linuxbox [<e0a40a02>] firegl_stub_open+0x102/0x1b0 [fglrx]
Mar 13 17:56:17 linuxbox [<e0a40900>] firegl_stub_open+0x0/0x1b0 [fglrx]
Mar 13 17:56:17 linuxbox [<c015b0d6>] chrdev_open+0xe6/0x210
Mar 13 17:56:17 linuxbox [<c01d69bf>] devfs_open+0xef/0x100
Mar 13 17:56:17 linuxbox [<c01510d2>] dentry_open+0x142/0x210
Mar 13 17:56:17 linuxbox [<c0150f82>] filp_open+0x62/0x70
Mar 13 17:56:17 linuxbox [<c015141b>] sys_open+0x5b/0x90
Mar 13 17:56:17 linuxbox [<c010ab1b>] syscall_call+0x7/0xb
Mar 13 17:56:17 linuxbox
Mar 13 17:56:17 linuxbox [fglrx] AGP detected, AgpState   = 0x1f004e1b (hardware
 caps of chipset)
Mar 13 17:56:17 linuxbox agpgart: Found an AGP 3.5 compliant device at 0000:00:0
0.0.
Mar 13 17:56:17 linuxbox agpgart: Putting AGP V3 device at 0000:00:00.0 into 8x
mode
Mar 13 17:56:17 linuxbox agpgart: Putting AGP V3 device at 0000:01:00.0 into 8x
mode
Mar 13 17:56:17 linuxbox [fglrx] AGP enabled,  AgpCommand = 0x1f004312 (selected
 caps)
Mar 13 17:56:17 linuxbox [fglrx] free  AGP = 54800384
Mar 13 17:56:17 linuxbox [fglrx] max   AGP = 54800384
Mar 13 17:56:17 linuxbox [fglrx] free  LFB = 116391936
Mar 13 17:56:17 linuxbox [fglrx] max   LFB = 116391936
Mar 13 17:56:17 linuxbox [fglrx] free  Inv = 0
Mar 13 17:56:17 linuxbox [fglrx] max   Inv = 0
Mar 13 17:56:17 linuxbox [fglrx] total Inv = 0
Mar 13 17:56:17 linuxbox [fglrx] total TIM = 0
Mar 13 17:56:17 linuxbox [fglrx] total FB  = 0
Mar 13 17:56:17 linuxbox [fglrx] total AGP = 16384
Mar 13 17:56:17 linuxbox CPU 0: Machine Check Exception: 0000000000000007
Mar 13 17:56:17 linuxbox Bank 3: b400000000000833 at 00000000d000103c

I have tried the SiS648 patch found here: http://lwn.net/Articles/67888/ changing the if(pdev->device==PCI_DEVICE_ID_SI_648) line to  if(pdev->device==PCI_DEVICE_ID_SI_741).  In this case, X will start and glxinfo will report direct rendering is enabled, but the system will crash shortly after running glxgears for a minute or two.

I have also tried the gentoo 2.2.24 sources with emerge xfree-drm, and the same lockup occurs (X will not even start.)

Reproducible: Always
Steps to Reproduce:
1. have either "radeon" or "fglrx" modules loaded with "agpgart" and "sis-agp"
2. startx

Actual Results:  
"radeon" (xfree-drm driver) causes monitor to go into power saving mode. 
"fglrx" (ati-drivers) causes monitor to stay on, but screen is black. 
Complete lockup, machine cannot be remotely logged into, Ctrl-Alt key commands 
at local console do nothing.  Machine must be reset with reset button. 

Expected Results:  
Started X with direct rendering. 

SiS 741GX Chipset 
Radeon 9200SE w/128MB, generic brand 
Athlon XP 2000+ 
 
2.6.3-gentoo-r1 kernel source 
XFree86 4.3.0.1 
ati-drivers 3.2.8r1 and 3.7.6 
 
Portage 2.0.50-r1 (default-x86-2004.0, gcc-3.3.2, glibc-2.3.2-r9, 
2.6.3-gentoo-r1) 
================================================================= 
System uname: 2.6.3-gentoo-r1 i686 AMD Athlon(tm) XP 2000+ 
Gentoo Base System version 1.4.3.13 
Autoconf: sys-devel/autoconf-2.58-r1 
Automake: sys-devel/automake-1.7.7 
ACCEPT_KEYWORDS="x86" 
AUTOCLEAN="yes" 
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" 
CHOST="i686-pc-linux-gnu" 
COMPILER="gcc3" 
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" 
CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" 
DISTDIR="/usr/portage/distfiles" 
FEATURES="autoaddcvs ccache sandbox" 
GENTOO_MIRRORS="ftp://ftp.ussg.iu.edu/pub/linux/gentoo 
http://mirrors.tds.net/gentoo http://open-systems.ufl.edu/mirrors/gentoo 
http://gentoo.mirrors.pair.com/" 
MAKEOPTS="-j2" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR="/usr/portage" 
PORTDIR_OVERLAY="" 
SYNC="rsync://rsync.gentoo.org/gentoo-portage" 
USE="3dnow X alsa apm arts avi berkdb crypt cups dvd encode foomaticdb gdbm gif 
gpm gtk2 imlib jpeg kde libg++ libwww mad mikmod mmx motif mpeg ncurses nls 
oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang 
spell ssl svga tcltk tcpd truetype x86 xml2 xmms xv zlib"
Comment 1 Chris Cieslak 2004-03-24 09:44:54 UTC
Created attachment 27934 [details, diff]
Patch for SiS 741GX AGP bridge

This is Oliver Heilmann's SiS 648 patch.  All I changed were the IF statements
to look for a 741, not a 648.
Comment 2 Chris Cieslak 2004-03-24 09:48:36 UTC
Looks like it's working?

I reinstalled from a stage 3 this time (earlier was stage 2) and emerged vanilla 2.6.3 sources.  Applied the attached patch (a slightly modified version of Oliver Heilmann's 648 patch from the kernel mailing list) and compiled the kernel.  testgart now passes all tests and XFree reports direct rendering enabled using radeon_drv.  

This bug probably has NOTHING to do with XFree, it seems like a kernel issue.
Comment 3 Andrew Bevitt 2004-11-29 14:40:32 UTC
Dont know if this still is an issue, but its not an X11 bug.

Kernel team see comment #3
Comment 4 Daniel Drake (RETIRED) gentoo-dev 2004-11-29 15:31:56 UTC
Kernel's agp stuff has changed loads since 2.6.3, please reopen if this still needs fixing on 2.6.9