Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

So, by creating MIR Ubuntu contributed to Wayland by giving the Gnome devs a big kick in the butt?

Well played, Canonical, well played!:)

And for the record, as long as both MIR and Wayland are more or less interoperable I don't care what's behind the hood. Both are open source and will be solid by the time they come out, so may the best implementation win. A little competition every now and then is just healthy.

Well, yes X11 does work very well for many of us. I agree with the GP's sentiment. Being able to remote individual applications (a rendering mode without 3d-acceleration) is definitely a must if you want to replace X11. There are many of us who use Linux professionally that use X11-over-ssh to run applications every single day. I don't care so much about the X protocol as I do being able to remote the apps. Remoting an entire desktop isn't that useful to me.

I still can't remote individual apps on Windows without resorting to hacks with rdp, or buying into Citrix. That seems so strange in a networked world where people remote apps all the time in their browsers, in a manner of speaking.

No. X11 is a bottle neck. It thinks in 2D, it's full of redundant baggage which nobody uses and all those processes introduce latency. Even X11 developers recognize that it's an impediment in a modern desktop which is why some prominent ones have endorsed work on Wayland.

And relying on a bloated 3d stack just to draw a damn window isn't a bottleneck?

Face it, the only people that want to replace X which works JUST FINE are people who want to play with their goddamn wobbly windows. We get enough of that garbage with compositing, thanks.

Thanks to modern hardware, "thinking in 2D" is a bottleneck. It's such a bottleneck that the modern video card is faster doing 2D operations in 3D mode than trying to do it in 2D only. Window management is an example - the traditional 2D method

Modern graphics hardware is just a large bunch of stream processors coupled to some hardware perspective correct texture sampling units.

These days forcing everything in 3D is no particular advantage. Graphics card can whale on 2D problems just as efficiently as 3D ones. It's just a question of writing some different shader programs.

But you already knew that...

So I really don't get your point.

You seem to be saying that there is something fundemantal about X which prevents one from doing everything on the graphics card. There isn't. And there's no need to mess with fiddly window overlap stuff either. The BackingStore flag has been present since 1988, since even then the designers realised that it was worth keeping windows on the graphics card on advanced machines to avoid the irritating fiddling with overlaps and stuff.

Seriously, it's been there for 25 years. X11 is actually designed to benefit from these kinds of things.

And relying on a bloated 3d stack just to draw a damn window isn't a bottleneck?

No it isn't. Modern PCs with a modern GPU will put the windows contents into a texture. Drawing a window is just a matter of telling the GPU to draw a quad with a texture. Drawing them in 3d is just means passing a model-view-projection matrix into the shader at the same time which is something that would happen anyway. 3d is literally for free. And while 3d might be a gimmick, the matrix could be used to render thumbnails, or a gnome shell view of the desktop or whatever.

And relying on a bloated 3d stack just to draw a damn window isn't a bottleneck?

You're referring to OpenGL? I do not think what you know whereof you speak. OpenGL is actually quite tight. Yes, it has some cruft - primitive feedback is quaint and nearly completely useless for example - but such warts are small next to its extremely well designed and orthogonal fast path. Especially now with the clean partition into core and legacy profiles (with the latter well supported in all known OpenGL platforms). The only people who complain about OpenGL not being tight are game weanies who think

Oh you mean the old bitmapped drawing code. That is a tiny fraction of the code base and it doesn't clog anything up. Old, maintained debugged stable code in a little used code path is entirely harmless. It's neither a cause of slowdowns nor a significant security risk.

all those processes introduce latency.

You're making it sound like the old drawing code has something to do with it.

No. X11 is a bottle neck. It thinks in 2D, it's full of redundant baggage which nobody uses and all those processes introduce latency. Even X11 developers recognize that it's an impediment in a modern desktop which is why some prominent ones have endorsed work on Wayland.

Might as well augment your random blather with a bit of actual knowledge. [linuxfinances.info]

Yes, by all means spam me now with all the arguments that claim that X11 is terrible because it's imperfect. I'm well aware it's imperfect.

But the fact is it's not imperfect enough to warrant throwing it out and replacing it with something that lacks the more awesome things X11 does. Yes, I know the counter argument here too: "Nobody uses/needs/wants the awesome things!" says Baby Bathwater. But look at what you're proposing: a tiny, inconsequential, performance improvement and possibly cleaner API, in exchange for guaranteed incompatabilities and the removal of functionality.

