From owner-freebsd-questions@freebsd.org Thu Apr 23 17:46:54 2020 Return-Path: Delivered-To: freebsd-questions@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E3AAD2BEAD5 for ; Thu, 23 Apr 2020 17:46:54 +0000 (UTC) (envelope-from freebsd@johnea.net) Received: from mail.johnea.net (johnea.net [98.173.229.12]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 497PrG0K1Kz46x2 for ; Thu, 23 Apr 2020 17:46:53 +0000 (UTC) (envelope-from freebsd@johnea.net) Received: from [192.168.100.201] (w520.johnea.net [192.168.100.201]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mail.johnea.net (Postfix) with ESMTPSA id 40A755F2383C; Thu, 23 Apr 2020 10:46:46 -0700 (PDT) Subject: Re: About wayland To: freebsd-questions@freebsd.org References: <20200421175910.GB62660@mithril.foucry.net> <2374cb33-48f6-4bac-54ca-ca8aedd4650f@list.199903.xyz> From: freebsd@johnea.net Cc: Jacques Foucry Message-ID: <7bd4d54c-79d6-e8b1-e2fe-ab923691d145@johnea.net> Date: Thu, 23 Apr 2020 10:46:44 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US-large Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 497PrG0K1Kz46x2 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of freebsd@johnea.net designates 98.173.229.12 as permitted sender) smtp.mailfrom=freebsd@johnea.net X-Spamd-Result: default: False [-1.80 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-0.93)[-0.926,0]; IP_SCORE(0.41)[asn: 22773(2.12), country: US(-0.05)]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-0.99)[-0.988,0]; TAGGED_RCPT(0.00)[freebsd]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[johnea.net]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; FROM_NO_DN(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:22773, ipnet:98.173.228.0/22, country:US]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Apr 2020 17:46:54 -0000 On 2020-04-22 09:55, Ottavio Caruso via freebsd-questions wrote: > On Wed, 22 Apr 2020 at 01:22, Philip 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