Informe mensual de actividades de Haiku, enero de 2019.


¡Bienvenido al segundo informe mensual de 2019! PulkoMandy y algunos otros están representando a Haiku en FOSDEM, así que estoy cubriéndolo una vez más. (¡Hurra, más escribiendo sobre mí en tercera persona!)
Este informe cubre hrev52707-hrev52827 (213 confirmaciones).

Aplicaciones y bibliotecas

Jackburton parcheado Terminal para utilizar un flotador al calcular los anchos de fuente. Esto corrige el uso de fuentes de ancho no fijo en al menos algunos escenarios, aunque todavía hay otros sin resolver.
Rob Gill, un nuevo colaborador, presentó cambios para admitir el cambio de nombre de host del sistema en las preferencias de la Red, preservar la configuración de DNS especificada por el usuario en lugar de sobrescribirla y una gran cantidad de limpiezas de calidad de código pequeño. ¡Bienvenido, Rob!
Leorize contribuyó con un parche para hacer de getifaddrs() una primitiva red, comportarse más en línea con la especificación POSIX, como parte de su trabajo para que libuv ejecute en Haiku. También completó los parches get/setpriority larga duración como parte del mismo esfuerzo, que también ahora finalmente se fusionan.
Ya está disponible una nueva versión de HaikuWebKit, que corrige bastantes bloqueos relacionados con la reproducción de video, el "CryptoQueue" y muchos otros problemas. Hay algunas inestabilidades nuevas, pero estas ya están siendo investigadas.
waddlesplash reescribió el sistema de vista de parámetros del Kit de Medios. Anteriormente, era bastante defectuoso y creaba controles con tamaños incorrectos, lo que hacía que fueran invisibles o cortados. Ahora se utilizan las API de diseño estándar, para una experiencia mucho más consistente. Esto afecta prácticamente a todos los paneles de las preferencias de Medios, así como a cualquier software de terceros que le permita editar los parámetros del sistema.
waddlesplash introdujo un cambio en el comportamiento de BScrollView para obtener resultados más consistentes cuando se usan vistas de diseño en combinación con BScrollView.
PulkoMandy realizó una variedad de cambios en el traductor de PPM para admitir más tipos de imágenes y mejorar el rendimiento de carga.
waddlesplash reelaboró ​​cómo se manejan los inicializadores estáticos en runtime_loader y libroot, que deberían solucionar una serie de problemas con las aplicaciones portadas.

Servidores

Stephan refactorizó y app_server fuente de subpíxeles en app_server . Ahora dibuja los glifos correctamente, en lugar de provocar solapamientos u otros errores de representación. Después de algunas pruebas y ajustes de las fuentes predeterminadas nuevamente (ahora usamos "Noto Sans Display" en lugar de "Noto Sans"), ahora habilitamos la representación de fuentes subpíxel de forma predeterminada (¡por fin!).
Las preferencias de la Screen ahora distinguirán correctamente entre los dispositivos VESA y Framebuffer(anteriormente diría que VESA no importa cuál esté realmente activo).
Arregló al registrar para que vigilara las eliminaciones del equipo en lugar de revisarlas una vez por segundo, lo que debería permitir que la CPU permanezca inactiva con mayor frecuencia, lo que mejora la vida útil de la batería.

Conductores

waddlesplash pasó una semana completa realizando una importante revisión de la capa de compatibilidad de FreeBSD para portar iflib , el nuevo subsistema de controladores de Ethernet de FreeBSD. (El controlador ipro1000 de FreeBSD 12 lo usa ahora, por lo que tuvo que hacerlo antes o después). Como efecto secundario de este trabajo, el sondeo y conexión de dispositivos PCI para todos los controladores portados por FreeBSD es significativamente más rápido y menos propenso a errores ( esto probablemente se recortó (medio segundo, y quizás incluso más, fuera del tiempo de arranque en todas las máquinas), y allana el camino para la eventual compatibilidad con USB.
Después de revisar la propia capa de compatibilidad, waddlesplash terminó de migrar Ethernet y luego los controladores de WiFi de FreeBSD 12. Gracias al refactor, reescribió el código de inicialización en la capa de WiFi durante este esfuerzo, lo que parece haber resultado en todas las "desconexiones espontáneas de WiFi" o Boletos de "no se muestran redes" probados hasta ahora para ser reportados como fijos! Por lo tanto, si estaba experimentando esos errores y no lo ha vuelto a probar, hágalo.
La mayoría de los controladores de WiFi actualizados son solo mejoras incrementales, pero algunos (por ejemplo,realtekwifi ) que antes eran muy inestables, ahora funcionan muy bien.
waddlesplash corrigió algunos errores molestos en el controlador XHCI (USB3) que podrían causar que fallara la inicialización o causara pánicos en el núcleo al iniciarse. Todavía no funciona correctamente en varios dispositivos, pero al menos debería imprimir los mensajes de error adecuados en lugar de bloquear el núcleo en estos casos. (Los pánicos del kernel durante el uso aún permanecen, aunque algunos de estos también fueron arreglados).

Núcleo

waddlesplash corrigió los menús del cargador de arranque EFI para manejar adecuadamente la Esc(anteriormente, la ignoró). Ahora puede navegar por los menús de la misma manera que el cargador de BIOS.
Después del refactor del controlador de FreeBSD, waddlesplash hizo algunas mejoras a varios comandos KDL, en su mayoría relacionados con subprocesos, y agregó algunas más comprobaciones de seguridad en las funciones de cambio de contexto para facilitar el desarrollo del controlador.
waddlesplash hizo un importante refactor del código de manejo de la estructura de la hebra del kernel, haciendo que use un bloqueo basado en R / W en lugar de un simple spinlock, lo que da como resultado un aumento del rendimiento del 10% incluso en sistemas de doble núcleo con un bajo número de hilos (en En los sistemas con más núcleos y más hilos, este número probablemente será mucho más alto. También agregó una gran cantidad de controles de permisos faltantes.
Después de habilitar algunas advertencias más, waddlesplash corrigió algunos TODO de larga data en el cargador de arranque y el kernel para obedecer algunas de las configuraciones del kernel relacionadas con ELF, y luego en el cargador de arranque para no escanear particiones dos veces innecesariamente.
leorize contribuyó con un parche para verificar si las rutas de los archivos que se pasaron al kernel eran demasiado largas para ajustarse a los límites de nombre de ruta de Haiku y devolver un error de manera apropiada.

Sistema de construcción

Ahora usamos xorriso lugar de genisoimage o mkisofs para generar imágenes ISO. Esta herramienta está tan disponible como cdrtools , y tiene la ventaja significativa de que las extensiones relacionadas con EFI (que utilizamos para construir el cargador de EFI) siempre están disponibles, mientras que cdrtools en algunas distribuciones de Linux no las admite.
Ahora que el sistema de compilación funciona casi exclusivamente en rutas relativas en lugar de absolutas, era casi posible construir una ruta con espacios en ella. waddlesplash realizó una serie de cambios que hacen que esto funcione, aunque todavía hay algunos problemas que aún no se han resuelto.

Hora de Libertad

Post a Comment

Previous Post Next Post