concerns over wayland and need for wayland app display to X Server

David Jackson djackson452 at gmail.com
Mon Feb 27 08:22:28 PST 2012


On Wed, Feb 22, 2012 at 5:13 PM, Daniel Stone <daniel at fooishbar.org> wrote:

> Hi,
>
> On 22 February 2012 21:34, David Jackson <djackson452 at gmail.com> wrote:
> > As I mentioned, counting on applications is really not a reliable method,
> > some programmers are sloppy and wont do it. The capability really needs
> to
> > be somewhere in wayland to sort of be able to count on it.
>
> Toolkits deal with these kinds of issues so applications don't need
> to.  If you decide not to use a toolkit and write your application
> badly, then yes, it won't work well.  That's not something Wayland can
> or should attempt to solve.
>
>
I completely disagree. Toolkit developers themselves can be sloppy. Someone
will develop a toolkit, perhaps not a very well known one, and simply not
include any way to switch its target to X11 at runtime. Or, an application
developer may not even decide to use a toolkit and will use their own junk.
People do it, You may think its dumb, crazy etc, but the fact is, people do
some things we think are dumb.


So we cant rely on programmers of applications, toolkits etc to implement
this feature. Wayland needs to provide it in some way.

Despite my misgivings on wayland and my being skeptical of it, I would be
happy enough and placated if you can implement this one feature for your
users:

All I need is the ability to display a single  wayland application to an  X
server as an xclient connection over X protocol, with network transparency,
with a command line, run time, per process argument to tell it the target X
server to use. I dont care as much about the particulars of how this is
done, just that it can be done in some way.

Here is where I am coming from as well: I am happy with X window system. I
heavily use network transparency. Many people do. Most users, including
newbies, I show them what can be done with network transparency, they love
it,. Its always been a strength of Linux. Since I am happy with X Windows,
Wayland does not solve a problem for me, in fact, it will create problems
due to the inevitability of some apps becoming wayland only.

X's flexibility is the anti-MS-Windows. Its a flexible system that allows a
great deal of control for users, including being able to swap window
managers on the fly. Sadly what i see with wayland is an inflexible, rigid
and for me useless MS Windows type thing.

Linux also has a strength in running on older hardware. Again, Wayland i
worry may be inferior here as well since a lot of drivers for old hardware
are a part of the X server.

I am not very fond of wayland, I like X, it works wonderfully for me. I
thought the Linux desktop was great with X and all of the flexibility it
offered.  And X is backwards compatable so I can use older X applications
without problems.

So, I have been very skeptical of this idea to create this incompatable
window system, Wayland, that  i am worried does not support old hardware,
is inflexible, difficult to use and so on.

Although wayland does not do anything I need to do, Whatever wayland does
could had been done with an X extension I am sure and with maintaining
backwards and forwards compatability.

The big concern fro me is that will, there will be a lot of wayland only
applications, and I basically want to keep using X, my X window manager, my
old hardware, my network transparecy, my ability to have multiple X
sessions, etc, I dont want to have to end up using this wayland desktop
very much just to be able to see applications. and I can gaurantee knowing
how people and programmers operate, applications hard tied to Wayland API
and only useable with it. Its gonna happen.

What problem does wayland solve for me? Nothing. What problems does it
create for me? Everything.

Its hard to beleive, but Wayland basically ruins the Linux desktop as is,
the best things about it, which is support for old hardware and network
transparacy, and the compatability, you can run any X application and not
worry about if its compatable with your choice of window manager.

X windows seperated the X server from the window manager, meaning the
window manager could be changed on the fly on a running desktop, and since,
the applications do not depend on the window manager. This was good design.
It allowed people to use any window manager they wanted and make their
desktop work how they wanted without worrying about if applications are
compatable.

It almost seems like Wayland is making every mistake X avoided and not
doing any of the good things X did.

I also dont understand waylands basic principles as far as I understand
them. For many years, I thought that the whole point of having a GPU was to
offload graphics rasterisation to the GPU rather than do it in CPU. But,
from what i hear of wayland, applications give wayland a pixmap, meaning
the application has to do all rendering on the CPU?

To offload graphics operations to the GPU, a rich 3D vector graphics API
needs to be provided for the app to send a larger set of high level
graphics operations to the GPU, via the server. The more high level and
extensive that API is the more the application can offload to the GPU in
rasterization. What i mean by application is both the app and its toolkit
it is using.

Such an API exists already: OpenGL. And surprise, surprise, X window system
already has a protocol that is perfect for sending OpenGL commands to
hardware, the GLX protocol which can be implemented on the server end to
send high level graphics to video hardware.

if you attempt to give apps direct access to video hardware.; I am
skeptical of that. The X server is basically a trusted program to have
access to video hardware while applications such as web browsers are less
trustworthy. X shielded hardware from applications which, like webbrowsers,
sometimes have bugs tht allow a remote attacker to work through such an
application.

By giving applications direct access to hardware we dangerously break
through protection rings and allow greater risk for a damaged application
to be used to expoit graphics hardware vulnerabilities. Especially true of
graphics hardware address space is being page table mapped read write into
an applications virtual address space.


if you allow wayland applications to be displayed to an X server, it would
allay these concerns of mine. It will assure the wayland applications can
be used with an X server that has the drivers for old hardware, it will
assure I can have my X desktop and multiple X sessions still including by
VNC (xvfb+x11vnc)  only X servers and so on. I can have my network
transparecy.

> If an expose event is not given to an application, how can it know when to
> > send new data to be displayed in just exposed areas of the app.
>
> Because all areas of surfaces are (can be) visible at all times.
> Expose events simply do not exist, for a multitude of reasons.
>
> Cheers,
> Daniel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20120227/425a8c09/attachment.html>


More information about the wayland-devel mailing list