Category: Wayland

  • June 10, 2016 - Mike Blumenkrantz and Derek Foreman

    Upcoming Enlightenment Improvements: DMABuf & Teamwork V2

    E21 has been under heavy development since December of last year; the primary goals for have been to provide a more rapid release and expedite improvements in Wayland compositing to provide a much more usable experience. With the release pending, here’s a roundup of a couple recently-added Wayland features that are coming in this release. Improving Memory Sharing for Video Processing with DMABuf DMABuf is an infrastructure for sharing memory between various pieces of hardware. It’s a key technology to enable a high performance video pipeline without wasted memory copies, but its benefits aren’t limited to video processing and playback. EFL and Enlightenment now both support the Wayland DMABuf protocol, allowing clients to create buffers that can be dropped into a hardware video plane or used as a texture by the GPU, without the inherent memory copy required for wl_shm buffers. While this is good news for video players, we’ve […]

    Read More
  • June 8, 2016 - Bryce Harrington

    What’s New in Wayland and Weston 1.11

    June brings us a fresh new release of the Wayland display protocol and it’s reference implementation named Weston. This post will take a look at some of the biggest new features and improvements in the 1.11 release. Wayland It’s been five and a half years since Wayland was declared stable with its 1.0 release. Specifically, this meant that the core of Wayland transitioned to a policy of “no backwards incompatible protocol changes”, and it was ready for developers to use it in production systems. The years since have seen all three major Linux desktop environments create successful implementations of Wayland in addition to a few mobile platforms and innumerable embedded systems. With the protocol being stable, most of Wayland’s core changes are bugfixes and copy edits. But lately, it seems the needs cropping up from production deployments have led to more significant changes being proposed and introduced. The 1.11 release […]

    Read More
  • Fill buffer. Attach buffer to surface. Damage surface. Commit surface. Ok, now you’ve got a picture on screen, that was easy, right? This is the (somewhat simplified) sequence of requests that’s required to show an image on screen with Wayland. A buffer is what your client draws into. A surface is what the compositor displays your buffer on. The commit operation tells the compositor it’s time to atomically perform all the surface operations you’ve been sending it.  Any surface requests prior to the commit have been buffered, and could have been requested in any order (the compositor performs them in the appropriate order during the commit). How Wayland Uses Damage to Redraw Surfaces Damage is today’s area of focus: it’s how you tell the compositor where the surface has changed since the last time it was committed. While rendering into its buffer, the client should create a list of rectangles […]

    Read More
  • May 6, 2016 - Mike Blumenkrantz

    Wayland Recovery: A Journey Of Discovery

    Wayland on the desktop is a constantly evolving project. Whether it’s improvements to the drag-n-drop protocol or extreme functionality enhancements in the client-side decorations, Wayland is a fast-moving target which allows developers to shape it in almost any way they desire. However, there are some limitations to a Wayland compositor when compared to X11 window managers. Under X11, a window manager is just a client of the XServer; this allows it to do things like restart itself without killing the user’s session. In Wayland, a restart of the running session’s compositor disconnects all the active clients, causing them to terminate. This increases the difficulty of things like crash handling where the environment can gracefully restart itself if there’s a crash. How to Crash Gracefully This is where a newly-created extension comes into play: the Session Recovery Extension. With Session Recovery enabled, a client is able to reconnect to the compositor […]

    Read More
  • April 1, 2016 - Mike Blumenkrantz and Derek Foreman

    CSS: Revolutionizing the Appearance of the WWW

    One of the most notable and enduring Linux desktop paradigms has been desktop effects: the coupling of various desktop environments with graphical niceties, also known as “eye candy.” With the advent of the XComposite extension in the mid 2000s, mainstream eye candy was taken to new levels through a small project called Compiz which used the texture from pixmap extension to apply hardware-accelerated effects to windows on the fly. From Compiz came the effect that is known throughout the Linux world as “wobbly windows” or, for many developers, “that feature we aren’t implementing.” By applying OpenGL vertex transforms to the textures created using the previously-mentioned extension, windows would appear to deform when moved and resized. This has persisted in being the benchmark for all graphical desktop effects for a decade, and numbers may not go high enough to enumerate all the users who have asked for this effect in Enlightenment […]

    Read More
  • February 12, 2016 - Bryce Harrington

    What’s New in Wayland 1.10

    Wayland 1.10 introduces a larger range of new functionality than what’s been typical in recent Wayland releases; this is partly due to the longer development period because of the holidays and other end of the year activities. More importantly, Wayland support is being actively refined for many desktop environments, applications, and devices and we’ve seen better engagement from the wider community as more people have shared their ideas and development efforts. We’re beginning to see the fruits of these collaborations. The release date for Wayland 1.10 is set for February 16, 2016, and I’d like to use this article to describe some of the new features and changes. Wayland Changes in 1.10 First, let’s take a look at some of the new functionality in Wayland 1.10: The Wayland API can now use Drag and drop actions to facilitate negotiation of content type when dragging between a source and destination. Additionally, […]

    Read More
  • February 9, 2016 - Derek Foreman

    WOW, Wayland Over Wire!

    A common complaint about Wayland is that it isn’t network transparent. X allows you to run an application on one computer and display its output on a different computer as long as the application doesn’t depend on certain “modern” features (such as the shared memory extension). Applications are forwarded individually and are indistinguishable from apps on the local desktop (network performance considerations aside). This is different than remote desktop protocols like VNC or RDP which provide control of an entire operating system. The Hurdles to Wayland Network Transparency Obviously, if we intend to make Wayland a replacement for X, we need to duplicate this functionality. However, some Wayland design decisions make it difficult to implement this kind of network transparency: File descriptor passing is used extensively in the protocol. For example, keymaps are passed from the compositor to the client as file descriptors; the client is supposed to mmap() the file […]

    Read More
  • February 3, 2016 - Bryce Harrington

    An Introduction to the Wayland Build Tools

    Most people’s first encounter with Wayland will be when their regular Linux distribution has migrated to it. Indeed, Wayland is really just a protocol, so chances are you’ll soon be using it through your normal desktop environment (Enlightenment/Gnome/etc.) without any particular action on your part, aside from a normal upgrade. But perhaps you’re one of the few, proud, hardcore Wayland hackers that already have the various repos checked out, and know all the intricacies of configuring Mesa and installing Xwayland and so on. So, if you don’t care about any of the details, or if you care a whole lot about ALL THE DETAILS, well, you’re probably already set. Kick Wayland’s Tires with the Wayland Build Tools If, on the other hand, you’re somewhere in between – you’re interested in playing with raw Wayland and Weston, but want to get the latest bits up and running quickly and don’t want to risk system […]

    Read More
  • January 12, 2016 - Derek Foreman

    Wayland 1.10 Sneak Preview

    Now that 2015 is deader than XFree86 and the year of the Linux desktop is finally here, I’m sure everyone’s wondering what 2016 will bring for Wayland… Sometime in mid January the 1.10 alpha release is coming, with a 1.10 release to follow in February, and this is already shaping up to be a pretty beefy release. New and Improved Here are some of the new core Wayland features that have already landed: Release requests for wl_seat – This is a step towards fixing a long standing problem. With no proper release request, it’s been impossible for the compositor to delete a wl_seat. This seems like it shouldn’t be a big deal until you consider the RDP (Remote Desktop Protocol) compositor, which creates a new seat for every login. Without a way to release seat resources completely, it effectively leaks seats. wl_surface.damage_buffer – This new request (already supported in Weston and EFL) allows […]

    Read More
  • January 7, 2016 - Samsung Open Source Group

    Spend Some Time With the Tizen Community at FOSDEM 2016

    For the 5th year in a row, the Tizen community will meet at FOSDEM: one of the most important free and open source software conferences in Europe. Members of the Tizen community from all over the world, including South Korea, Poland, UK, Bulgaria, and France will converge  on January 31 and February 1, 2016 at ULB Solbosch Campus, Brussels, Belgium. Here’s what you can expect from the Tizen community, this year: Meet Tizen developers from around the world for discussions. Interact with demos at the EFL/Tizen booth. Dine with Tizen developers at the community dinner. Learn and discover about free and open source software. Join Our Casual Dinner Meeting! If you are interested in Tizen presence at the conference, just bookmark Tizen’s wiki FOSDEM page and join us. There you will find details about latest news and plans including the Tizen community dinner that will occur on the evening of […]

    Read More