Haiku OS can now run X11 applications without using an X server

The developers of the open source operating system Haiku, which is a standalone operating system that continues to evolve from BeOS, released the news a few days ago that have prepared an initial implementation of the Xlib compatibility layer, which allows you to run X11 applications on Haiku without using an X server.

The developers position the layer under their own words as an iImplementation through emulation of Xlib functions translating calls to the high-level graphical Haiku API. As it stands, most of the commonly used Xlib APIs are provided by the layer, but some of the calls remain idle for now.

The layer allows you to compile and run applications based on the GTK library, but the quality of the design of the elements in the windows still needs to be improved. Processing of keyboard input and mouse clicks has not yet been brought into a working view (only mouse movement event processing has been added).

Now this is still pretty early; Pressing anything on the keyboard causes it to crash, clicking the mouse inside the window causes a crash, and you can clearly see strange redraw artifacts. However, the mouse movement events work (the buttons indicate that the cursor is being hovered over them) and the resizing of the window behaves as one would expect. But, hey, considering I built GTK just yesterday, and had to fix one bug and fix two others in my own code before I did this, I'd say it's already quite a considerable achievement.

Haiku's Qt library support was previously implemented by creating a native Qt port that runs on top of the Haiku API. Peror for GTK support, use of X11 emulation is considered the preferred option, since the internals of GTK are not so well abstracted and creating a separate GTK backend for Haiku will require significant resources. As an output, the possibility of creating an X11 server port for Haiku was considered, but this approach was deemed impractical under conditions where the X11 API can be implemented directly on top of the Haiku API.

X11 was chosen as a stable and invariable long-term protocol, while the experiments with Wayland are still ongoing, you need to create your own server implementation and eventually not all the necessary protocol extensions are approved. When running through a simpler app layer in Tcl / Tk and wxWidgets, still unresolved issues are seen, but the appearance is already closer than normal:

For those who are unfamiliar with Haiku OS, I can tell you that this operating system was created in 2001 as a reaction to the slowdown in development of the BeOS operating system and was developed under the name OpenBeOS, but was renamed in 2004 due to claims related to the use of the BeOS trademark in the name.

The system is based directly on BeOS 5 technologies and aims at binary compatibility with applications for this operating system. The source code for most of the Haiku operating system is distributed under the free MIT license, with the exception of some libraries, media codecs, and components borrowed from other projects.

The system is focused on personal computers, uses its own core, built on the basis of a hybrid architecture, optimized for high responsiveness to user actions and efficient execution of multi-threaded applications. OpenBFS is used as a file system, which supports extended file attributes, journaling, 64-bit pointers, support for storing meta tags (for each file, you can save attributes in the form key = value, which makes the system files look like a database) and special indexes to speed up selection on them.

Finally sIf you are interested in knowing more about it about the news, you can check the details in the following link.


Be the first to comment

Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.