<div dir="ltr">Hi pq,<div><br></div><div>Thanks for your question on my post and I am sorry that I was not clearer on the information.</div><div><br></div><div>Yes, you are correct in that the Direct Framebuffer approach that I am thinking about is how it might be possible to compile Weston compositor of the Wayland protocol to use the DirectFB (direct framebuffer) backend on FreeBSD since I am looking for a possible Wayland solution that does not use Xorg and is absolutely as small as possible just to display a single application "wlfreerdp" which is the Wayland compiled RDP client from the FreeRDP project.</div><div><br></div><div>This is the basic goal that I am trying to achieve.</div><div>cheers,</div><div>Lonnie</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 20, 2020 at 8:07 AM Pekka Paalanen <<a href="mailto:ppaalanen@gmail.com">ppaalanen@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Sun, 19 Jul 2020 19:55:01 -0400<br>
Lonnie Cumberland <<a href="mailto:lonnie@outstep.com" target="_blank">lonnie@outstep.com</a>> wrote:<br>
<br>
> Hi All,<br>
> <br>
> I am working on a speciality project for a super ultra-thin distro that<br>
> will basically run just a single graphical application in a type of Kiosk<br>
> (fullscreen) mode and Xorg is just WAY too large for what I want to do.<br>
> <br>
> I am using FreeBSD and have started to look heavily into Direct Framebuffer<br>
> (DRM) approaches.<br>
<br>
Hi,<br>
<br>
sorry, DRM stands for Direct Rendering Manager. Direct Framebuffer<br>
sounds more like DirectFB [1] which is something completely<br>
different.<br>
<br>
Are you really talking about Xorg alone, or are you perhaps<br>
thinking of some mainstream desktop environment when you say it's<br>
way too large? The difference between the two can be absolutely<br>
huge.<br>
<br>
> With that in mind, I have just learned that Waylan may support Direct<br>
> Framebuffers and wanted to find out more about this if possible.<br>
<br>
What do you mean by Direct Framebuffers?<br>
<br>
> The application that I will be using on the OS is just an RDP (or VNC)<br>
> client and really nothing more.<br>
> <br>
> My questions are if Wayland can render to the Framebuffer and also how<br>
> large of a footprint are we talking about?<br>
<br>
Think of Wayland as a design architecture. It's not an<br>
implementation. For an implementation of Wayland, you need a Wayland<br>
compositor and a Wayland client (e.g. an application using a<br>
Wayland-supporting toolkit).<br>
<br>
Wayland compares to X11; Xorg is a server implementation of X11.<br>
<br>
A part of Wayland design is that the display server is a<br>
compositor. This is unlike with Xorg where you have the option of<br>
running the display server without a compositor. Any correctly<br>
implemented Wayland stack will probably use more memory than a X11<br>
stack *without* compositing, because there is necessarily<br>
double-buffering for KMS to avoid graphical glitches.<br>
<br>
Traditional X11 architecture is fundamentally about drawing into<br>
the single framebuffer that is being scanned out (front-buffer<br>
rendering). This uses the minimum amount of memory possible with the<br>
caveat that you can see incomplete drawing on the screen at times.<br>
<br>
Wayland OTOH bans front-buffer rendering exactly because of the<br>
glitches, hence it needs at least one additional framebuffer<br>
compared to a minimal X11 setup.<br>
<br>
However, just because Wayland bans something does not mean that<br>
some implementation cannot do exactly that. They could, if they want<br>
to bring back the glitches that Wayland was designed to avoid.<br>
<br>
> I started investigating DirectFB which can be loaded and am guessing that<br>
> Wayland (if it supports FB) would be loaded on top.<br>
<br>
I am not aware of any Wayland compositor that would run on top of<br>
DirectFB. Most Wayland compositors use DRM/KMS instead along with<br>
some rendering API (OpenGL, Vulkan, Pixman, QtPainter(?), etc.).<br>
<br>
How much resources a Wayland-based stack consumes depends on the<br>
implementation and its details on the specific hardware platform.<br>
<br>
Some Wayland compositors: sway, weston, kwin, mutter,<br>
enlightenment, ...<br>
<br>
Some Wayland-spporting toolkits: Qt, GTK, SDL2, GLFW, ...<br>
<br>
<br>
[1] <a href="https://en.wikipedia.org/wiki/DirectFB" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/DirectFB</a><br>
<br>
Thanks,<br>
pq<br>
</blockquote></div>