So, pretty please, knock it off with the Wayland/Mir shit, at least until you achieve feature parity.

So: Please tell us what "awesome" things X11 does which cannot be done with Wayland or go fuck yourself.

Open a remote editor on a machine the other side of the world? Have it integrated with my wm?Copy and paste between windows on different machines without the app having to provide the copy/paste functionality?Being able to set my preferences once, and not having to reconfigure 40 different desktops to my liking?Get the correct DPI and fonts for the display I'm on, not the one of the remote machine?Being able to run VMs that look and function the same as when run natively?

X applications die with the network connection -- they cannot survive when the machine running the X server changes IP or hibernates. They are tied to one X server, so you cannot move them from your laptop to your tablet.

It has been at least 10 years since I used X forwarding for anything except the rare GUI installer or similar short-running application. VNC is much more useful.

I don't care if it is X11. But display across the network is critical to my needs. Everyone that is trying to replace X, for whatever motiviation, needs to stop being in denial about this issue. Display across the network that is complete transparent to the application and works for all applications is critical for some computing environments.

I've used both X forwarding over SSH and RemoteDesktop to an XRDP server to work remotely, quite often. I've found the differences interesting. . .
In general, the RemoteDesktop connection is faster. Significantly. To the point that I use it routinely now that it's available to me. But I've noticed that when it comes to doing something like simple text scrolling, it's actually slower than the X fowarding I did prior (in an xterm or equivalent), probably because it's thinking of the window as an image instead of simply being able to send the text update.
It's annoying when trying to scroll through huge text log files, so for me, X wins there. . .

Re-introduce lbx. It worked fine before, until the new generation of devs didn't want to support it because they didn't use it and (quoting from memory) "bandwidth will catch up and won't be a problem".

But even then, X without lbx or nix (which is just compression, which is better done outside) is far preferable to streaming the video output, especially for those of us who work on high latency lines (like intercontinental connections).VNC is hardly usable outside a LAN segment.ssh -X remotemachine "nedit filename" is a heck of a lot easer than to set up and wait for a VNC connection, and watch your typing being severely delayed as the video streams.

The irony of this is, Motif applications (not to speak of anything more graphically intensive) were awful crap to work with over a slow/high-latency network connection.

The only legitimate modern use case I can imagine for using X11 over the network is running server administration software. Even this is suspect: WTF do you use that can't be controlled with command line tools, editing text files, or a web interface? The latter is far more realistic to find for modern software than graphical admin tools using

Something that's always been bugging me... why is RDP so much better (no, not flamebait, RDP has been buttery smooth even over ATT 1.5 Mbps "broadband")? And been that way for years, better than the lightweight VNCs, remote Xs, and the latest X2gos.

Is there a fundamental difference in how RDP does it vs X?

BTW, I'm talking the RDP clients that come with Windows, not the $$ Citrix ones.

Mostly it's because it's built into the Window Manager (GDI), so you can streamline the data that needs to be sent. Now-a-days, X is nothing more than a (remote) screen buffer. Clients send full pixmaps instead of drawing commands. RDP can paint your typical window by sending the commands that were invoked by the app, instead of a full bitmap of the window. Obviously this doesn't work for everything. Try playing a DirectX game over RDP.

Yes, There are fundamental differences. RDP simply works with input events and draw regions. The draw regions use pretty much any compression routines under the sun and supports the windowed regions, so moving windows around inside the container is basically free network IO, whereas VNC requires redraws over all delta regions. I'm not sure if Window border rendering is client side of not, but obviously the inner contents need to be redrawn with graphics sent back.

The real killer against X over networks is in latency, since most of X is performed with operations instead of rasters. Instead of sending possibly hundreds of commands, RDP can send a single raster to represent the same thing. The possible overhead in sending / acking / processing the operations quite often causes a large amount of time. This isn't helped by the fact that traditionally X developers didn't spend much time optimizing network performance, so you'll see a large number of libraries / apps that perform highly serial operations maximizing operation processing latency (since it needs a full round trip just to continue to the next instruction).

On a side note, there's the NX protocol which is a much more highly optimized remoteing solution for X derived services, but its proprietary, so it makes it unlikely for use in wide adoption. NX works quite closely to that of RDP/Citrix so that's why performance should be comparable.

RDP is fast even on a Linux box, so are you implying that the RDP client(s) in Linux know windows painting commands sent by Windows apps/desktops? If so, then why isn't there a Linux remoting solution that uses the same commands?

