James Ausmus <james.aus...@gmail.com> posted b79f23070906171116v24babcedh47c1c9b5fca39...@mail.gmail.com, excerpted below, on Wed, 17 Jun 2009 11:16:50 -0700:
> Just as a note - the Radeon KMS uses a different implementation path > than the Intel KMS - Intel, in the kernel, uses GEM for gfx memory > management, while Radeon (and Nouveau, and other upcoming) use the new > TTM (which is also new for .31) - I don't *think* this will affect how X > interfaces with the kernel driver, but, since TTM is newer than GEM > (GEM/Intel KMS happened in .29), it might still be a little bit before > the wrinkles are worked out. As Sebastian Redi indicated, TTM is actually older. FWIW, from my viewpoint at least, it looks a bit like "NIH syndrome" (not invented here syndrome) from the Intel guys. Whatever. They didn't like TTM as it was already being implemented for Radeon and some of the other drivers (Nouveau, etc) and came up with their own thing, GEM, which works particularly well with the Intel hardware implementation but not quite as well with other implementations. But for various reasons Intel's GEM hit the mainline kernel first. Meanwhile, the TTM folks continued what they were doing, and now it's hitting mainline, but using the GEM interface (as SR again mentioned). It's all a bit confusing, even for those such as myself who follow Linux developments reasonably closely and have been reading pretty much anything they see on it. > As far as the X server interfacing with the > new kernel driver, I *believe* that pretty much all the action behind > the scenes happens in the X driver itself, with the X server being > pretty much unaware of the change (please feel free to correct me if I'm > wrong), so, just because the Intel driver has already been utilizing the > KMS kernel interface for a little while, doesn't necessarily mean that > it will make the Radeon X driver transition any smoother/better/shorter. Well, it's some of both, actually. xorg-server has to support it, but so does the X driver, which with KMS ultimately becomes as I mentioned earlier, not a lot more than a wrapper around the kernel code, with xorg- server in turn interfacing with the wrapper. But since it'll be awhile before it can be assumed that the kernel has KMS drivers on its side, the driver will remain more than a wrapper for awhile, but disable most of itself and only act as a wrapper when KMS is turned on. In addition to that, the first one is /always/ the hardest, and now that it is done, the rest will come easier. So while you are indeed correct that there's some implementation details in the X driver that the Intel driver doesn't help with directly for others (particularly since it went its own way, implementing GEM directly, instead of the GEM interface to TTM that the others are using), that's only one piece of the puzzle. With many of the other pieces, having the first one, Intel, in place and working out the general issues and testing the general idea, means the others have it MUCH easier. >>> 4) Shows up in portage under ~amd64 (Is that the same as ~arch for >>> AMD64?) >>> >> ~arch means the same regardless of architecture ;) It's "~x86" for >> IBM/Intel 32-bit systems, ~amd64 for AMD64, ~ppc for PowerPCs, etc. Exactly. ~arch is simply the generic term, while ~amd64 would be the specific version the readers of this list will be concerned with. > Dunno - X server 1.6 has been out for quite a while (several months - X > server 1.7 is due out in just about 1.5 months at this point), and it > just very recently hit the portage ~ tree (not that I'm complaining Devs > - I understand that there were issues that would've bit lots of users), > so it might be a while before you see Radeon KMS support in the fully > stable portage tree - don't hold your breath quite yet. ;) Of course, if > your system isn't mission-critical, you could always install the -9999 > versions, or at least the ~ versions when they hit, and help move along > the debugging/stabilization process, so that they hit the stable tree > faster... ;) That's my take on it too. Hopefully it won't be 2 years before stable, but it could well be 18 months, and will almost certainly be at /least/ 9 months for Radeon, 6 months for Intel, and a year for others. It's a big change and for Intel users so far, has been /anything/ but smooth. > Having run the Intel KMS kernel/fbcon/X driver for a little while now, I > can say that 2 things *really* stand out to me (at least from my usage > model): > > 1. Native framebuffer console resolution on my 1680x1050 widescreen LCD > - no more 1280x1024 stretched! (Actually not sure if this is directly > due to the kernel updates for Intel/KMS, or just happened to happen at > the same time, but still - Yay!) Well, the radeonfb drivers have existed in the kernel for years, so for older radeon users at least, they've had the possibility of full/native resolution framebuffer for some time. And for those without a specific native hardware fb, there was always vesafb. But you are correct in how nice that extra resolution can be. Before I ran the framebuffer, I ran normal vgacon, but at the highest resolution I could figure out how to get, and with a small font (4x6 IIRC), so I did get a reasonable display (132x50 chars or some such). However, framebuffer was even better, 1600x1200 resolution on my old CRTs, 1920x1200 on the new LCDs, now 240x75 chars with the larger standard font (8x16). But regular framebuffer still isn't KMS, lacking the other features mentioned. > 2. Perfectly fast X/virtual console switching - I mean - Wow! I still, > from time to time, just sit there switching between the two a couple > times just to watch the speed and smoothness - it's amazing... Now /that's/ what I'm looking forward to! Well, that and the security of not having to run X as root. =:^) -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman