Hey, I got it working with
diff --git a/bsd-core/drm_dma.c b/bsd-core/drm_dma.c index 71ef845..cdfe124 100644 --- a/bsd-core/drm_dma.c +++ b/bsd-core/drm_dma.c @@ -80,9 +80,10 @@ void drm_dma_takedown(drm_device_t *dev) free(dma->bufs[i].buflist, M_DRM); } } - +#if 0 free(dma->buflist, M_DRM); free(dma->pagelist, M_DRM); +#endif free(dev->dma, M_DRM); dev->dma = NULL; DRM_SPINUNINIT(&dev->dma_lock); glxinfo reports: [EMAIL PROTECTED]:~ >glxinfo name of display: :0.0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: SGI server glx version string: 1.2 and [EMAIL PROTECTED]:~ >glxgears 8102 frames in 5.0 seconds = 1620.076 FPS 8171 frames in 5.0 seconds = 1633.914 FPS This is great! Thanks a lot Simon! Johannes Johannes Hofmann <[EMAIL PROTECTED]> wrote: > Steve O'Hara-Smith <[EMAIL PROTECTED]> wrote: >> On Mon, 07 Jan 2008 02:53:44 +0100 >> "Simon 'corecode' Schubert" <[EMAIL PROTECTED]> wrote: >> >>> You'll need to install a MesaLib that supports dri. I don't know how >>> you could do this with the MesaLib from pkgsrc. I installed MesaLib-dri >>> from pkgsrc-wip. Be sure to read the README. >> >> It was going great right up to this point where I get this trying >> to compile MesaLib-dri ... >> >> mklib: ERROR: Don't know how to make a static/shared library >> for DragonFly mklib: Please add necessary commands to mklib >> script. >> >> ... I hacked the mklib script in place and changed 'FreeBSD' to >> 'FreeBSD' | 'DragonFly' in the obvious place. > > Same here on a T42p thinkpad. > >> >> Unfortunately once all was done starting the X server with dri >> enabled simply crashes the system (stop dead and reboot with no messages). >> The last thing in the Xorg.0.log is: >> >> drmOpenDevice: node name is /dev/dri/card0 >> drmOpenDevice: open result is 8, (OK) > > here it's > > (II) RADEON(0): initializing int10 > (==) RADEON(0): Write-combining range (0xa0000,0x20000) was already clear > (==) RADEON(0): Write-combining range (0xc0000,0x40000) was already clear > (II) RADEON(0): Primary V_BIOS segment is: 0xc000 > (==) RADEON(0): Write-combining range (0x0,0x1000) was already clear > (--) RADEON(0): Chipset: "ATI FireGL Mobility T2 (M10) NT (AGP)" (ChipID = > 0x4e54) > (--) RADEON(0): Linear framebuffer at 0xe0000000 > (II) RADEON(0): AGP card detected > drmOpenDevice: node name is /dev/dri/card0 > drmOpenDevice: open result is 7, (OK) > >> >> The only good news in all this is that I half expected this to >> happen. This combination of a Radeon 9200SE and an ASUS A8V has always >> crashed under dri in much this way, although I had been hoping that an up >> to date drm and agp set might fix it :) >> >> Any suggestions as to how I might go about tracking this little gem >> down ? > > > It then panics with > > #0 dumpsys () at thread.h:83 > #1 0xc02a2815 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:375 > #2 0xc02a2f9e in panic (fmt=0xc051d67a "trying to free NULL pointer") > at /usr/src/sys/kern/kern_shutdown.c:800 > #3 0xc02a0bbf in kfree (ptr=0x0, type=0xda8a1d40) > at /usr/src/sys/kern/kern_slaballoc.c:813 > #4 0xda89b42a in drm_dma_takedown () > #5 0xda89bf00 in drm_lastclose () > #6 0xda89ca5d in drm_close () > #7 0xc028b976 in dev_dclose (dev=0x0, fflag=0, devtype=0) > at /usr/src/sys/kern/kern_device.c:124 > #8 0xc030140a in spec_close (ap=0xdbcabba8) at > /usr/src/sys/vfs/specfs/spec_vnops.c:740 > #9 0xc0413291 in ufsspec_close (ap=0xdbcabba8) at > /usr/src/sys/vfs/ufs/ufs_vnops.c:1947 > #10 0xc04139b7 in ufs_vnoperatespec (ap=0x0) at > /usr/src/sys/vfs/ufs/ufs_vnops.c:2462 > #11 0xc02fbaa2 in vop_close (ops=0x0, vp=0x0, fflag=0) > at /usr/src/sys/kern/vfs_vopops.c:257 > #12 0xc02faafb in vn_close (vp=0xdb13e728, flags=0) at > /usr/src/sys/kern/vfs_vnops.c:417 > #13 0xc02fb94f in vn_closefile (fp=0x0) at /usr/src/sys/kern/vfs_vnops.c:1103 > #14 0xc028f5da in fdrop (fp=0xda8fa8e0) at file2.h:120 > #15 0xc028f4e0 in closef (fp=0xda8fa8e0, td=0x0) at > /usr/src/sys/kern/kern_descrip.c:2079 > #16 0xc028d8b5 in kern_close (fd=7) at /usr/src/sys/kern/kern_descrip.c:833 > #17 0xc028d7f5 in sys_close (uap=0x0) at /usr/src/sys/kern/kern_descrip.c:788 > #18 0xc04ce8c7 in syscall2 (frame=0xdbcabd40) > at /usr/src/sys/platform/pc32/i386/trap.c:1339 > #19 0xc04bc735 in Xint0x80_syscall () at > /usr/src/sys/platform/pc32/i386/exception.s:872 > #20 0x28330c48 in ?? () > #21 0xbfbff57c in ?? () > #22 0x0000002f in ?? () > #23 0x00000000 in ?? () > #24 0x00000000 in ?? () > #25 0x00000000 in ?? () > #26 0x00000000 in ?? () > #27 0x44929000 in ?? () > #28 0xdaa1ba00 in ?? () > #29 0xc06048d4 in softclock_pcpu_ary () > #30 0xdbcab980 in ?? () > > Johannes