Windowing with Wayland protocol


Windowing1.png

Windowing with Wayland protocol

Out of the box support for any 3rd party application that already deploys through Wayland protocol.

Our platform combines state of the art hardware and industry leading software to provide a powerful freely programmable solution for machine intelligence, helping to make industrial vehicles smarter, safer and more productive. By using open source software solutions like Linux, Python and HTML5 we are able to incorporate millions of hours of engineering resources into every project. On our CC Linux 2.0 compatible displays (CCpilot VS, CCpilot X900, CCpilot V700 and CCpilot VI) we have provided support for the widely adopted open source window management protocol Wayland.

Wayland is a communication protocol that sets the standard for the windowing system a device can support. Wayland is one of the newest widely adopted standards and offers a host of advantages over older windowing protocol implementations.

Our compositor or window manager allows designers to easily create and deploy seamless solutions that integrate multiple applications into one screen, like an instrument cluster, machine diagnostics, tool control and navigation. By using this approach, the individual applications can run separately and independently (for even greater isolation they could even be sandboxed in a container).

As it is widely adopted our devices can offer system developers the option to quickly add user functionality to their application by adding open source applications, that can use Wayland, to be deployed. These include browsers like Firefox or qutebrowser, offering a wealth of functionality through HTML5 support or Progressive Web Applications, document viewers like Evince for simple user access to electronic manuals, task instructions or tips and infotainment applications to enhance the user experience. Wayland also makes it easier to sandbox applications within the system for greater security and overall system stability. As an example of how easy it can be to deploy an application in this manner, we took the source code for the classic videogame Doom and cross-compiled it, loaded it into our R&D Application Framework and launched it. It ran without any problems or additional coding or troubleshooting required. We were even able to connect a controller over USB so that our developers could “test” the game.

Wayland helps to add greater levels of system stability and also speeds up the development process as specific components and individual applications can be troubleshot independently of the complete system. Development projects can divide the applications between independent teams, taking advantage of individual expertise and wider resource pools for faster delivery and overall improved quality. This also enables the applications to have separated life-cycles, making test and release management more flexibility since the applications don’t need to be released together at the same time. The process for smaller software updates is also improved as each component or application can follow its own update and upgrade path without the need for the entire system to be updated or restarted.

With Wayland’s support in Qt you can use a virtual keyboard from Qt to input information in a CODESYS application and display both through your compositor to the same display, overlayed as you desire, to add functionality and flexibility to older, but popular, control systems.

Unity, the world’s leading platform for creating interactive, real-time content, building 2D, 3D, VR and AR applications, including robust developer tools, can take advantage of the Wayland protocol for easy simplified deployment. For example with Reflect from Unity, operators in construction can combine Autodesk Revit, BIM 360, Navisworks, SketchUp, and Rhino models into AR and VR to improve site management, navigation, and safety.

Wayland also facilitates extension possibilities as individual applications can be stopped, new applications started in free window space, windows can be moved by the user to create dynamic personalised workspaces even on embedded industrial devices. Overtime as new functionality is developed it can more easily be deployed to the target as each part of the overall solution can be evolved individually.

With the recent launch of Ubuntu 21.04, and its adoption of the Wayland protocol as the default windowing system for one of the major distributions of Linux, this will only increase the number of applications and features built to support the Wayland protocol that will become available for easy integration into any system design.