Older X11 application (like those built on Motif) are like that. They send a stream of primitives, so they're easily used over a network. But modern applications (like those built on Qt and GTK) use X11 as a screen buffer and instead of using X11 primitives, they just send large bitmaps to the X11 server. So modern X11 applications sucks when used over a network but older ones actually works fine.

X for server environments? What a waste. If you can't do it on the command-line, it's not worth doing. Why? Because you want to be able to script it. X for dealing with remote servers is a claim made by idiots who read the "Become a Unix Admin in 24 Hours" book.

I ran X11 over a 28.8k modem using SLIP/PPP, and it worked just fine. Stop using your fucking bloated window manager with 3800 gadgets running simultaneously and it would probably work fine over a "slow" network.

Wrong. The problem are not the 3800 gadgets. After all, when you run a program through ssh+x11, is just the application. The problem is that normally the application, if is something meaningful, requires to interoperate with other tools, and normally such tools, frameworks or services don't comunicate properly through ssh+x11.

I've tried to achive such allegedly cool network transparency on my local network several times, and has always been useless because real world applications use things like D-BUS.

For the record, you're insisting that you bring forward obsolete mechanisms that 99.99% of end users will never use. Nobody outside a handful of sysadmins uses X network transparency, and only then I suspect to stroke their own egos.

Cluestick:However inelegant or inefficient framebuffer-forwarding schemes like RDP and VNC may seem, their flexibility and ease of use (and not to mention cross-platform compatibility) makes them the defacto standards that they are.

For the record, you're insisting that you bring forward obsolete mechanisms that 99.99% of end users will never use. Nobody outside a handful of sysadmins uses X network transparency, and only then I suspect to stroke their own egos.

You could say the same about Linux itself. Figure out why this statement is wrong when applied to Linux, and you'll understand why it's wrong when applied to network transparency.

I hope that one day you will be all grown up and realize that you are also using advanced tools to do things and that you are the older guy that all the other young ones come to for advice, watching wide eyed while you work on five things at the same time in different countries...

To guys like me, this is normal. This is what I do. It is much more efficient to use X forwarding than to drive 300 miles or fly half way around the world.

I hope that one day, you would understand and use these tools yourself

No, RDP has become the defacto standard under Windows simply because it's really the only way to do it.

