Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Apr 2020 10:46:44 -0700
From:      freebsd@johnea.net
To:        freebsd-questions@freebsd.org
Cc:        Jacques Foucry <jacques+freebsd@foucry.net>
Subject:   Re: About wayland
Message-ID:  <7bd4d54c-79d6-e8b1-e2fe-ab923691d145@johnea.net>
In-Reply-To: <CAEJNuHyAzRJpYm0VUDbh7PDBooMyNONqG9QZ=gVoxnYvkuHJ2g@mail.gmail.com>
References:  <20200421175910.GB62660@mithril.foucry.net> <2374cb33-48f6-4bac-54ca-ca8aedd4650f@list.199903.xyz> <CAEJNuHyAzRJpYm0VUDbh7PDBooMyNONqG9QZ=gVoxnYvkuHJ2g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2020-04-22 09:55, Ottavio Caruso via freebsd-questions wrote:
> On Wed, 22 Apr 2020 at 01:22, Philip <philip@list.199903.xyz> wrote:
>>
>> Just curious, who is Wayland? a people name?
> 
> http://www.h-online.com/open/features/Wayland-Beyond-X-1432046.html
> 
> "Høgsberg had the inspiration for Wayland while driving through the
> town of Wayland in Massachusetts, which gave the display server its
> name."
> 

The article linked above provides a description, as well as the origin of the name, but it still didn't state what i would consider to be the fundamental difference between wayland and X. (at least not in high level terms)

I'm not a developer of the internals of X, or wayland, just a user of the high level graphical frameworks. So my perspective is as a user, not a developer.

X provides a framework of graphical primitives, e.g.: draw a window, draw a drop down box, draw a button, etc. The X server then converts these primitives into the raster of pixels that displays each of these features on the screen.

In wayland, each application is responsible for directly creating the raster of pixels for the entire window rectangle it is allocated on the screen. Wayland then combines the pixels for all of the running applications to create the complete image as displayed on the screen. Therefore wayland is referred to as a compositor. It combines all of the bitmaps into the complete screen.

Applications written in frameworks such as GTK+ or Qt can be ported easily to wayland, because the framework provides the primitives for "draw a button", "draw a window", etc, and then converts these into a final bitmap, instead of converting them into X compatible primitives.

Wayland also provides an X server emulation: XWayland. It supports programs expecting the X rendering primitives. Providing backwards compatibility for X server based applications.

As always, wikipedia is your friend:

https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Differences_between_Wayland_and_X

I'm sure my perspective is narrow and naive, but my impression is that the fundamental difference is that X provides primitives for rendering graphical objects, such as buttons and menus, while wayland expects each application to provide a complete bitmap for it's rectangle and composites all the application's bitmaps together to form the complete display.

Hope this helps provide a high level perspective...

John





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7bd4d54c-79d6-e8b1-e2fe-ab923691d145>