Capa de compatibilidad Xlib / X11 propuesta para Haiku OS

Traducido desde : https://www.opennet.ru/opennews/art.shtml?num=56386 


 Los desarrolladores del sistema operativo de código abierto Haiku , que continúa evolucionando desde BeOS, han preparado una implementación inicial de la capa de compatibilidad Xlib, que le permite ejecutar aplicaciones X11 en Haiku sin usar un servidor X. La capa se implementa mediante la emulación de funciones Xlib traduciendo las llamadas a la API gráfica Haiku de alto nivel.

Tal como está, la mayoría de las API Xlib de uso común son proporcionadas por la capa, pero algunas de las llamadas permanecen inactivas por ahora. La capa le permite compilar y ejecutar aplicaciones basadas en la biblioteca GTK, pero la calidad del diseño de los elementos en las ventanas aún debe mejorarse. El procesamiento de la entrada mediante el teclado y los clics del mouse aún no se ha llevado a una vista de trabajo (solo se ha agregado el procesamiento del evento de movimiento del mouse).

El soporte de la biblioteca Qt de Haiku se implementó previamente mediante la creación de un puerto Qt nativo que se ejecuta en la parte superior de la API de Haiku. Pero para el soporte de GTK, el uso de la emulación X11 se considera la opción preferida, ya que los componentes internos de GTK no están tan bien abstraídos y la creación de un backend GTK separado para Haiku requerirá recursos importantes. Como salida, se consideró la posibilidad de crear un puerto de servidor X11 para Haiku, pero este enfoque se consideró poco práctico en condiciones en las que la API X11 se puede implementar directamente sobre la API Haiku. X11 fue elegido como un protocolo estable e invariable a largo plazo, mientras que los experimentos con Wayland aún están en curso, se requiere crear su propia implementación de servidor y finalmente no se aprueban todas las extensiones de protocolo necesarias.



Cuando se ejecuta a través de una capa de aplicaciones más simples en Tcl / Tk y wxWidgets, se observan problemas aún sin resolver, pero la apariencia ya está más cerca de lo normal:




Recordemos que el proyecto Haiku se creó en 2001 como reacción a la reducción del desarrollo del sistema operativo BeOS y se desarrolló con el nombre de OpenBeOS, pero se renombró en 2004 debido a afirmaciones relacionadas con el uso de la marca BeOS en el nombre. El sistema se basa directamente en tecnologías BeOS 5 y tiene como objetivo la compatibilidad binaria con aplicaciones para este sistema operativo. El código fuente de la mayor parte del sistema operativo Haiku se distribuye bajo la licencia gratuita MIT , con la excepción de algunas bibliotecas, códecs de medios y componentes tomados en préstamo de otros proyectos.

El sistema está enfocado a computadoras personales, utiliza su propio kernel, construido sobre la base de una arquitectura híbrida, optimizada para una alta capacidad de respuesta a las acciones del usuario y la ejecución eficiente de aplicaciones multiproceso. OpenBFS se utiliza como un sistema de archivos, que admite atributos de archivo extendidos, registro en diario, punteros de 64 bits, soporte para almacenar metaetiquetas (para cada archivo, puede guardar atributos en la forma clave = valor, lo que hace que el sistema de archivos parezca un base de datos) e índices especiales para acelerar la selección en ellos. Los árboles "B + árbol" se utilizan para organizar la estructura del directorio. Desde el código BeOS hasta Haiku, se incluyen el administrador de archivos Tracker y la Deskbar, cuyas fuentes se abrieron después de la interrupción del desarrollo de BeOS.