February 22, 2019

.comment: Visiting the Kernel - page 2


  • September 13, 2000
  • By Dennis E. Powell

I'm not sure of the philosophy involved, but Linux 2.4 extends into areas that weren't part of the kernel in earlier versions (as, indeed, 2.2 did). In the course of playing with various configurations, I wondered the extent to which this trend will continue--if, for instance, XFree86 will end up being obviated by kernel functions somewhere down the road. Probably not, but if there's a trend, it's in that direction.

If you've never explored the kernel or upgraded a major version without benefit of a whole distribution upgrade, you probably don't know that pcmcia support was until now an entirely different package, pcmcia-cs, acquired in source from a third party and compiled against the kernel source. No more. Pcmcia is now part of the kernel itself.

Likewise, part of what used to be (and still is) the duty of XFree86 has been moved to the kernel. If that sounds a little confusing, that's because it is. I haven't figured out what, exactly, must be compiled into the kernel or a module for my Matrox G400 AGP card to work properly and what I can leave up to XFree. The kernel offers agpgart support, which is, I believe, required. It also offers DRI, the direct rendering interface, support for the four AGP cards also supported by the DRI parts of XFree and by the DRI project itself. (The 3dfx card is inexplicably enabled by default in the current test kernel; if you have a Gamma, an I810, or a G400, you'll need to uncheck it.)

In communication with various kernel and XFree developers, my sense is that you can forego DRI support in the kernel and still get it from XFree86-4.0 or better. You can certainly choose to use the kernel modules created by XFree instead of those you create when you build the kernel modules if you want. I'm told, though, that at least for Matrox cards, you do not want to choose both DRI and framebuffer support--they conflict. Choosing simplicity, I decided to include agpgart and Matrox (mga) support not as modules but in the kernel itself and live without the framebuffer (which provides a nice picture of Tux during boot). It has worked very nicely so far, though if my vid card gave out I suppose I might be pierced by the dreaded threaded conical device unless I were to buy an exact replacement. Linux 2.4 is more complicated, but also more flexible.

This is exemplified by the far more sophisticated support for particular motherboard chipsets. AGP, PCI, and little niceties like Ultra DMA support can be tuned here, by choosing support for your motherboard's chipset. And it works! Right off the bat I nearly doubled my IDE drive throughput, and expect to do even better once I've really sorted out some of the tuning options. The new IDE driver is spectacular when combined with the chipset support. But again, frequent motherboard manual consultation is necessary. In that motherboard manuals are notoriously awful, anyone experimenting with the new kernel may need to visit the motherboard maker's website or even seek information via email. (Don't ask about making the new Linux kernel work; ask for the full specifications for the motherboard. Why it is that motherboard manuals are full of salestalk puzzles me--you've already bought the silly thing.)

Most Popular LinuxPlanet Stories