Kernel 2.6.31 To Speed Up Linux Desktop
Dan Jones writes "As the Linux community looks forward to another kernel release, the kernel hackers have been working on improving the memory management so that the X desktop responsiveness is doubled under high memory pressure. The result is an improved desktop experience. Benchmarks on memory-tight desktops show clock time and major faults reduced by 50 per cent, and pswpin numbers (memory reads from disk) are reduced to about one-third. Another improvement coming with 2.6.31 is kernel mode-setting support for ATI Radeon graphics cards, enabling faster user switching and a more seamless startup experience. Peripheral developments that will also improve the Linux desktop experience include support for the new USB 3.0 specification and a new Firewire stack. Even minor Linux releases have heaps of new features these days!"
Linus reads XKCD? http://imgs.xkcd.com/comics/supported_features.png
At this rate I'm starting to question if we'll ever have a 2.7 "alpha/beta" series since all the major new features above and beyond stand-alone device drivers seem to be going right into the current branch.
From TFA:
The result is an improved desktop experience; benchmarks on memory tight desktops show clock time and major faults reduced by 50 per cent, and pswpin numbers (memory reads from disk) are reduced to about one-third. That means X desktop responsiveness is doubled under high memory pressure.
Furthermore, memory flushing benchmarks in a file server shows the number of major faults going from 50 to 3 during 10 per cent cache hot reads.
And on next paragraph...
Linux foundner Linus Torvalds, first developed the operating system for his desktop and it rose to promince as a commodity Unix server.
Save your wrists today - switch to Dvorak
I can honestly say that the system does feel a lot snappier, more responsive, and just overall a much more pleasant user experience. Everything's just a lot smoother. The kernel team is doing a pretty awesome job of speeding things up. Kudos.
Phoronix has published benchmarks of an ubuntu system with kernel 2.6.31-rc5
Just like folks at Apple realized with their OS X, we in the Linux world, need an alternative to X. I heard that Google Chrome OS will get rid of it entirely. I would like to hear from anyone who disagrees.
Flip I sure hope debian, will jump on this, for the next release.
Kirk? Is that you?
I honestly don't know, why is it needed? Isn't this the third one in about 5 years now?
For the last time, PIN Number and ATM Machine are redundancies!
RAM is cheap and I have plenty of it. What about improving desktop performance when memory is not a limiting resource?
Honestly, there's something very wrong with a current state of Linux desktop when Windows 7 GUI runs faster that KDE 4.
From the kernelnewbies article:
With the HD5850 and HD5870 weeks away (don't buy a new card till they're out, you'll hate yourself!), this means you have to be three GENERATIONS behind the curve for this yet unreleased kernel feature to be of use.
Belief is the currency of delusion.
I'm runing linux desktop on box with shitload gigabytes of free RAM and GTK still render spin edit slow like hell.
Try putting 100 (or so) GTK spin edits on one window an run it. 45s to be fully displayed (Intel Atom, 1GB ram). The same in win32 on windows XP and on the same machine - 2s. But still, >500 MB of free RAM on both systems.
The drivers *are* in userland (well there, is enough in the kernel to display basic images and text). KMS means the kernel can change video modes, which allows early boot splash screens with no "blink" transitions when X takes over and allows "bluescreens", that is, the kernel can print error messages to the screen even if X locks up.
Climate Progress - Hell and High Water
Most of the driver is still in userspace. The modesetting is a relatively small part of modern graphics hardware. The reason for the switch, also, isn't performance, but consistency: with KMS, there's no flicker on boot as the X server proper starts.
Besides: a userspace driver can screw up the machine almost as easily as a kernel-mode one. Remember that a userspace driver needs to run as root, and must be able to write directly to IO ports and the PCI configuration space. Both kinds of driver can easily crash a machine.
No where is Linux defined as a server OS. Linux may be used primarily on servers but it is also used on desktops,imbedded systems and phones. Linux is many things to many people.
Squeeze will not freeze until Q1 2010 at the very earliest. There is plenty of time for 2.6.31, and likely even 2.6.32
Climate Progress - Hell and High Water
Sure, we will stick your vague assertions and hints at the existence of anecdotal evidence completely unaccompanied by any actual information into our pipes.
Go green: turn off your refrigerator.
They do belong in user mode, but with one little catch: the user mode part must not meddle with the low-level hardware state, and that's what KMS is for. I'm not familliar with how exactly Vista and Win7 implement their video driver framework, but it seems that they do something pretty much like KMS: low-level, generic control over the graphics card (and only that) is still held by the kernel so when the high-level, user mode driver craps out, the OS can regain control of the video card and put it back in a known, stable state.
This is Slashdot. Common sense is futile. You will be modded down.
Today isn't Tuesday
Climate Progress - Hell and High Water
I wouldn't be so sure, I'm not sure how ~1% of desktop computers compares to ~12% server market in real numbers. There are may be many more desktops/laptops in the world then servers. In real numbers, they might not be so different.
"Knowledge is the only instrument of production that is not subject to diminishing returns" -Journal of Political Econom
May I be the first to say it's about time the kernel devs paid some attention to desktop users. Servers aren't the only ones out there running Linux!
If it weren't for the OS X reference, I'd say that sounded like Steve Ballmer off his meds and trolling AC.
I prefer rogues to imbeciles because they sometimes take a rest.
MS takes the drivers back to user mode after touting the kernel-mode as a performance plus. Based on my experience with 2008/Win 7 and ATI, I think the display drivers belong firmly in user mode.
Actually, if anything, the graphics driver models of windows and Linux are converging. The Vista/win7 graphics driver model is AFAIK not a pure user space model, but there is a small kernel component doing stuff like mode-setting and GPU memory management. Precisely like the "new" Linux graphics drivers with KMS and GEM/TTM; the bulk of the driver still resides in user space.
Oh my, another weirdo who thinks that programmers are like construction workers or the like and can be reassigned from one construction place to the other just like that.
First, there's no "they". The fact that someone is doing desktop-related work has absolutely, totally NO EFFECT on any server-related work in Linux kernel or userspace, because it's done by different people and mostly in different areas of the code (otherwise they just let you decide what code to use when configuring the kernel, like with schedulers).
Second, there's no "they", again. Different people work on different things and it'd better stay like that. Just imagine what would happen if you somehow, forcibly reassigned (an absurd idea, but let it stand for the sake of an example) the desktop programmers to write server features. Got it? I, for one, do not want a TCP/IP stack written by a guy with 15 years of graphics driver programming experience.
This is Slashdot. Common sense is futile. You will be modded down.
The advent of Windows 7 in October may drive Linux's desktop market share down even futher.
It's not all doom and gloom for the penguin, however...
Thank goodness. I was so worried and depressed.
Debian's kernel release is coming, after a heavy cereal lunch..
Totally wrong, you must be new here.
OSS existed both in free and non-free forms. The non-free implementation was missing some featured and supported few cards. OSS was very limited where mixing of multiple audio sources was concerned.
So if you wanted sound effects while you listening to music OSS probably was not enough for you. These is where the sound daemons came into play. They acted as a single OSS client and did all the mixing operations for other software to connect with.
ALSA - provided an architecture to handle modern multi channel boards and do mixing. It also improved the abstraction of particular drivers; so it was easier to add support for new cards. The libraries make it much easier to write clients for as well.
OSS emulation is popular because there is still a great deal of OSS client software around and hey you get most of the ALSA benifents of multi-client support and functional drivers for just about every card under the sun even while using OSS emulation so there is no good reason no to use.
Sound is a solved problem if you are still having problem with sound on your linux desktop then you must:
1.You have some very exotic hardware or needs. There are still some gaps in the super low latency realm for people trying to do sound engineering and such.
3.You are using really and I mean really cheap hardware that is missing important features and was doing way to much in software on that other platform. Drop $20 and get a new audio card, or get a motherboard with a chip set form a company whose name you can at least pronounce, if you want to use onboard audio.
3.You are using a really old distribution
4.You are using a really poor distribution
5.You failed to read the documentation and have badly mis-configured your system.
Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
Aren't arguments about Linux being broken on the desktop red herrings? (linux, tux, herrings, red herrings?... ba boom tsh, I'll be here all week) The argument should be whether Linux, in my case Ubuntu, allows a Luser to work on h/is/er desktop. Positing one hypothetical, or specific case, after another and then proclaiming Linux is broken on the desktop is silly, as you pointed out. Linux now, compared to the early edition of Mandrake I first installed, is a working desktop OS.
Any OS intended for the desktop is trying to perform as a calibrated solution to an arbitrarily established target while trying to incorporate new features reflecting the advances of hardware manufactures. Moore's Law can be made to suggest the moving target any desktop OS has to aim at while not wasting limited resources developing features that the market might relegate to the margins. Linux has done, and continues to do, a great job of staying on target but will never meet the demands of all users, including those who want a, more or less, marginal feature made mainstream. Stating the bleeding obvious the strength of Linux and Open Source is anyone who wants a feature develop that feature given it's feasibility and a willingness to spend the necessary resources.
All large corporations, especially widely held corporations, are bound and driven by the profit motive. Limited resources and profit expectations don't always allow the best of all possible worlds.
ideopath @ play
Except that Linus Torvalds wanted a desktop OS.
The X API is totally unsuitable for writing flicker-free applications. The main problem is the draw-as-you-go approach foisted on you. There are no frame breaks and no way to tell the server when it's ok to flush the graphics to the card. Sure, you can write ugly workarounds. OpenGL implements its own drawlists and it's possible to get it to dump them in sync with vretrace. But that does not help someone working with the X protocol. And outside OpenGL it isn't even possible at all, because current X still does not provide any way to detect a retrace; all that code is hidden in the binary GL blob drivers. XSync extension was intended exactly for this, it has been around for over 20 years and is STILL not working!
Yes, I'd dearly love to rewrite X. Use drawlists, like OpenGL does, the better to integrate with acceleration pipes. Double-buffer, or at least make sure no drawing is done between retraces. But everybody is so stuck on preserving X, that this is very very hard. Yes, kernel support for R600 is coming, but that isn't going to be an actual driver; it's just a forwarding interface to the card's IO ports with locking. I'd still have to figure out the formats it wants and write a 3D driver for every card. And heaven forbid you mention that 3D drivers should be in the kernel; you get all kinds of people saying that it would make them hard to port. Well, gee people; the current state of affairs makes those ugly undocumented drivers in X damn hard to port too!
Yeah, I'm worked up. The state of graphics support on Linux just makes me tear my hear out.
Why does this matter, really? Linux is a server OS, why are they spending any time on useless trivia? Compare the number of working linux boxes used for servers versus desktops, and ask the same question again.
I get the same question each time I ask the question: it matters because I don't manage servers anymore, and the news about improvements to the "Linux Desktop" is much more relevant to me. Not only because I like to play around with Linux and any related innovations, but also because I believe that 1) Windows won't always be as easy to acquire without cost as it has been for as long as I can remember, 2) I (or a friend/family member) won't always have money to spend on a Mac, and 3) with those conditions on the table, there will be many situations where suddenly a Linux desktop system is the best option. That is, having to spend $100 on an OS places value on a Linux desktop regardless of how much they are outnumbered by Linux servers, especially when money is tight.
Of course, I'm intentionally thinking ahead in reaction to your question. My initial response is the most accurate. Improvements on the Linux desktop are just vastly more relevant and interesting to me than server issues. That might shift if I move back into a position where I'm managing servers, but probably not very much (I think there's more of a status quo).
"A lot" is two words. You wouldn't say "alittle", would you?
I applaud the effort to stamp out the incorrect use of "alot" in place of "a lot", but I'll add my unsolicited advice that it would read better as: "A lot is two words. You wouldn't say "agoup", would you?. Agroup, aton, abunch all match it up with "lot" as a noun, rather than just the modern adopted usage as a synonym to "many".
Some years ago, the kernel development model version numbering had changed, and at some point Linus basically said there would probably not be an unstable 2.7.x series, ever, except that they might want to number the version after 2.6.99 2.7.0 instead of 2.7.100, just to keep the numbers short.
In all likelihood, 5 years from today, the kernel will still be 2.6.x.
I undervolt my laptop. Up until the most recent kernel releases, this could be done by simply loading a small module into the kernel. A group of people on Ubuntu Forums would work together... one person would compile a module and put it up for others to download.
Currently, the way phc is handled was changed, and it requires a recompile of the whole kernel... please either include this module in the kernel or let it be loaded seperately again! If I wanted to compile my own kernels, it'd be running Gentoo.
Do what thou wilt shall be the whole of the Law
Really, Linux should pull an Emacs and just use the last component of the version number as the version number. That way, we'll have Linux 30, Linux 31, and so on. (Four-component version numbers, as in 2.6.29.2 are ridiculous, especially when the first two components never change.)
Earlier today I checked to see if ATI has X1650 drivers for Windows 7. They consider my card legacy and they do have a driver but I have a feeling there won't be many new releases.
Only the State obtains its revenue by coercion. - Murray Rothbard
they might want to number the version after 2.6.99 2.7.0 instead of 2.7.100, just to keep the numbers short.
In all likelihood, 5 years from today, the kernel will still be 2.6.x.
But only because at a rate of 1 release every 2 months, it'll be 2.6.91 by then.
http://74.125.155.132/search?q=cache:FGIH_jA8GfcJ:kernelnewbies.org/Linux_2_6_31+http://kernelnewbies.org/Linux_2_6_31&hl=en&client=mozilla&gl=us&strip=1 (text only).
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
Okay, why do I not have a problem with this? I watch BBC iPlayer fullscreen flash on my 46" 1080p TV from Linux, and apart from the low resolution of the flash stream (even in high quality mode), it is perfect.
Devs make sweeping changes to critical kernel code so that a particular user space application performs better.
Hurd please save us
All of my Linux servers are also actively used as Linux desktops. I'm not a server CLI purist and there's nothing mission critical on them. Worse, I run a Linux distro that I get to upgrade every 6 months or so. Fortunately, a live upgrade has worked fine for several releases now.
I know the servers would be faster if my kids weren't playing CPU intensive games on them, but the delay for web users isn't that much even when running Extreme Tux Racer. Everyone complains about CPU utilization rates - do something about it! Still, zippier X will be appreciated (once everything gets stable again).
On any decent machine (2Ghz+ with 1Gb+ RAM), I haven't had any problem with full screen flash. I did a while back, when it was buggier. Most of my machines have been 64 bit (Slamd64). For a while I ran the 32 bit Firefox just to have the Flash player work, but that's been resolved for a while with no complaints.
Serious? Seriousness is well above my pay grade.
And that's over a LAN connection. OTOH the NX stuff doesn't work just fine, as it dictates that you run the ssh server a very specific way. Plus its proprietary and relatively difficult to setup.
By comparison the remote Windows and Mac protocols are a dream. They allow things like multi-user sharing of a single app instance... without resorting to 1980s raster technology like VNC. About 5 years ago I hoped NX would get the ability to share sessions without using VNC, but I've since given up and the NX authors say that the limitation is X11's fault.
To sort of summarize here: You have to be a very sheltered Unix user if you think remote X compares well with the standard bearers on the desktop.
Oh, dear.
Well when X applications become usable over a LAN link let me know, mmkay?
When X permits efficient sharing of a window or desktop between multiple users in a teleconference, do let me know!
(Even the NX people say that X prevents this feature.)
Because I won't be holding my breath for it and you shouldn't either.
But distro bloat makes it slower. Bizarre idea of progress.
It's a perfect time for being wasted.
A perfect time to watch the stars.
- Burden Brothers, "Beautiful Night"
clusters.
cbs.com video's in full screen are horrifically broken with Twinview (Nvidia proprietary driver implementing dual head). It full-screens a single screen (properly), but then centers the video between the monitors, so you can only watch one half of the video. Other video sites get it right (Youtube, Hulu), why can't CBS?
I blame both CBS and Adobe, but particularly Adobe.(CBS shouldn't be able to mess up like that.)
(Running fullscreen flash video in Debian on a regular basis. It's a real processor hog, though.)
I won't join Slashcott. OTOH, If Beta goes live, I just won't be back until it's fixed. Sorry Dice.
Top Tip: Ctrl-Shift-Esc (IIRC) will run xkill. The cursor changes to a skull and crossbones - just click on the misbehaving window and it'll be killed for you. It'll probably take firefox with it, but it's still easier...
"Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves
Not if the driver is limited to only certain IO port and PCI address ranges. It would have to be compiled on load with verification, but it seems reasonable to me.
I know tobacco is bad for you, so I smoke weed with crack.
For my needs, which are nontrivial, Linux makes an outstanding audio workstation platform.
I have an old Allen digital organ from the early 1970s which sounds like crap on its own as it was meant to be played in a church or a hall, not my basement. So I route the sound through JACK, Jack Rack, a few LADSPA plugins for chorus and reverb, an Athlon XP system with 512k RAM, and a $20 Creative Sound Blaster from the 1990s. Today's smartphones have much beefier hardware than this, yet somehow my setup "just works." It would not fool a professional organist, but few others can hear the difference.
I won't claim it's an ideal setup - there are occasional drops (after a few hours of running; probably a memory leak somewhere) and ideally much faster and newer hardware would be preferred. Nonetheless, the setup works very acceptably for my purposes - it's a practice organ so I don't need it to work perfectly, but as long as I stop and restart the JACK daemon every few hours, it pretty much does.
On occasion I will even supplement this setup by plugging a MIDI keyboard through a MIDI->USB adapter, loading some pipe organ soundfonts onto the card, then "capturing" the synth output and routing it through basically the same pipeline as above (LADSPA plugins via JACK and JACK Rack).
Could I have done the same thing on a Mac or Windows PC? Sure, but only with significantly more expensive hardware and software. The Allen organ cost around $800 used; "pro" audio software tends to cost vastly more. All I needed to spend to implement the Linux-based solution was a few dozens of bucks for cables and adapters and maybe $100 for a powered subwoofer.
Nonaggression works!