Haiku OS ya puede ejecutar aplicaciones X11 sin usar un servidor X
Los desarrolladores del sistema operativo de código abierto Haiku, el cual es un sistema operativo independiente que continúa evolucionando desde BeOS, dieron a conocer la noticia hace pocos dias de que 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.
Los desarrolladores posicionan a la capa bajo sus propias palabras como una implementación 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 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).
Ahora, esto es todavía bastante temprano; presionar cualquier cosa en el teclado hace que se bloquee, hacer clic con el mouse dentro de la ventana causa un bloqueo y puede ver claramente extraños artefactos de redibujado. No obstante, los eventos de movimiento del mouse funcionan (los botones indican que se está colocando el cursor sobre ellos) y el cambio de tamaño de la ventana se comporta como uno esperaría. Pero, bueno, considerando que construí GTK apenas ayer, y tuve que solucionar un fallo y arreglar otros dos en mi propio código antes de que hiciera esto, diría que ya es un logro bastante considerable.
El soporte de la biblioteca Qt de Haiku se implementó previamente mediante la creación de un port 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 crear un backend GTK separado para Haiku requerirá recursos significativos. Como salida, se consideró la posibilidad de crear un port 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:
Para quienes desconocen de Haiku OS, puedo decirles que este sistema operativo 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 en computadoras personales, utiliza su propio núcleo, 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.
Finalmente si estás interesado en poder conocer más al respecto sobre la noticia, puedes consultar los detalles en el siguiente enlace.