Known Problems


2003-08-20: It's been a while since I've updated. In the last week I updated the DRM in -current from DRI CVS. This has been greatly facilitated by perforce, which made the merge of new code extremely easy. My project these days is getting the SiS DRI working again in 4.3.0. It won't benefit FreeBSD, at least for a while, because of the requirement for the linux framebuffer memory manager. I think this can be replaced for FreeBSD, though. I also committed Rage 128 pageflipping support to DRI CVS recently, enabled using Option "EnablePageFlip" "YES"

2003-05-01: Committed the DRM linux compatibility patch for -stable. No more DRM_LINUX!

2003-04-29: For my birthday I got mail in my inbox saying that Leif Delgass had committed my patches to mach64-0-0-6-branch of DRI CVS. This means that Mach64s works without patches. However, texturing on PCI cards is still broken.

2003-04-26: After many months of threatening it, I MFCed the DRM. It's not hooked up by default, but now you can cd /usr/src/sys/modules/drm and make install or add the DRM to your kernel if you choose.

2003-04-25: Updated the stable diffs, this time in the format of a tarball and a diff.

2003-04-07: Ported the Mach64 DRM and committed most of it. I've put up a diff of the rest of it for review by the other DRI developers. To try it, get mach64-0-0-6-branch of DRI CVS and apply the patch in the files section to xc/programs/Xserver/hw/xfree86/os-support. It's still in testing, so be prepared for hangs or perhaps panics.

2003-03-11: Added a patch to MFC the DRM from -current to -stable to the files section. The 4.3.0 update is in the ports tree, hopefully nothing too cary will happen.

2003-03-09: Committed the DRM update for -current yesterday. Added a diff in the files section for linux_dri update to 4.3 (use it with the 4.3 diffs at the X site)

2003-03-05: Committed driglide.

2003-03-04: Oops, drm for 4.3.0 was broken on -stable. A fix is in DRI CVS. Been busy with XFree86 4.3.0 ports.

2003-02-24: Got bsd-4-0-0-branch (NetBSD support) merged to trunk of DRI CVS. Been working a lot on busdma, finding it limited in many ways for the DRM's needs on FreeBSD.

2003-02-08: Got my NetBSD system updated. Committed Erik Reid's last NetBSD patch, then with a couple of others I did, bsd-4-0-0-branch now has NetBSD DRI support for all the cards FreeBSD does. I've only tested with glxgears, and haven't tested 3dfx due to lack of glide, but I'm pretty excited.

XFree86 4.3 is shaping up, and it should have good FreeBSD support after the last merge dawes did. Now I just have to get bsd-4-0-0-branch merged to trunk and figure out that radeon+4.2.0 problem.

2003-02-01: Got a NetBSD system, fighting with building so I can test new NetBSD DRM changes. Also, I've been working on glide a bunch, and have created a fork called driglide which I hope to be bringing into ports soon. Notable features so far include 40% fewer lines of code, 15% smaller object files after stripping, enabling of the 3dnow optimizations (1 of them didn't work and has been disabled for now), and building both librarise (v3 and v5) at once. Still lots of spaghetti to remove, but it might work on alpha now because of some stuff I removed. A port of driglide can be found in the files section.

2003-01-15: Got the DRI nearly working on HEMI's alpha yesterday. I was pretty excited. It was using a voodoo3 and the server reported dri enabled, but glide had unresolved symbols. This got me interested in glide again, and I've borrowed phk's axe and started trimming down glide on my local machine. It's a mess, but I think I've got decent enough habits to handle the mess now. If others are interested in working on cleaning up a DRI-only glide, talk to me.

Been working on mach64 a bit, won't be much longer before it compiles and hopefully works. Sourceforge's pserver disappearance stopped me for a while. Patches to fix the DRM for FreeBSD went into XFree86 CVS today.

2003-01-09: It's been a while since I've posted here or sent patches in. Part of it is the replacement dead drives, which I just two days ago finally got configured in the system. However, soon I should be back to coding and working on mach64 and NetBSD. In the meantime, I got some work done on the 4.3 packages and I'm building a site about X in FreeBSD over here

2002-11-27: I think the bus_space on FreeBSD is a dead end for now. The basic problem is that the X Server is telling the kernel what areas to map, rather than the kernel offering mappings of the parts of the card that are important. FreeBSD's device infrastructure doesn't like that. NetBSD doesn't have this problem because they have bus_space_map. The pmap_mapdev currently used is similar, but not supported on all platforms being offered by 5.0. If we kill off the x86-specific asm in the dri, we may be able to get FreeBSD/alpha working for 3dfx at least.