Given that I would imagine Linux desktops are disporportionately used by developers and sysadmins rather than end users (Linux isn't used so much as a desktop for normal users), there's quite a lot of people who do use X forwarding. It *is* easy and has been for a long time, a matter of three additional keypresses when you SSH to the machine you need to work on.

For low demand applications, sure you can. No one expects that X forwarded half life would be really usable. However if I need to open up some stupid GUI only management application forwarded from a linux system that can actually talk to the manged device, it can behave so close as to be quite serviceable.

Having my local system do the compositing, locally execute GPU intensive programs, *and* accomodate seamless operation of remote applications never developed to directly provide remote access capability

Nah that's so boring! What I want is my Linux desktop to act like MS Windows where I cannot move applications if the app is frozen, because the decorations are all client-side. And while we're at it let's emulate the feature of Windows where you can't move a parent window around when a modal dialog box is being displayed!

the network transparency in X11 is a bit rubbish. It uses a huge number of round trips and so is painfully slow over a slow network. still I use it at least weekly because it is really easy. I am sat at my laptop, ssh'ed into a big machine (lots of CPUs and RAM) which runs simulations. If I want to look at a plot i can just do 'evince foo.pdf' and its on my screen (or pylab.show() or whatever). It requires no setup beyond passing -X when you start ssh (or adding forwarding to the config file).

Why does network transparency have to be a function of the display system?

Because if you have network transparency in the display system then all your applications get network transparency for free. They just talk to the display system like they always do and the display system throws them up anywhere you're connected to, as you like.

Because if you have network transparency in the display system then all your applications get network transparency for free. They just talk to the display system like they always do and the display system throws them up anywhere you're connected to, as you like.

Except if you have very little bandwidth it is absolutely horrible and you'd do far better with a web interface and if you have lots of bandwidth you can use VNC. The pipe between your CPU/RAM and GPU is one of the fattest pipes in a computer able to push many GB/s and when you replace that with tin cans and a string you need to do something, it's like arguing that if I replace your graphics card so the game renders at 1 FPS that it's now supported for free. I'd never, ever design a system that'd depend on X11 for remote access, would you?

It's not a niche feature. Just because you don't need it, it doesn't mean that millions of others don't.

Even on my home network I use X11 between machines every single day. It's the simplest solution to an awful lot of problems when you're using more than one machine and it generally works much better for interactive use than remote desktop or VNC on a local network.

You could be doing those things over wayland. I can run X11 over Windows or OS X. I assume exactly the same will be possible over Wayland. Not to mention network transports for Wayland at some point - if a window is just as a surface, there is no reason the surface can't be coming from over the network from somewhere else.

It's not FUD, X11 can run over the top of Windows and OS X. For people whining about needing to run remote apps they can use X11 just as they do now. Or VNC. Or NX. Or whatever transport Wayland provides.

So, how do I get an OSX app up on my Linux box over here using X11?

You fail to comprehend. Though I'm sure there are remote desktop apps for OS X that would serve your purpose, VNC for example. And for Windows.

We have VNC already to show us how much that sucks.

Then don't use it FFS, use X11. Over Wayland. It's not rocket science to understand.

Then don't use it FFS, use X11. Over Wayland. It's not rocket science to understand.

What do we do about native Wayland apps?

If it's not rocket science, explain that to me. The whole point of Wayland is to deprecate X11. If Wayland is successful, it will supplant X11 and people will not write X11 apps anymore.

So explain to me how running X11 over Wayland is a solution to the lack of network transparency in Wayland. If it's easy to understand, it must be easy to explain. So go ahead, explain it. Please! I really don't want to have to worry about this or bitch about this.

RDP, VNC, and Teamviewer all present whole desktops. This is infuriating. I want the application windows to be seamlessly navigable among my local applications.

That's not to say X is perfect either. X is highly latency sensitive, particularly for things like Java GUI applications. If network flakes out, the X client dies rather than 'detaching' for someone to later reconnect. X has no concept of audio streams.

I don't necessarily want X, but I want something that recognizes the core value of application level remote display (including things like the NETWM stuff to let 'tray' icons live in the right place.) and enhance it through better audio integration, detachable operation, and better network usage (e.g. Xlib primitives are rarely used anymore, having primitives more relevant to modern usage like RDP has would be a large improvement)

The RDP "whole desktop" is entirely an artificial limitation. It actually works great on the application level, after you've shell out the bucks. So, yes, it is infuriating that MS crippled their own product.

Stop saying VNC is flawless, it isn't. RDP is closer, SPICE is closer, VNC is so far away from being flawless it's crazy. X without tricks is also far from flawless, but the remote application forwarding model isn't imitated by any of the alternatives either.

Then get the Wayland developers to guarantee that Wayland apps will be network transparent. Then we will shut up and you won't have to listen to us anymore. Until then, expect us to bitch every time Wayland is mentioned.

You have three options:-provide network transparency-give up and go home-put up with constant bitching

Really, everybody should read that and understand it, and also its consequences. Frankly, to me, the idea, that by switching to Wayland will somehow mean that you lose network transparency it just as absurd that by switching to X you lose OpenGL support (which is absolutely not a part of the X protocol - X11 came out in 1987, OpenGL in 1992). So while Wayland itself will not support network transparency, the full stack surely will.

Frankly, to me, the idea, that by switching to Wayland will somehow mean that you lose network transparency it just as absurd that by switching to X you lose OpenGL support

If you run an X program, you are guaranteed that network transparency is available. If you run an X program, you are not guaranteed that OpenGL is available. Saying that Wayland *can* support network transparency is insufficient. I should be able to *rely* on network transparency being available to arbitrary apps.

If I find someday that a Wayland app that I need is not network transparent, what should I do? That's never even been a cromulent question with regards to X.

So while Wayland itself will not support network transparency, the full stack surely will.

I hope you're right. But I'm not about to shut up about it until the "full stack" exists, has all the features X11 had, and performs better.

No, those VNC type of things do NOT fill the same use case. Serious developers and network admins are frequently logged into and running apps on multiple remote machines at the same time. Try that with VNC and see what a fine mess you get yourself into.
People who use VNC are clueless to the fact that you DON'T need to remote the whole bladdy desktop because your local machine already HAS one. Remoting single apps from multiple machines is an extremely useful and powerful feature of X.

You say that you install an X server on your Windows machines, but something think that Wayland will be a problem? Are you even running Linux locally? And rdp depends way less on bitmap transfers than any modern X application. You seem illogical and clueless both.

I think it's less about the server crashing and more about the fact that modern apps and widgets do their level best to bypass as much of X as possible. They use free type for fonts, cairo for drawing bitmaps, QT / GTK for their widgets, GPU surfaces for windows, extensions for compositing and damage. X is basically this thing which routes keyboard & mouse inputs in one direction and has some hooks to tell the compositor to repaint in the other. The rest is just a bunch of dead code and restrictions get

Yeah, but most of the time it's a meritocracy and the ones writing the code actually DO know better. In the case of Gnome someone opened the peanut jar and gave them a bunch of keyboards. I'm not sure where they started getting braindead ideas like, "Let's only run on Linux" and "Let's screw the desktop for tablets." Is Mark Shuttleworth helping them decide what to do these days? That would make sense, when the suits get in control, things go downhill.

For all the screaming about MIR (from the exact same people who say that we need "competition" for MS/Apple/etc.), I really hope that the competition part of MIR finally gets the Wayland developers to stop screwing around with Wayland like its a toy and get it to the point where it can actually be deployed in real systems. And yes, despite the chagrin of the religious radicals on this site, that means opening up dialogs with AMD and Nvidia to get driver support too.

It looks to me that Wayland developers only have one desktop at home and were Windows users that want gaming on their linux box.

- What about asynchronous rendering? fast text scrolling in a windows like "find/" or "make -j32" thru a modem connection works in X11, I'd be surprised to see the same on Wayland.- What about single GUI App running remotely: ssh to a cluster with no network card and need to start paraview or gnuplot? Should I run a full desktop with useless fancy gadgets just to see a gnuplot window?- What about client application that freeze: Can't move the window because the decoration is done by the client?- Wy can't I move parent windows when a modal window is open like a file selection dialog box. How do I move the parent app to see my shell window behind. Should I do the same as in windows: close the file selection dialog box move the windows and reopen the file selection dialog box?- What about lost event because the client is buzy? I click on the button, but the event is lost because the client is buzy.....

Here we have an identity crisis within the linux community, and I find it distressing how few people see the underlying opportunity. The decision between X and wayland/mir depends on what you think linux is. Is it an industrial-strength swiss army OS used by the technically inclined, or is it the platform upon which the tablet renaissance is being built? Of course it's both, so quit with the civil war and pay attention to what's happening in computing.

If general purpose computing is going to survive Apple, Microsoft and Google, we need a rich, high-performance compositor that can run on embedded devices AND a next generation framework for network transparency in applications, preferably in separate packages. Since I'm being dragged into cloud computing, I want to become my own cloud: I want to blur the line between my laptop, server, desktop, and tablet, but I want to do it in an open-source, platform agnostic way. I want to leave my CAD software running on my desktop and connect to it from my tablet to get dimensions for some part. I want automatic syncing ala dropbox for my LAN. I want to stream audio and video to my stereo without using airplay. I want generic compute jobs to be distributed to idle computers on my personal network. I want to lease an EC2 instance just for the week that I have to do some high-quality rendering and have my desktop parcel the job up and send it out to be executed with a minimum of manual plumbing.

In other words, I want network abstraction for input and display, a toolkit to aid with responsive UI design, local openGL compositing, a framework for exporting big, blind compute jobs, and some network utilities to help me get my services configured correctly, and I want them to be designed to work well together. Some of this is Hard but all of these technologies already exist in some form, they just haven't been integrated into a single open-source platform. Usable by consumers. Yet.

The open source community has the opportunity to stake a claim while the world of computing has been turned on its head. Fretting about X11-style network transparency at this point is like sweating over the future of IRC. (Hint: all my chatroom correspondence is now owned by some shitty company overvalued at $27 a share). When all new software is designed to run on top of webkit, will your remote GIMP even matter?

For everyone bitching about Wayland vs X11 and network transparency, you need to watch this talk [h-online.com] by Kristian Høgsberg. Keith and the rest of the devs have always said that remoting would eventually come down the pipeline.

And for everyone else talking about efficiency of sending pixmaps via the network, you should learn how your current stack actually works. It will be much better with Wayland.

I've used X11 since 1995, I'm very fond of it. But I also realize it needs to go...

The problem with too much fragmentation is that you never gain mainstream acceptance and it confusese developers who don't want to rewrite the tools that are fragmenting. Toolsets lose support, and if you developed your particular software on their toolsets then you're screwed.

It's nice to have options, unless you're the guy that chooses to implement your system on an option that is a deadend. Then you kinda wish for a Microsoft platform--something that's going to be around for a couple decades and you don'