Linux 2.6.28 Promises Year-End Presents
darthcamaro writes "Little penguins all around the world are waiting for Penguin-Master Linus Torvalds to deliver some Glogg inspired Xmas cheer in the form of the new 2.6.28 kernel. Among the innovations in 2.6.28 are ext4 as stable, wireless USB drivers, better KVM support and the GEM graphic memory management technology. 'We now have a proper memory manager for video memory, the GEM [Graphics Execution Manager] memory manager,' Greg Kroah-Hartman said. 'This gives Linux much better graphics performance than it previously had.'"
...welcome our old Unicode-challenged Slashdot. BÃrk bÃrk bÃrk!
Escher was the first MC and Giger invented the HR department.
Hm, sry to reply to myself but according to Wikipedia it seems that the drivers have to be rewritten to support GEM. Still not sure about user-land software tho...
Do away with our corrupt tax code. Support the Fair Tax
""We now have a proper memory manager for video memory, the GEM [Graphics Execution Manager] memory manager," Kroah-Hartman said. "This gives Linux much better graphics performance than it previously had."
The video improvements in Linux also extend to power utilization for graphics. Red Hat Fedora Project Leader Paul Frields told InternetNews.com that the 2.6.28 kernel enables reduced power consumption across the video driver subsystem in the vertical blanking routines, which will be helpful to mobile users."
That is all that is mentioned (above quote) about the state of 'the new graphics' in the new kernel.
Down With Slashdot BETA!!! I've been around the corner and seen the oliphant; you can only abuse me from your perspecti
Not quite Vista's WDDM abilities in dealing with GPU RAM, but a nice start that people other than MS are actually taking GPU RAM allocation seriously beyond simple context swtiching.
GEM is short for Graphics Execution Manager, it is a graphics memory manager for the kernel written by Intel.
If graphics device drivers want take advantage of GEM, then they need to add some code for GEM in the device driver.
A memory manager for the graphics memory is very useful because it allows direct rendering and direct redirected rendering and such.
This means you can now do things "the real way" which have previously either not been possible, or been done using some dirty hack such as indirect rendering.
It's Christmas! Be sure to go to bed, get up, and spend the day with friends, family and food. Do you really need to update your kernel today? Why not let other people find out if there are some terrible early bugs in it?
Combination - fun iPhone puzzling
If you haven't been following every commit's short log, you may find http://kernelnewbies.org/Linux_2_6_28 useful. I for one, would like 2.6.28 for Christmas.
I yhink that you are trying to say that "GEM" is a registered trademark. One cannot "copyright" a three-letter string.
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
I recommend reading this link to get an idea of what's going on in the Linux graphics stack:
"So currently there is not one field where construction done but several. These are 2D Acceleration, Memory Management, 3D Acceleration and 2D Modesetting. And they are all being worked on at the same time to speed things up.
But the problem is that more or less all of these depend on proper Memory Management, which is also the hardest thing to get right.
Now lets look at how Xorg works today; every Xorg driver implements its own way of memory management and provides the DRI1 functionality when it comes to 3D. Furthermore it is responsible for modesetting, which is quite suboptimal, since some perliminary modesetting is already done in kernel, so it can output messages during bootup. The Xorg driver resets the hardware again when it is loaded.
Kernel Based Modesetting
In order to solve this duplication the modesetting code is about to be moved into the kernel, so the hardware can be setup once and for all. But since modesetting involves memory management which is not done properly yet too."
The moderators are drunk on Christmas spirits.
Intel staff were the ones mainly responsible for implementing GEM, so their driver supports it. The open-source ATI drivers recently got a layer of glue to use GEM on the outside without changing much of the TTM-based code that was on the inside. I don't know what nouveau is up to, but the nvidia blob has had a lot of memory management stuff implemented independently for a while now in their X driver.
Phoronix follows a lot of this stuff well.
http://lkml.org/lkml/2008/12/24/105
It doesn't really matter what day it is, or what holiday (if any) you're
celebrating, because even if you sit at home, alone in your dank basement,
without any holidays or friends, I bring you a tiding of great cheer: you
can now download Linux-2.6.28, and compile it to your hearts content!
Listen to the cheerful grinding of your harddisk as you reboot into an
all-new kernel - and I'm sure that if your computer could smile, it would
have a big silly grin on its non-existent face. So as you sit there in
your basement, give your computer the holiday cheer too.
In fact, even _if_ you have friends or family, leave them to their endless
toil over that christmas ham or turkey, and during the night, when they're
asleep, you can give them that magical present of a newly updated
computer. When they wake up tomorrow morning, tell them how you saw Santa
crawl down the chimney with his USB stick in hand, updating the OS of all
good boys and girls.
Ho, ho, ho,
Linus "almost Santa" Torvalds
A new and single sound stack (valid for the next 10 years); with the added promise of discontinuing (deleting from the main tree) all the others by 2010.
It's because every year is the year of Linux. Its just funny that some people haven't realized it yet.
The moderators are drunk on Christmas spirits.
Which is only proven by the fact that they modded you insightful for that very comment.
What should be important is that maybe next gen games should be released on Linux as a platform equal to Windows.
I was a long term Linux user, who went to XP just for the games. My gaming rig is waiting an RMA on a PSU, so rebuilt an old system and installed Slackware.
On an older machine with slower drives and a quarter the Ram, the responsiveness of the OS is amazing. If mainstream games were released for Linux I'd have no choice.
Sadly, I mainly use computers these days for relaxation, shopping and play, and if I'd continued as I set out, would no doubt be a full time Linux user... However, as a gamer, I put up with XP64 as a day to day OS.
You're correct that the vast majority of improvements in the Linux kernel - when taken by themselves - are unlikely to change anything for any specific end user. These become significant when you add them all together. Odds are slim that any one person will ever use some new hardware support being added in a given kernel update, or some notice some change that ups battery life by couple a percent. However, when you compare the hardware support or battery life of a modern Linux distro to one even a few years old the change is drastic.
There is a huge number of examples I could give, but a recent event really stands out for me. Just a couple days ago a friend was having computer problems (couldn't read a DVD) and wasn't sure if it was a hardware or software issue. A simple check was to boot off Linux off of a USB flash drive and see if it worked (it didn't - ends up the DVD was funky). What's amazing here is that on a completely random system - built as a Windows gaming machine without Linux in mind - a Linux install which has never seen this hardware before performed flawlessly. It booted off of the USB drive faster than the (clean, relatively minimal bloat) XP did from the hard drive, detected and automatically connected to wifi, et al. Everything just worked.
Adding support for a few new webcams or wifi adapters or some new memory management or power stuff isn't going to make a difference. Doing that repeatedly for years, however, and all of a sudden you've got the best hardware support (out of the box anyways) and best performing OS around.
"A witty saying proves nothing." - Voltaire
The NVidia blobs remain a big problem. It's not the kernel blob: it's their replacement by setting aside of the OpenGL libraries, used to access the NVidia features. This part of the NVidia process destabilizes every OS that it touches because any updates to those libraries overwrite the NVidia libraries and seriously break your graphical setup.
It's theoretically possible to rewrite the Xorg and Mesa packages to cooperate with this by bundling the Nvidia package and its libraries to a package matching the Mesa components and install one or the other, but no one has yet done so. So NVidia remains a dangerously unstable set of tools to install in any sytem that gets any updates otherwise.
With Linux, you first have to look for those Microsoft web fonts before you call a potential convert to have a look!
That's never been my experiance (I stopped installing MS TrueType fonts when I realized they didn't do anything for me), but there is <whisper>Red Hat's Liberation fonts</whisper>
I hope this fixes the two annoyances I have with Linux:
Deleting a multi-gig file such as a TV recording locks up the OS so badly that other apps freeze. If mencoder is recording TV it will fail to keep up with the stream. AV sync is lost, ruining the rest of the recording.
DRI1 is a big lump of ring-3 code and a small chunk of ring-0 code. The ring-3 code issues commands, the ring-0 code validates these commands (to make sure that DMA is being safely used and so on) and passes them off to the device. With DRI1, you have some things, like setting the graphics mode, which are implemented in the kernel's (X-independent) driver and then implemented again in X.org. This leads to copy-and-paste errors and all sorts of other problems (like power saving, since the kernel driver now knows less than it needs to about the state of the GPU).
The ring-3 blob is also responsible for setting up memory mappings for DMA, which is bad for three reasons. Firstly, it means that every driver is implementing almost identical code. Secondly, it means each driver is implementing code that depends a lot on kernel interfaces, making porting harder than it should be. Finally, it is bad for security.
With DRI2, the kernel controls the IOMMU (if there is one) and sets up memory mappings so that the driver just mmap()s regions of device memory or physical memory. There are quite a lot of related improvements, although I'm not sure exactly which ones are part of the DRI2 'brand.'
The non-GL acceleration interface is cleaned up a lot, to make supporting compositing and spline rendering easier and the GL state tracker is moved out of the driver and into a separate bit of (ring-3) code. This simplifies the drivers even more, since their interfaces to the system is now stateless (DRI2 drivers are a fraction of the size of DRI1 drivers). This means that they all share a lot more code, which is good for stability (since it's now code that's tested by a lot more people) and good for cost (it's now cheaper to support X.org). The nice side effect of removing the state tracker is that it's possible to plug in new ones, for example OpenGL ES or DirectX. the WINE guys have been talking about porting their DirectX back end to issue DRI2 calls directly, rather than OpenGL, so that there is no overhead - DirectX and OpenGL are both first-class user APIs on top of the low-level API.
The DRI2 stuff is a good example of open source done right. The result will be that each of the concerned parties (kernels, driver writers, X server, GL state tracker) all have a simpler codebase to maintain as a result of using standardised interfaces to other code. This leaves nVidia out in the cold - they are stuck maintaining their own memory manager, mode setting code, GL state tracker, and so on, while their competitors aren't. Developing a Free Software GPU driver costs a small fraction of the cost of maintaining the nVidia driver, which to my mind is a far better way of advocating Free Software than bludgeoning people with reciprocal licenses (the DRI stuff in X.org is MIT licensed, only the Linux kernel part is GPL'd).
I am TheRaven on Soylent News
Ditto on Ubuntu. The package management scripts are very intelligent in regards to Xorg and Mesa updates when the NVidia drivers are installed. Kernel updates, Xorg updates, and Mesa updates will all trigger init scripts that re-install the NVidia restricted drivers.
My blog
Basically the next generation games consoles will be based on Linux + some API.
Graphics stuff must be in the kernel at some level. The reason for GEM is that the entire system needs to have unified memory management for GPUs, just like for CPUs.
Also each GEM-capable driver has to support legacy mode. Linus was *very* clear on that point. So, starting with 2.6.29, each KMS or GEM driver supports non-KMS and non-GEM mode. (Some drivers, like the Radeon drivers, are all-or-nothing, so running KMS without GEM won't work.)
You're probably a BSD guy. Which is fine. Nothing wrong with that. Unfortunately, your upstreams have shown a rather lackluster interest in actually participating in these DRM changes. While there are a few guys working on porting this stuff, most of us are not BSD guys and are certainly not required to make it work across kernels. We're trying to make it as open and clean as possible, though. (DRM is actually built from a shared core that has Linux and BSD wrappers.)
And really, you don't want drivers in X. That's what we've done for a long time, and frankly, it sucks. Poor memory management, poor direct rendering. Lock contention, kernel sareas, GETPARAM/SETPARAM insanity. Each new feature requires kernel modifications and new ioctls which then have to remain working for a decade despite Mesa being the only real consumer of those ioctls. (nVidia doesn't use our DRM. They got this stuff working a long time ago on their own code. That's right, the closed-source drivers do this.)
Sorry for ranting, but that's the way it is.
~ C.