Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Wayland, a New X Server For Linux

kdawson posted more than 5 years ago | from the at-least-it's-not-called-Y dept.

Software 487

An anonymous reader writes "Phoronix has a new article out on Wayland: A New X Server For Linux. One of Red Hat's engineers has started writing a new X11 server around today's needs and to eliminate the cruft that has been in this critical piece of free software for more than a decade. This new server is called Wayland and it is designed with newer hardware features like kernel mode-setting and a kernel memory manager for graphics. Wayland is also dramatically simpler to target for in development. A compositing manager is embedded into the Wayland server and ensures 'every frame is perfect' according to the project's leader."

cancel ×

487 comments

Sorry! There are no comments related to the filter you selected.

Thank you! (2, Insightful)

Anonymous Coward | more than 5 years ago | (#25619189)

Thank you sweet Jesus! Finally somebody is doing something that should have been done looooong time ago!

Re:Thank you! (-1, Troll)

Anonymous Coward | more than 5 years ago | (#25619215)

Only if TFA translates to "Dosen't crash all the time like most current implementations of X do".

Re:Thank you! (-1, Flamebait)

Computershack (1143409) | more than 5 years ago | (#25619333)

Well, that's what happens when you wait for the OSS mob to get round to something.

Re:Thank you! (5, Insightful)

Anonymous Coward | more than 5 years ago | (#25619449)

Instead of taking the initiative and starting the project yourself, like this guy did.

Re:Thank you! (0)

FishWithAHammer (957772) | more than 5 years ago | (#25619681)

Were I to do it, X wouldn't be the server. X would be an application, as it is on OS X. The massive unpopularity of and certain backlash against such is one reason (along with time, necessary skill, interest, and laziness) I've not done it. That, and, y'know--I'm personally content with a Windows desktop, though I love Linux on my server boxes.

Re:Thank you! (4, Insightful)

dougmc (70836) | more than 5 years ago | (#25619709)

X is an application. *And* a server. On OS X as well. And under *nix, and even under Windows (when you add an X server to it.)

X's architecture works pretty well for what it was written to do. It was written in a time when lots of people used wimpy X terminals and did their work on a shared beefy central server.

VNC might be more of the architecture you're referring to?

Re:Thank you! (1, Interesting)

Anonymous Coward | more than 5 years ago | (#25619831)

X is an application. *And* a server. On OS X as well. And under *nix, and even under Windows (when you add an X server to it.)

Woosh!

X is an application on OS X (and yes, it's a server, too), but it's not the graphics server. It uses Apple's graphics server to do its magic, like any other application.

That's what the original poster was referring to -- it's time to move beyond X11 as the graphics server, and just let it be like any other application that can push bits to the screen.

Re:Thank you! (0, Redundant)

Enderandrew (866215) | more than 5 years ago | (#25620051)

I couldn't agree more.

Re:Thank you! (5, Insightful)

amorsen (7485) | more than 5 years ago | (#25619477)

Thank you sweet Jesus! Finally somebody is doing something that should have been done looooong time ago!

People have been doing bits and pieces of it for a long time. Client-side font handling, client-side rendering in general, kernel mode setting... Without those things, this project would be a lot larger.

This is quite typical of free software by the way: A lot of things are quietly replaced and enhanced without anyone noticing, and suddenly someone uses all the changed bits to create something radically new.

Does this... (4, Interesting)

AKAImBatman (238306) | more than 5 years ago | (#25619203)

...spell the death-knell of X-based graphics drivers? Does this mean that such drivers will finally be folded into pure kernel modules with no fancy wrappers required? Does that also mean that we can eliminate X as a dependency for playing video games, and using Linux in multimedia or kiosk environments?

Re:Does this... (5, Funny)

betterunixthanunix (980855) | more than 5 years ago | (#25619219)

...year of Linux at last?

Re:Does this... (5, Funny)

fxkr (1343139) | more than 5 years ago | (#25619269)

...year of Linux at last?

This sentence no verb and no desktop.

Re:Does this... (5, Funny)

imbaczek (690596) | more than 5 years ago | (#25619543)

He accidentally the whole verb and the whole desktop.

Re:Does this... (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#25619609)

I'd his desktop (bankai!)

Re:Does this... (1, Insightful)

fm6 (162816) | more than 5 years ago | (#25619739)

And forgot that a better X server isn't going to make a lot of people switch to Linux.

Re:Does this... (5, Insightful)

KasperMeerts (1305097) | more than 5 years ago | (#25619249)

Now only to convince nVidia to release their drivers for this new X. As long as these things don't happen, this probably won't take off.
Man, we really need OSS drivers.

Re:Does this... (5, Interesting)

F-3582 (996772) | more than 5 years ago | (#25619425)

They'll probably do the same thing they did with X.Org: Circumvent the entire thing [blogspot.com] .

Re:Does this... (5, Informative)

MostAwesomeDude (980382) | more than 5 years ago | (#25620081)

I don't understand why you were modded down, when you are technically correct: nVidia's driver stack simply doesn't use most of X.org's API/ABI. There are actually bits and pieces of X that we'd like to deprecate, but we can't because the nVidia blobs need them in order to do their thing.

Re:Does this... (2, Informative)

Tubal-Cain (1289912) | more than 5 years ago | (#25619643)

Getting it into the Ubuntu repos probably wouldn't hurt, either. (Sad that a single distro can have that much influence)

Re:Does this... (5, Insightful)

khellendros1984 (792761) | more than 5 years ago | (#25619811)

I disagree. I think that a single distro gaining popularity will be instrumental for standardizing what is expected of Linux for introduction into a larger market...that is, to give hardware and software developers a system to work in that's more standardized.

Re:Does this... (5, Funny)

lotho brandybuck (720697) | more than 5 years ago | (#25619841)

Getting it into the Ubuntu repos probably wouldn't hurt, either. (Sad that a single distro can have that much influence)

Wow. The Economy must be bad! People are getting their Ubuntus repossessed!

Re:Does this... (5, Insightful)

techno-vampire (666512) | more than 5 years ago | (#25619979)

You do understand, don't you, that the reason the nVidia drivers aren't in the Ubuntu (or Fedora) repos are that they're not OSS? Ubuntu will quite happily download and install them if needed, but they'll also make sure you know they're third-party and not supported by Ubuntu. For Fedora, you need to add a third-party repo (livna) after which installing the drivers and keeping them current is simplicity itself. I don't know about other distros, but I'd presume it's similar for all of them, with the probable exception of Gentoo.

Re:Does this... (2, Informative)

Enderandrew (866215) | more than 5 years ago | (#25620077)

All the really big players keep them in a separate repository. The "biggest" distro that I know that includes them normally would be Gentoo as you mentioned, and Sabayon, a Gentoo off-shoot.

Re:Does this... (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#25619351)

I'd been to my mates for a hot weekend session full of leather and rubber
and I was driving along a quiet road during early evening. I had an urge to
stop for a piss and knowing that there was an old unmanned service area up
ahead (the last for a while) I decided to stop. I could feel a nice shit
brewing up my arse, inside my rubber shorts and I really was getting quite
turned on at the feeling of being full. The smell of my piss soaked stinking
white socks under my boots was quite horny too. My rubber shorts were
completely sealed with no zips and a nice tight fitting, and over them I had
a pair of leather jeans. As for the top half of my body I had an old leather
biker jacket on with nothing underneath except my sweating body! I pulled up
outside the toilet block and decided to venture in. my mate had told me of a
horny guy he knew who sometimes hung out here, and I couldn't help wondering
if I was in luck. I turned the corner on the way in to the toilet block and
had a quick look around. It appeared that no-one was there. The place was
quite run down, and fuckin stank of shit and piss I passed the urinal
trough. It was completely blocked and quite full of piss. The thought about
taking a dump in the trough and refilling my boots with piss entered my
head, but it passed and I proceeded to the stalls.

I looked into some of the stalls, and decided to go in the only one with a
door. As I entered I saw a punk stood above the toilet bowl with a foot
either side. He looked fuckin hot. He was about 20 years old and was wearing
filthy ripped denim jeans, some black rubber waders, a rubber vest and mud
or shit encrusted denim jacket. His hair blonde and was done up in a moho
with brown lumps and streaks in it. It looked like it had been put up using
shit. I paused for a moment. He stared directly into my eyes, and I stared
back into his. We didn't speak a word. I slowly closed the stall door behind
me, and watched a grin spread eagerly across his face. He stepped forward
towards me and I moved towards him without breaking our stare. He fuckin
stank but so did I, I hadn't washed in a while. Our lips met as our bodies
pressed against each other. We kissed deeply and I could taste stale piss
and shit on his tongue. My hands ran down the back of his filth encrusted
clothes. I felt his ass, and there was a soft bulge in front of his ass
hole. He had a huge lump of shit inside the leather jock he was wearing. He
broke our kiss and whispered in my ear "squeeze it". I felt him push me back
against one of the walls of the stall so I was trapped in-between him and
the wall. "squeeze it" he urged me. I gave the lump a good squeeze. He
hummed and looked deep into my eyes again. I pushed some of the shit back up
his hole, through the dampness of his shitty jeans and he groaned in
pleasure.

I whispered back into his ear "come back to my place for the night" and with
that he kissed me deep again as a way of agreeing.

He stepped back from the wall and went to the bowl. It was half full,
blocked with shit. I watched with anticipation as he told me to take me
boots and socks off. I did as he said, and watched as he scooped up a
handful of shit and slopped it into the left boot, and pushed it down to the
toe. He did the same with the right. The punk guy took my socks and told me
to put the boots back on. It felt great with the tremendous squelch of the
soft and tender shit, working its way between my toes. While I was doing
that he took one of his own waders off and began to scoop the shit a handful
at a time into it. He continued until the bowl was almost empty and then he
got one of my socks and started to wipe the bowl with it. He sniffed the
sock, smiled and then shoved it down inside his leather jock. Then with a
big grin on his face he put his leg back inside the wader that was a third
full. He squelched his leg around in it for a moment, and then pulled it
out. He licked his fingers and thrust his leg back inside. Then he grabbed
the sock and we squelched out of the stall and started to make our way out.
He paused by the urinal trough and took his other wader off. Then he dipped
it into the pool of piss and scooped out half a wader full of piss. He then
steeped back into it, causing some to spill. He dipped my second sock in the
trough and the shoved it in my mouth, causing me to gag a bit at first. he
ushered me towards the door and said "come on then dude, what are we waiting
for?" it felt really odd walking with boots full of shit but it was fucking
horny to feel the shit rising up the sides with every step I took. The smell
from the boots alone fuckin stank, but not as much as all the filth we'd
brought with us. I had a throbbing hard on by now, just thinking about what
were going to do.

I'd half forgotten that I had to piss, or about the turtle's head trying to
poke out of my hole, but I had some ideas what to do with that! The punk had
to walk in an odd fashion as not to spill the contents of his waders. We got
to the car and I jumped in, he sat in the passenger seat and as he got in
some of the piss went on the floor and the seat got covered in the filth and
stink he was covered in. The car fuckin stank and my cock was really
straining to get out, making it difficult to concentrate on the road on the
way home. That's without mentioning the fact I was sucking on a piss soaked
rank sock. I couldn't wait...

Re:Does this... (2, Insightful)

jav1231 (539129) | more than 5 years ago | (#25619363)

No. This means there another X server thrown into the mix. Superior? Probably. Will it matter? Not likely. It's simply another piece of code to be debated and which will stave off Linux on the Desktop another 5 years.

The great thing about collaboration is that people can all contribute to a multitude of projects. The bad thing is that there's a multitude of projects.

Re:Does this... (5, Interesting)

AKAImBatman (238306) | more than 5 years ago | (#25619447)

But if you're going to "get rid of the cruft", doesn't that suggest that you'd want to move to an architecture that depends on the kernel's graphics subsystem rather than maintaining a zoo of obsolete usermode drivers?

Hardware is the purview of the kernel. Or at least the Hardware Abstraction Layer. (Depending upon your OS's architecture.) Today's X servers still support all kinds of usermode drivers, just so that 95% of configurations can thunk it all to the kernel. Thus there doesn't seem to be much point in providing the graphics drivers in the X server. Better to let the kernel do its job while the X server does its job of drawing the GUI through interpreting a series of abstract commands.

As a bonus, the graphical system becomes available to a variety of programs that desire low-level access to the graphics card rather than running an X server.

Perhaps I'm being naive, but why wouldn't a clean separation between the graphics system and the kernel drivers be an advantageous goal?

Re:Does this... (2, Interesting)

jonbryce (703250) | more than 5 years ago | (#25619565)

Didn't Microsoft do this in NT4, and wasn't it a very bad move for security and stability?

Re:Does this... (5, Interesting)

AKAImBatman (238306) | more than 5 years ago | (#25619651)

Microsoft moved the ENTIRE graphical subsystem to the kernel. Which made things faster, but did make them less stable and less secure. (Sun also had an option to take this route in Solaris.) This would be like taking the entire X server and cramming it down into the kernel.

I'm not suggesting anything quite so extreme. Rather, I'm talking about leaving device control in the hands of the device manager (i.e. the kernel or the HAL) and having the X server access the device through a standard driver interface. Much like audio, mouse, keyboard, networking, and storage are all handled by the kernel.

FWIW, Microsoft left the graphics in the kernel. They did add some extra checks to stabilize it, but we're all living with those kernel graphics today.

Re:Does this... (2, Interesting)

bhtooefr (649901) | more than 5 years ago | (#25619755)

Doesn't Vista finally move the graphics into userland?

And, the funny thing is, Microsoft's been screwing this up for years now, starting with OS/2 1.1. It was IBM's turn to work with OS/2 1.3, and they quickly moved it out of the kernel. But, Windows NT was a fork of OS/2 1.2, not 1.3.

Re:Does this... (1)

Enderandrew (866215) | more than 5 years ago | (#25620123)

X could be shoved into the kernel and work only for the following reasons.

The kernel is extremely modular and you could just not compile it in for an embedded device, or headless device.

Secondly, you could still boot to run levels, so if there was a problem with X, you could just drop to a lower level and still fix it.

In Windows, a graphical problem means Windows is hosed, and there isn't much you can do to fix it.

If X moved to the kernel, I imagine X would be greatly improved because more devs would review it, rewrite it, and fix it. Right now X is largely ignored and that is a big part of the problem.

That being said, I prefer the approach here of Fedora forking X.

Seems to be in very early development (4, Informative)

Snowblindeye (1085701) | more than 5 years ago | (#25619809)

According to Article (I know, I know: I read it... I'm not from around here) this seems to be very early in its development. So don't rm your X server yet.

Though before you think this will replace the current X.Org Server, Kristian explains "at this point wayland is just a prototype/playground for some ideas I've been toying with."

Been done (and failed) like a million times? (1, Insightful)

Anonymous Coward | more than 5 years ago | (#25619229)

Xorg/XCB anyone?

Then there is that stuff from NeXT which is similar to OS X.

Then there is that BeOS-like server.

Framebuffer.

I think there was some sort of OpenGL server a number of years ago.

Uh, what else? None of these have replaced the X11 standard.

Re:Been done (and failed) like a million times? (4, Informative)

carbon 68k (309023) | more than 5 years ago | (#25619335)

Uh, what else? None of these have replaced the X11 standard.

True, but this isn't aiming to replace the X11 standard for all purposes, at least not for the moment. The article/interview seems to make it clear that the goal is to do lightweight sorts of things - login managers and screen savers first, remote desktop access later - that don't have necessarily complicated needs beyond being able to fire up quickly, not take up that much space, and hopefully look nice in the process.

This isn't the New Linux Desktop. (unless it is.)

Re:Been done (and failed) like a million times? (4, Informative)

AKAImBatman (238306) | more than 5 years ago | (#25619339)

Xorg/XCB anyone?

If I understand the article correctly, this is a new X server, not a new API or protocol. Programs would still compile against XLib and still access the server through TCP/IP or unix sockets. The only difference is that the rendering engine that interprets those commands has been swapped out.

Then there is that stuff from NeXT which is similar to OS X.

OS X *is* NeXT. So I'd say that "that stuff" went to good use.

Then there is that BeOS-like server.

Not sure what you're referring to. But BeOS was awesome. Especially when it came to multimedia.

Framebuffer.

LFB is a pretty standard module in Linux these days. It's why Linux can boot with fancy graphical screens rather than staring at boring off-white text.

I think there was some sort of OpenGL server a number of years ago.

OpenGL is a standard part of modern X servers. Are you perhaps thinking of Project Looking Glass? That was an attempt at creating a new window manager rather than a new API. It's still under development, but it's coming along at Enlightenment speeds. Its development should not be impacted by a new X server.

Uh, what else? None of these have replaced the X11 standard.

I don't think that most of them were trying to.

Re:Been done (and failed) like a million times? (1)

diegocgteleline.es (653730) | more than 5 years ago | (#25619679)

If I understand the article correctly, this is a new X server, not a new API or protocol. Programs would still compile against XLib and still access the server through TCP/IP or unix sockets. The only difference is that the rendering engine that interprets those commands has been swapped out.

Well, right now it only runs 4 custom programs - "background", "pointer", "window" and "flower". It doesn't appear to have XLib compatibility at all. It'd be neccesary to port XLib to this server. Or, rather, port GTK/QT directly to the API of this server (and also port XLib - for compatibility with other programs).

It's unsure that it's neccesary, though. It's the X people who is doing all this, and they're doing it to get rid of all the unneeded complexity. Long term, they want to make X.org work just like this server works, so in practice X.org will be just as good as this server. Maybe it won't be so shiny, but it will work.

Re:Been done (and failed) like a million times? (4, Insightful)

RedK (112790) | more than 5 years ago | (#25619807)

Port GTK/QT to this server's API ? If this server doesn't support a version of the X11 standard, then it's not an X server. Since it is being called an X server, no recompilation should be necessary, unless you're using X extensions that are not supported.

Re:Been done (and failed) like a million times? (1)

Dr. Evil (3501) | more than 5 years ago | (#25619879)

The Berlin Consortium was one of them.

Quoting Slashdot from 6 years ago:

"X is still here in 2002, and its progeny will be in place 15 years from now. It will be worked on by CS students who got their MS working on various "Berlin's"."

http://ask.slashdot.org/article.pl?sid=02/05/29/0024242 [slashdot.org]

Re:Been done (and failed) like a million times? (2, Informative)

KasperMeerts (1305097) | more than 5 years ago | (#25619357)

This doesn't replace the X11 standard. It's just another implementation of it. I guess this means porting applications is unnecessary, except for maybe a relinking.
The chances that X11 gets replaced are pretty small but the replacement of X.Org seems a bit more plausible.

Re:Been done (and failed) like a million times? (1)

diegocgteleline.es (653730) | more than 5 years ago | (#25619895)

I don't know if it plans to replace the X11 standard, but it's certainly not "another implementation" of X11 at all right now. Look at the source code [freedesktop.org] . You won't see X11, or even X, anywhere - it's X11 clean. It'd be neccesary to port Xlib to this API.

X11 has replaced the X11 standard... (3, Informative)

amorsen (7485) | more than 5 years ago | (#25619533)

None of these have replaced the X11 standard.

X11 in 2008 is a lot different from X11 in 1998. Much of the X11 API is never used, and therefore you can get away with making a much simpler X-server which only supports the new calls. It won't run very old programs without some sort of compatibility box, but those are fairly rare.

Its good to see Red Hat developers doing this (4, Interesting)

number6x (626555) | more than 5 years ago | (#25619245)

While I'm a firm believer in "If it ain't broke, don't fix it", I think it is good to see Red Hat developers (or any developers) looking to future needs and being allowed to devote development time towards those needs.

Xorg isn't broken for most users right now, but planning and creating alternatives is a good idea.

Re:Its good to see Red Hat developers doing this (3, Insightful)

Anonymous Coward | more than 5 years ago | (#25619361)

I'm pretty sure Xorg has (or had) the same goals as this Wayland project. Xorg was meant to add all the modern features not in XFree. In fact, the synopsis of Wayland reads just like the synopsis of Xorg. What the hell are they doing?

The big question is: Will vendors port to it? (nVidia, ATI, Intel, etc)... and by that I mainly mean nVidia.

What's wrong with X... (5, Interesting)

Tetsujin (103070) | more than 5 years ago | (#25619471)

Xorg isn't broken for most users right now, but planning and creating alternatives is a good idea.

In a sense I think it really is... Admittedly, not necessarily in a way that everybody would notice, as you said - but still...

What X is good at, basically, is putting simple UIs over a network. For instance, I can run XEmacs remotely over the internet, and performance is decent.

Presently, this feature of X is being under-utilized. We're using a network-transparent protocol for the display server, but most people aren't running apps from remote hosts, and applications aren't being written with this in mind.

Basically, for all the overhead associated with something like X to be worthwhile then one of a few possible conditions must be satisfied. Either applications must be designed such that they work efficiently over the network with the present limitations in the display protocol, or the display protocol must be enhanced or altered such that today's applications can run reasonably well over a network link.

Running X apps over an internet link versus a LAN is an extreme case, admittedly - but nevertheless, an old Athena app can do it, while the simplest of GTK or QT apps can have a real problem with it...

Re:What's wrong with X... (3, Interesting)

fat_mike (71855) | more than 5 years ago | (#25619819)

Hell, I run MythTV over the Internet. By that I mean I run mythfrontend on the server via X11 to my non-Linux work computer.

Works pretty well.

Re:What's wrong with X... (1, Informative)

Anonymous Coward | more than 5 years ago | (#25620013)

Heh. What would be cool would be if someone thought of this use case. The protocols, API, and ABI need to keep going higher level to support remote desktop scenarios too. I'd like to see your case work by sending application data streams such as H.264 through the server to a remote system where they are decoded and physically composited onto the display. And the remote display should have the compositing and window management logic to allow "rootless" display as an option if the user wants it, rather than if the application and remote desktop software feel like providing it. And then detach the session and migrate the user to another system and do the same thing. It should not render to a bitmap and then send that via the remote desktop protocol.

Re:What's wrong with X... (0)

Anonymous Coward | more than 5 years ago | (#25619893)

i for one welcome our --

wait. i don't think i'm doing this right

Re:What's wrong with X... (1)

techno-vampire (666512) | more than 5 years ago | (#25620103)

Here in America, you screw up Slashdot memes. In Soviet Russia, Slashdot memes screw you up.

Re:Its good to see Red Hat developers doing this (1)

defaria (741527) | more than 5 years ago | (#25619501)

Hogwash! Buggy whips weren't broke either. Should we still be riding in buggies? The "if it ain't broke don't fix it" crowd ignores the need for progress.

Re:Its good to see Red Hat developers doing this (1)

RedK (112790) | more than 5 years ago | (#25619835)

And your crowd is the kind to try to reinvent the wheel. Progress doesn't mean burning the house down and rebuilding each time you want to change a room's color.

Re:Its good to see Red Hat developers doing this (1)

beav007 (746004) | more than 5 years ago | (#25619935)

If we didn't occasionally reinvent the wheel, we'd still be driving around on solid stone wheels...

Re:Its good to see Red Hat developers doing this (4, Funny)

Fred_A (10934) | more than 5 years ago | (#25619889)

Poor analogy, you can still use your buggy whip on your bicycle (especially tandem bicycles).

Re:Its good to see Red Hat developers doing this (2, Funny)

ArsonSmith (13997) | more than 5 years ago | (#25620011)

Umm, did someone try to fix the buggy whip? Or did you mean Wayland is a buggy WIP?

The buggy whip example is to illustrate the attempt to mandate halting progress by hindering it with government intervention. It therefore doesn't really apply here.

Re:Its good to see Red Hat developers doing this (5, Funny)

CarpetShark (865376) | more than 5 years ago | (#25619747)

While I'm a firm believer in "If it ain't broke, don't fix it"

We're talking about X. You seem to have wandered onto some other topic. ;)

yay! (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#25619247)

yaygt

Two decades is more like it (1)

FranTaylor (164577) | more than 5 years ago | (#25619365)

I still remember upgrading from X10. What a mess.

Re:Two decades is more like it (3, Funny)

xoundmind (932373) | more than 5 years ago | (#25619697)

I'm still stuck on the Andrew Window Manager.

HELL yes. (5, Interesting)

goodmanj (234846) | more than 5 years ago | (#25619375)

eliminate the cruft

ABOUT F'ING TIME.

X has been a case study in How Not to Write Software for twenty years now. Once upon a time, it was a pretty cool experimental software project. But for twenty years now, there have been exactly two kinds of X development:

A) Throw a layer on top of it to make it useable for normal people

B) Throw another driver underneath it to make it just barely work on your particular hardware.

Project A is fine until someone has to get beyond your little layer, in which case it's .xinitrc hell. Project B is just treading water, postponing the day that we all realize this indispensable software tool is a gigantic house of cards headed for collapse.

Probably some XFree86 dudes are reading this. Let me just tell you I appreciate your diligence in the nightmare of a job you've set yourself to, but the time has come. Take off and nuke the site from orbit. It's the only way to be sure.

Re:HELL yes. (1)

modmans2ndcoming (929661) | more than 5 years ago | (#25619583)

XF86 has not been the standard X server in almost 7 years.

Re:HELL yes. (1)

corsec67 (627446) | more than 5 years ago | (#25619749)

Since X.org was first released in April 2004, what did you use between 2001 and 2004?
I used Xfree86 until X.org had been out a little while; there wasn't any intermediate package. Then X.org switched to the modular package system.

Re:HELL yes. (5, Insightful)

dondelelcaro (81997) | more than 5 years ago | (#25619695)

Project A is fine until someone has to get beyond your little layer, in which case it's .xinitrc hell.

What in the world does the X11 rendering engine have to do with "useable for normal people" or the "xinitrc"?

X11, and by extension, the X server, is a layer whose job is to put stuff on screen. That means dealing with the wibbly bits (mice, keyboards, displays, video cards, tablets, pedals, etc.) that cause the stuff on screen to be displayed or interact with the stuff on screen.

But for twenty years now, there have been exactly two kinds of X development:

Furthermore, it's not like people haven't been modifying how the bits in between your "Project A" and "Project B" work, either. See xrandr 1.2 and 1.3, for example, as well as the countless other projects working on this very part of X11.

That's not to say there aren't problems with X11 and the various implementations of the X server, but it'd help to at least have studied what's actually going on before attacking the work of those who are actually doing the work.

Re:HELL yes. (1)

jonaskoelker (922170) | more than 5 years ago | (#25619769)

gigantic house of cards headed for checkmate

FTFY.

Re:HELL yes. (1)

Fred_A (10934) | more than 5 years ago | (#25619961)

Which is presumably why everybody has switched to the modular Xorg X11 server instead of the crufty XFree86 one ages ago. Seems to work fine for everybody involved.

Maybe you should upgrade too. Xorg even comes with twm so you won't really notice the change.

But does it run... (2, Funny)

Wesley Felter (138342) | more than 5 years ago | (#25619387)

xclock? xeyes?

Re:But does it run... (1)

slagheap (734182) | more than 5 years ago | (#25619573)

Yeah... and where are the screenshots???

In instead of out? (1)

bluefoxlucid (723572) | more than 5 years ago | (#25619403)

More functionality into the kernel instead of out to the X server? To me it's just code executing here or there; the user-space X server has full access to video memory and registers (via privileged I/O and MMIO), and nothing about executing in Ring-0 automagically makes code run "faster."

What major bottleneck of context switching warrants moving these things into the kernel? Why can't we have flicker-free mode switching in userspace X drivers?

Re:In instead of out? (1)

Bert64 (520050) | more than 5 years ago | (#25619487)

I think the flicker of mode switching comes from switching between kernel mode drivers (console) and user land drivers (X11)..
On the other hand i don't seem to notice any issues, the console screen goes blank and comes back with the X11 screen, and it resyncs the new display mode if using a CRT... Tho i have in the past seen brief flashes of screen corruption when it initializes a new screenmode and some of the display data from the previous one is still in the framebuffer memory.

Re:In instead of out? (1)

QuantumG (50515) | more than 5 years ago | (#25619519)

Running ring-0 code in a user mode process is oxymoronic.

Re:In instead of out? (1)

amorsen (7485) | more than 5 years ago | (#25619599)

Why can't we have flicker-free mode switching in userspace X drivers?

You can't have flicker-free mode switching at all, except in a few cases. If you switch frequencies, the screen is going to take a moment to resync. With the mode setting in the kernel, the kernel can make sure that it uses a video mode running at the same frequencies as the X server. The alternative is to run a user-mode mode setting program before starting kernel output. This is possible, but that means not being able to show diagnostics before userspace is running.

Re:In instead of out? (1)

spitzak (4019) | more than 5 years ago | (#25619707)

I believe the functions that are being put in the kernel is the *setup* so that the user-space code in the X server has that "access to video memory and registers". That is actually a huge messy part of the current X server. Doing this in the kernel allows other programs to have an idea what X did, and also allows things other than X to get the same access to video memory and registers, and also means that a "video driver" is findable in the same lists as all your other drivers.

Re:In instead of out? (1)

MtHuurne (602934) | more than 5 years ago | (#25620033)

I don't think performance is the motivation here. X servers are becoming increasingly modular and some of those modules fit better in the kernel than in the X server.

The framebuffer driver has to be able to initialize a video mode and the X server has to be able to do that as well; putting that code inside the kernel avoids code duplication.

Also, there is only one instance of the hardware (registers, video RAM, shader execution units) and running more than one program that assumes it has exclusive control over the hardware is asking for trouble. Since GPUs are more and more used for non-video tasks, managing resources such as video RAM in the kernel makes sense.

Re:In instead of out? (1)

Annymouse Cowherd (1037080) | more than 5 years ago | (#25620115)

Nothing about ring-0 code makes it execute faster, but switching between another ring and ring 0 is slow, and you want to avoid doing it.

Wayland-Yutani (5, Funny)

spankey51 (804888) | more than 5 years ago | (#25619419)

Wayland-Yutani, "Building better X-servers"

Re:Wayland-Yutani (0)

Anonymous Coward | more than 5 years ago | (#25619621)

This would be funnier (muchly) if the fictional corporation weren't called "wEyland-yutani".

http://en.wikipedia.org/wiki/Weyland-Yutani

Re:Wayland-Yutani (0)

Anonymous Coward | more than 5 years ago | (#25619877)

Beat me to it! Dang!

Notes for the Uninformed (2, Informative)

mpapet (761907) | more than 5 years ago | (#25619433)

1. it's very primitive. If you've got a VM to try it on, then go for it.

2. As AC on another post correctly listed the projects like this that have come before it. So, before everyone starts beating-up on X11, they need to check out the ample supply of unpopular alternatives.

The framebuffer is rarely discussed as yet another alternative to X11.

Re:Notes for the Uninformed (5, Insightful)

setagllib (753300) | more than 5 years ago | (#25619557)

It's rarely discussed because it's extremely slow. Even on low resolutions it takes an absurd amount of CPU power and latency. On high resolutions it's like a slide show with an awkward guest speaker. There's a reason we have hardware acceleration even for 2D.

X.org and All Competitors (0)

Anonymous Coward | more than 5 years ago | (#25619441)

The problem with all these competitors to X.org is that they can't use the hardware accelerated X.org drivers, particularly the binary drivers, and so they won't get good performance.

As I understand it these graphics drivers are the prime reason that people can't move to alternate X servers, and that these drivers are preventing competition.

Is that correct?

Re:X.org and All Competitors (1)

Bert64 (520050) | more than 5 years ago | (#25619465)

That, and the fact many apps would need to be rewritten...
All the alternatives i've seen were considerably slower than X, probably due to the lack of accelerated drivers as you pointed out tho.

Re:X.org and All Competitors (1)

PitaBred (632671) | more than 5 years ago | (#25619665)

Not really. That's why this is an alternative X server. Applications are written to use X library calls (or a higher level library that still boils down to X calls), so a server that implements X will work just fine with all applications that currently use X. The main issue is hardware acceleration.

Re:X.org and All Competitors (1)

spitzak (4019) | more than 5 years ago | (#25619763)

It sounds like this is designed to be compatible with the application api to X, so that is not a problem with it.

I think a great deal of even the Xlib api could be jettisoned because no modern program uses it. A simple thing to do would be to pretend to be 32-bit full color all the time, no matter what the hardware is, and eliminate all the colormap api.

Re:X.org and All Competitors (0)

Anonymous Coward | more than 5 years ago | (#25619885)

And in 5-10 years when we go to higher bit depth?

Re:X.org and All Competitors (1)

timmarhy (659436) | more than 5 years ago | (#25619495)

pretty much it. unless this guy comes up with a way of making use of drivers written for X he'll never get off the ground.

i'v thought X was a piece of shit for years, but ironically due to lack of choice i can't

Y windows; drivers (4, Insightful)

bcrowell (177657) | more than 5 years ago | (#25619577)

There's another project called Y Windows [y-windows.org] , which also aims to replace X with something that has less historical cruft.

The real question in my mind is whether this kind of thing does anything to address the big problems users are really encountering. Of course, not every open source project has to make large numbers of users happier. But the author of Y Windows says, for example, "I've got tired with the state of desktop GNU/Linux. Most of the problems that I see with it can be traced back to the underlying window system, X. So I decided to write its successor... "

For me as an end-user, the big issues are simply hassles with xorg not correctly recognizing LCD screens, so that it sets them to an inappropriate resolution, or the image appears offset. I have close to zero interest in gaming, so personally I just use the onboard video of my mobo, with only 2-d driver features, but the impression I get from people who do care about gaming (or fancy WMs) is that the big issue is drivers, not the internal structure of X.

As far as programming, the structure of X also seems like kind of a non-issue. Sure, X's APIs are heinously ugly, but almost nobody uses them directly.

The advantages listed by the article are things like a more manageable code base, a smaller memory footprint, and elimination of rendering artifacts. To me, none of those seem like major issues that I was all that worried about.

Re:Y windows; drivers (5, Informative)

Zaurus (674150) | more than 5 years ago | (#25619765)

I remember when Y windows was slashdotted in Feb 2004. It sounded pretty interesting. Unfortunately, it also looks like there hasn't been a single news item on their web site since Feb 2004, and their "community wiki" link points to a domain-squatter-ad-site. Also, the downloads match the version announced in 2004.

It's dead, Jim.

Network Transparency? (1)

Hatta (162192) | more than 5 years ago | (#25619591)

FTFA:Kristian Høgsberg... describes this project as "a new display server that implements just the tiny fraction of X features that we actually use when running a composited desktop.

I really hope that includes X forwarding, but it sounds like it doesn't. Network transparency is IMO the killer feature of X, it would be a shame to throw the baby out with the bathwater.

Re:Network Transparency? (1)

Qzukk (229616) | more than 5 years ago | (#25619767)

Network transparency is IMO the killer feature of X, it would be a shame to throw the baby out with the bathwater.

Thinking about it, you should do just fine simply by having a separate userspace "Xd" server listening (with appropriate security) for remote X client connections that feeds them into the local display through whatever IPC this is going to use (likely still going to use shared memory). This would be especially easy if the local communication protocol still uses the same types of messages (if it's not the X protocol itself).

If it continues to use the X protocol, then the applications themselves would continue to keep their network transparency.

Yes, network transparency (2, Insightful)

jonaskoelker (922170) | more than 5 years ago | (#25619855)

The project implements a new X server. Clients (i.e. your applications) link against the gnome library which links against ... which links against the X library, which talks to the X server via tcp.

The X forwarding in ssh works like any other port forwarding: listen on the port, grab the data, send it through the ssh tunnel, dump it at the target port on the other side.

That's the simple version. Add to ssh some special-casing for X, and add to xorg and xlib a speed hack that lets it use unix sockets or shared memory instead of tcp. Not consequential.

Unless the server only implements the speedhacked ways of transferring data between clients and the server, you'll have X forwarding.

Most clients are on the same machine as the server, so implementing shared memory first seems like a good move, but X forwarding is used so often that the outcry would be massive if network capability is saved for last.

Besides, I'd guess that data is transferred in the same format independent of how it's transfered; so the work to do tcp instead of shared memory is minimal.

Don't panic :)

Re:Network Transparency? (1)

pdusen (1146399) | more than 5 years ago | (#25619983)

Read again: the tiny fraction of X features that we actually use when running a composited desktop.

Article misunderstands concept? (5, Interesting)

Anonymous Coward | more than 5 years ago | (#25619605)

The article describes this as a "new X server". However it quotes the author of said program pretty much implying this is some kind of a new, non-X video interface. He talks about "porting" GTK+ from X, and about writing native applications for it and a "new, rootless X server" in order to be able to run X apps. All things that would not be necessary if this were an X server.

In other words, this is not an X server.

Re:Article misunderstands concept? (1)

dalurka (540445) | more than 5 years ago | (#25619897)

Mod this AC UP!
It is a totally valid point!

i hear obama was there (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#25619659)

http://www.msnbc.msn.com/id/27520557/ [msn.com]

tomorrow night he will take his place as king and you'll submit to his whim whiteman. you'll submit or be beaten down.

!XWindows. (0)

Anonymous Coward | more than 5 years ago | (#25619663)

It's "X Window System", or "X Window", or simply X [wikipedia.org] .

#include
#define BORG_GUI "Windows"
int main(int argc, char **argv) {
    Display *disp;
    int screen;
    Window win;
    XEvent ev;

    disp = XOpenDisplay(NULL);
    screen = DefaultScreen("slashdot.org:0.0");
    win = XCreateSimpleWindow(disp, RootWindow(disp, screen), 10, 10, 50, 50, 1,
                                BlackPixel(disp, screen), WhitePixel(disp, screen));
    XSelectInput(disp, win, ExposureMask | NewbieMask);
    XMapWindow(disp, win);
    while(strmp(argv[0], BORG_GUI)) { /* evil mode, resort to Win32 compatibility if called by wrong name */
        UINT iMsg = (UINT)ev;
        switch (iMsg)
            { /* always give your switches a default case */
            default:
        iMsg |= MSG_BSOD;
        MessageBoxA ((HWND) win, (LPCSTR) &fuck_you, (LPCSTR) &greetings_from_ms);
        SendMessage ((* HWND) win, iMsg, NULL, NULL);
        break;
            }
        return DefWindowProc(hwnd, iMsg, NULL, NULL);
    } /* good unix desktop beyond this point */
    SSL_connet ("apple.com:0.0", X11_FORWARDING | X11_REALM); /* FIXME: replace someday */

    return 0;
}

Finally? (1)

TheDarkMaster (1292526) | more than 5 years ago | (#25619751)

Finnaly the X Server will (maybe) get the same performance of windows interface? I know about the network transparency but c'mon! any normal user NEVER use this and this feature kill any chance of a fast graphical interface

Re:Finally? (1)

beav007 (746004) | more than 5 years ago | (#25620069)

Ever used Compiz Fusion? Ever used Aero?

Ever notice the difference?

In my experience, I can run Compiz on computers that will hardly run Vista at all, even with Aero turned off.

It's about f**king time (-1, Troll)

Anonymous Coward | more than 5 years ago | (#25619775)

Hopefully, we can finally get a high quality graphical programming interface.

Canonical (4, Interesting)

Enderandrew (866215) | more than 5 years ago | (#25619803)

Shuttleworth said he is going to pay devs to work on major upstream projects. He should focus on this. For one, it would affect both KDE and Gnome users, and it would solve a major problem with Linux. If he really wants Linux to compete with OS X in terms of interface, he should focus on the X Server first.

That being said, I hope Novell chips in some dev support, and that the KDE, Gnome, QT and GTK+ devs all chime on what they'd like to see changed.

How is this better/different than kdrive? (1)

TruthfulLiar (927336) | more than 5 years ago | (#25619837)

I read the article, and it sounded rather like kdrive. Fast, simple, no cruft. Nobody uses kdrive, though, and I didn't see any compelling reason from the article why wayland is going to change things. Hopefully someone can enlighten me.

Sorry, but I just had to... (0, Offtopic)

uberjack (1311219) | more than 5 years ago | (#25619911)

Booo-urns!
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?