2002-11-15: Been busy with school. Some more work has been committed to DRI CVS for NetBSD support. I'm working on bus_space and busdma conversions for the BSD DRM so we can support alpha, but it's slow going.

2002-10-29: They found the problem on -current. However, it has suggested that there are more serious issues, since it brought out reports of a hang that occurs periodically and lasts for a few minutes on -current and -stable.

XFree86 CVS has been merged into DRI CVS, bringing in bugfixes and many updates, but making updating dri-devel difficult because of module incompatibilities. I think if I exclude the XFree86 binary from the install it may do better, but I haven't had the time to try that yet.

2002-10-18: Things have gone horribly wrong with XFree86 on -current. Crashes left and right, of all sorts, and involving crashes happening while in crash-recovery in the X Server (crash-recovery means resetting things to the console so you still have a usable machine after an X crash). I'm going to need help debugging this, and general X Server debugging is always good, so I'm putting up some of my notes on getting info out of X when debugging it here.

dri-devel has been updated in ports, which includes the xv fixes for r200. drm-kmod has received a minor update, including a DRM_NOLINUX compile option for those who have wanted it for so long.

2002-09-29: Got the replacement drive, haven't set it up yet. Got some interesting stuff done in the mean time. Worked on the framerate throttling (sync-to-vblank). R200 is in the tree, and I've got an mga patch in the files section. Use LIBGL_THROTTLE_REFRESH=1 environment variable to enable it. A dri-devel patch is posted in files which updates to today, supporting R200/R100 framerate throttle.

2002-09-15: One of my drives is dying (hard read/write errors), so I probably won't be doing too much for a while as I try to get things fixed. In the good news, i830 and i845 AGP has been committed to -current and -stable and will be in 4.7-RELEASE.

2002-08-20: linux_dri should be working these days. graphics/dri-devel (a port to install r200-0-1-branch of DRI CVS without killing the rest of your X) has been committed. linux_dri-devel, which is DRI CVS binaries, is in the files section. The 8500 definitely works here (64MB version). drm-kmod is in need of updating, and drm-kmod-devel is in need of being created.

2002-07-31: I've taken over XFree86 maintainership in FreeBSD, which has seriously reduced my time to play with the DRI. The DRI trunk DRM merge to -current has stalled because it causes problems with 4.2.0 on Radeon at least. However, in the good news, a couple of users have reported success with r200-0-1-branch of DRI CVS with Radeon 8500s on FreeBSD. The initial port of the r200 DRM to FreeBSD took all of 10 minutes, thanks to it being based on the radeon 1 code.

2002-07-09: bsd-3-0-0-branch has been merged to trunk in DRI CVS. Things have settled down, and the code seems stable. I have posted a diff to -current of the current DRM in the files section. You can apply it from /usr/src, recompile, and use it just as the regular DRM from before, but it now supports the new features of DRI trunk (including TCL on Radeon with a new X Server, and PCI Rage 128s, along with the same X 4.2.0 support). I'm looking for testers of this code, so it can get committed to -current. I've also created a "linux_dri-devel" port, which includes hand-compiled linux DRI binaries from CVS that should work correctly for linux emulation both as root and as a regular user. They are from DRI CVS, so there's no guarantees on how well they will interact with old DRM and/or old X Servers. Available in the files section.

2002-07-04: I swear this is the last time the website moves. For a while. DRI CVS is going well, haven't paniced the machine with it for days. It should get merged into trunk today, at which point we can tag a new branch for new BSD work, and start the merge to -current.

2002-06-27: DRI CVS has now surpassed FreeBSD's drm-kmod and in-sys DRM. Radeon and r128 are now as fast as in linux, MGA is still about 20% slower. It includes Radeon 1 TCL and PCI Rage 128 support. The DRM OS-independence is getting some support from the Linux developers, so after bsd-3-0-0-branch gets merged to trunk I'll merge to -current. I plan on MFCing the DRM to -stable after that.

2002-05-29: Haven't updated for a bit, but things have been happening. DRM in -current is doing pretty well, and should be merged to -stable after 4.6 is released. I'm now a DRI committer, and I'm working on bringing the DRM in DRI CVS up to FreeBSD's level, and working with the other developers figuring out how the FreeBSD DRM will fit into current and future DRI development. The work is going on in bsd-3-0-0-branch, and isn't quite compiling all of X yet but should soon. I've removed the in-sys drm links because the "experimental" version was broken and will be recreated in bsd-3-0-0-branch eventually and the other version was equivalent to what is in drm-kmod and -current. Thanks for the testing, though.

2002-05-17: I'm now a FreeBSD committer and the DRM (drm-kmod based) is in -current. I hope to get it updated to work with XFree86 CVS soon. A new glide patch is up, which should work on -stable and -current for both v3 and v5.

Old news