Informe de actividad de Haiku - diciembre de 2021

 Publicación de blog de PulkoMandy el Jue, 2022-01-06 08:53  haiku , software , informe de actividad

¡Feliz año nuevo!


Nota: este informe cubre los cambios solo en el repositorio principal de git de Haiku. Hay muchas otras cosas que suceden para Haiku fuera de ese repositorio de git. En las grandes noticias recientes, tenemos una capa de compatibilidad X11 y un puerto Wine experimental en ejecución. Sin embargo, no puedo cubrir todo en estos informes. Ayude a ser bienvenido si desea contribuir a nuestro sitio web con anuncios de noticias para dichos artículos.


Dicho esto, ¡veamos qué está pasando en el propio Haiku!


Este informe cubre hrev55688-hrev55768.


Estadísticas de contribución

A medida que finaliza el año, también he actualizado las tablas de estadísticas de contribución para Haiku y HaikuPorts . Allí puede ver los contribuyentes más activos durante la vida útil del proyecto y para cada año, el número total de personas que han enviado parches y varios otros gráficos y estadísticas interesantes sobre nuestros repositorios de git. A pesar de todas las grandes noticias y el progreso que están sucediendo, este fue un año sorprendentemente lento para Haiku, con el número más bajo de confirmaciones y también el número más bajo de contribuyentes desde 2016. ¿Digamos que tenemos calidad sobre cantidad?


No hay tales preocupaciones en el lado de Haikuports, donde tanto el número de cambios comprometidos como el número de contribuyentes está aumentando, alcanzando un máximo histórico de 75 personas contribuyendo. Actualmente hay 3037 recetas en Haikuports, que incluyen varias piezas de software. Veremos si la disponibilidad de Xlib y Wine termina aumentando esto el próximo año.


El tamaño del código para Haiku se mantiene estable desde 2015, con alrededor de 30000 archivos por un total de 5,5 millones de líneas. De estos, solo 16000 son código fuente (archivos .c, .cpp y .h), el resto es documentación (incluidas varias traducciones de la guía del usuario), archivos de catálogo para el kit de configuración regional, scripts del sistema de compilación y varios archivos de datos para iconos, recursos de la aplicación, etc.


Conductores

Rudolfc (con algo de ayuda de Korli y KapiX) continúa su trabajo en el controlador de gráficos Intel, con soporte para programación PLL en chips Skylake, soporte inicial para la interfaz DDI e implementación de manejo de interrupciones para las nuevas generaciones de dispositivos. Esto mejora la compatibilidad con los conjuntos de chips Intel modernos y varios tipos de salida (DVI, DisplayPort y eDP requieren un manejo específico en el controlador y aún no está todo listo).


Kallisti5 (también con algo de ayuda de Korli) realizó algunas actualizaciones al controlador de gráficos AMD Radeon, con varias correcciones para hardware más nuevo e implementación de algunas partes faltantes. Anarchos y Nephele agregaron soporte para la configuración del brillo de la pantalla en computadoras portátiles basadas en Radeon.


Lt-Henry continúa trabajando en HID y controladores de entrada, con algo de trabajo para hacer que los controladores de teclado HID para USB e I2C se compilen a partir del mismo archivo. Anteriormente, el archivo I2C era una copia del USB, con algunos cambios. Esto evitará que las dos implementaciones se desvíen a medida que se realicen cambios en uno u otro lado. También mejoró la salida de B_GET_DEVICE_NAME ioctl para estos controladores, y se discutieron y trabajaron más mejoras.


David Karoly está progresando en el puerto ARM, este mes se revisaron y fusionaron varios parches para implementar el manejo de interrupciones. El conjunto de paquetes bootstrap ahora es razonablemente estable y se ha subido a nuestros servidores de compilación. Esto significa que ahora es posible ejecutar una compilación sin arranque del puerto ARM para realizar pruebas. No espere demasiado: actualmente, esto solo lo llevará a la pantalla de inicio con algunos íconos encendidos, y se probó principalmente en QEMU. El siguiente paso es agregar algún controlador de almacenamiento masivo para probar la siguiente parte del proceso de arranque. Se está trabajando para que el controlador virtio se ejecute, o tal vez el controlador SDHCI para tarjetas SD / MMC llegue primero.


X512 y Kallisti5 están trabajando en el puerto RISC-V, con correcciones para mantenerlo en construcción, así como la implementación inicial de SMP (soporte multinúcleo) que se fusionó este mes (esto ya fue implementado por algún tiempo por X512 pero pasó algo de tiempo). tiempo en revisión y limpieza de código).


Herramientas de depuración

Korli agregó soporte para más cosas en strace: encuestas y llamadas seleccionadas, así como decodificación de más constantes ioctl. También agregó soporte para múltiples llamadas al sistema (de diferentes subprocesos) que se ejecutan en paralelo.


Strace es una herramienta que ejecuta un ejecutable y registra todas las llamadas al kernel, lo que permite comprender qué está haciendo el ejecutable.


Sistema de construcción

David Karoly solucionó varios problemas con el manejo de los indicadores del compilador para el gestor de arranque. El cargador de arranque es un poco especial en nuestro sistema de compilación porque no está construido como una aplicación Haiku, sino lo que sea necesario para la plataforma de arranque (un ejecutable EFI, algo que puede ser ejecutado por el BIOS, o un ejecutable OpenFirmware, dependiendo de la plataforma de destino). Esto no se hizo correctamente y algunos comandos se ejecutaron con el indicador incorrecto o incluso con el ejecutable incorrecto. En particular, esto estaba creando problemas para el puerto ARM, donde el cargador de arranque necesita indicadores de compilación muy diferentes.


Waddlesplash solucionó varios problemas en el código para permitir la construcción de Haiku con gcc11. Este es ahora el predeterminado y reemplaza a gcc 8.3. Kallisti5 y David Karoly solucionaron algunas advertencias del compilador nuevas que se encontraron después de esta transición.


Mt y Korli solucionaron algunos problemas con nuestra configuración para el analizador estático LGTM. LGTM es una herramienta que escanea nuestro código fuente y detecta posibles problemas en él.


Núcleo

Waddlesplash solucionó varios problemas en la nueva implementación condition_variable. Ahora debería tener menos errores y aún funcionar un poco mejor que la versión anterior.


Korli corrigió un error de uno en uno en el soporte de la función de "suma de comprobación de metadatos" en el controlador del sistema de archivos ext2 / 3/4.


Compatibilidad con pila de red y POSIX

Waddlesplash también corrigió un doble gratis en la implementación de UDP.


Korli solucionó un problema en la pila de TCP y otro en la implementación del semáforo XSI, ambos encontrados al ejecutar el conjunto de pruebas NSPR.


PulkoMandy solucionó problemas con la administración del tiempo de espera en el cliente DHCP, que no manejaba tiempos de arrendamiento superiores a una hora correctamente y, a veces, terminaba inundando la red con solicitudes de DHCP.


Cargador de arranque

David Karoly realizó varias correcciones en el cargador de arranque EFI, no solo para el puerto ARM, sino también para permitir la construcción de una versión x86 de 32 bits. Esto será útil para algunas máquinas que no proporcionan una implementación EFI de 64 bits: algunas máquinas Apple x86 tempranas y algunas tabletas Android x86. Esto resultó en una refactorización para facilitar la migración del cargador de arranque EFI a nuevas arquitecturas de CPU en el futuro.


servidor_aplicaciones

Waddlesplash corrigió un error en el manejo de cursores de mapa de bits. Era posible bloquear app_server pasándole parámetros no válidos en algunos casos al configurar un cursor personalizado.


PulkoMandy corrigió un error en la implementación del modo de dibujo B_OP_COPY, que llevaría a que el rectángulo de selección en Wonderbrush fuera blanco sólido en lugar de transparente.


Máximo Castañeda solucionó un problema en la gestión de fuentes que provocaba que se utilizaran métricas de fuente incorrectas cuando se dispone de estilos de fuente inusuales (por ejemplo, se mezclarían las letras semigold y negrita).


Interfaz de usuario y aplicaciones

Alex Hitech corrigió que el símbolo del rublo estaba en el lugar equivocado en el mapa de teclas ruso.


Nephele arregló la altura de la barra de carga en WebPositive para que coincida con la barra de estado (según el tamaño de fuente del sistema).


PulkoMandy agregó una nueva fuente de datos a ActivityMonitor, para mostrar la frecuencia actual de la CPU. También mejoró el rendimiento de ActivityMonitor para que use menos CPU para volver a dibujar sus gráficos.


PulkoMandy corrigió el uso de iconos personalizados para directorios en Tracker.


https://www.haiku-os.org/blog/pulkomandy/2022-01-06-activity-report/

Hora de Libertad

Post a Comment

Previous Post Next Post