Informe de actividad mensual de Haiku - 02/2019

Traduccion:

 https://www.haiku-os.org/blog/pulkomandy/2019-03-02_haiku_monthly_activity_report_february_2019/

 


Publicación del blog de PulkoMandy el sábado, 2019-03-02 10:52
Bienvenido al informe de actividades de febrero de 2019. Este mes ha estado bastante ocupado para mí con la visita anual a FOSDEM ( lea el informe ), y administrando el proceso de solicitud para GSoC y Outreachy (Haiku ha sido aceptado en ambos programas este año) .
Ya estamos viendo candidatos que se aplican tanto a GSoC como a Outreachy, ¡así que espere leer sobre los nuevos nombres en los informes en los próximos meses y durante el verano!
De todos modos, ¡veamos qué pasó con el código fuente mientras estaba ocupado con esto! Este informe cubre hrev52828-hrev52944.

Kit de medios

CodeForEvolution implementó BSound :: Duración.
Barrett continúa su trabajo para mejorar el kit de medios, con varias tareas de limpieza y trabajo inicial en el soporte para la reproducción de DVD, así como mejoras en los transmisores HTTP y RTSP existentes.

Cargador ELF

Waddlesplash completó el trabajo sobre el soporte para el nuevo formato de tablas de inicialización en archivos ELF. Estas tablas son generadas por el compilador y le permiten al sistema operativo saber qué debe inicializarse antes de poder llamar a la función main (). Los más básicos son simplemente borrar la memoria a 0, pero a veces, una variable global se establece en un valor específico, o se crea un objeto C ++ global o estático, por ejemplo.
Hay varias formas para que el compilador las enumere, y mezclarlas es un poco complicado, ya que necesitamos algunas inicializaciones después de otras.
Esto llevó a cambios en el runtime_loader, pero finalmente llevó a más limpiezas en otros lugares, ya que el código de soporte para esto también se usó en otro código no relacionado (para identificar el archivo objeto en el que se compiló un código y ubicar los recursos coincidentes, por ejemplo) .

Interfaz de usuario

Rob Gill arregló el replicante de la barra de escritorio "autorizada", una pequeña aplicación auxiliar que permite elevar las ventanas al frente automáticamente cuando se usa el enfoque.
También fijó el tamaño del icono para el replicante ProcessController.
Waddlesplash mejoró la interacción entre las barras de desplazamiento y el sistema de diseño, permitiendo que las vistas especifiquen si saben cómo manejar el desplazamiento en sí mismos, en caso de que el comportamiento predeterminado del desplazamiento de 1 píxel a la vez en un rango fijo no sea apropiado.
PulkoMandy corrigió el dibujo de los mapas de bits B_GRAY1 (monocromos), como parte de su esfuerzo por implementar un controlador para las antiguas impresoras Apple StyleWriter que funcionan con dichos mapas de bits.
Zach Dykstra corrigió el cuadro de diálogo de información del archivo en el Rastreador, que tenía texto truncado.

Limpieza de código

mt comenzó su trabajo de limpieza, revisando los problemas del análisis de estudio de PVS que ejecutamos hace unos años y solucionando algunos de los problemas encontrados allí. También está trabajando en la limpieza de todas las advertencias de 'clase-memaccess', donde usamos memset en objetos C ++.
Rob Gill se unió al esfuerzo y también identificó y solucionó otros pequeños problemas en varias partes del código base.
Algunos problemas de Coverity fueron arreglados por puckipedia, también.
PulkoMandy hizo que WebPositive abortara limpiamente con un mensaje de error si SSE2 no está disponible. Desafortunadamente, las versiones actuales de WebKit realmente no pueden ejecutarse sin SSE2. Nuestros usuarios que todavía ejecutan CPUs antiguas pueden usar NetSurf u otros navegadores web alternativos.
Waddlesplash trabajó para eliminar algunas de las implementaciones de tablas hash múltiples que hemos acumulado a lo largo de los años (algunas son derivadas de otras).
Gracias a jscipione, el reproductor MIDI no se bloqueará cuando sueltes un archivo mientras se está reproduciendo.

Almacenamiento y sistemas de archivos.

El código de cambio de tamaño de BFS desarrollado durante GSoC 2012 finalmente está recibiendo algo de atención, con algunos compromisos de limpieza que se fusionarán este mes. Aún no resulta en nada utilizable, pero al menos el código está listo para su revisión en Gerrit ahora.
También se está trabajando en el código más reciente para los controladores SD / MMC de GSoC 2018, se solucionó el problema que quedaba pendiente al final de GSoC, lo que permitió al controlador de bus trabajar e identificar las tarjetas SD, ahora el trabajo en el real El controlador de almacenamiento masivo permanece.
korli solucionó los problemas en el controlador exfat que podrían provocar fallos en unidades grandes (2TB o más). Todavía hay algunos problemas, pero al menos no desbaratará todo el sistema.
Como parte de las limpiezas de códigos mencionadas anteriormente, btrfs, bfs y ext2 obtuvieron algunas correcciones para evitar bloqueos en situaciones inesperadas.
Fabiano Fidêncio modificó nuestros scripts de compilación para asegurarnos de que nuestras imágenes ISO tengan un identificador de volumen ISO útil, lo que les permite ser identificados por GNOME y otras herramientas de Linux.

Compatibilidad POSIX

korli mejoró la implementación de la función posix_spawn, que es una adición relativamente reciente a POSIX para solucionar los problemas de rendimiento con la forma tradicional de iniciar una nueva aplicación (fork () y luego exec ()). La forma tradicional es copiar la aplicación actual y luego reemplazarla con la que se va a ejecutar. No es tan bueno copiar algo y borrarlo inmediatamente después. Tenga en cuenta que BeOS ya tenía una solución similar a posix_spawn, que también implementamos, pero posix_spawn es una función más flexible, que permite controlar varios aspectos (ID de sesión, herencia de descriptores de archivos, etc.).

Aplicaciones y herramientas

SerialConnect ahora tiene un scrollback más grande, que permite, por ejemplo, ver la salida completa de los registros seriales de Haiku en otra máquina.
Rob Gill también realizó varias correcciones pequeñas, como evitar que BootManager ofrezca la instalación a unidades de solo lectura, hacer que las preferencias de la impresora se cierren con el método abreviado alt + W habitual, etc.
WebPositive también recibió atención, con una opción para restaurar la sesión anterior al abrirla y una forma de seleccionar la carpeta de descarga utilizando un Panel de control de archivos. Gracias a Rob Gill, humdinger y por trabajar juntos en esto!
Yatendra Singh hizo posible el inicio automático de LaunchBox en el arranque.

Bootstrap y nuevos puertos

kallisti5 y PulkoMandy han estado trabajando en bootstrapping Haiku en hardware RISC-V y SPARC, respectivamente. Estos puertos se iniciaron porque el puerto ARM actualmente tiene problemas para vincular la UCI, y queríamos comprobar si encontraríamos problemas similares en otras arquitecturas.
La elección de estos dos se realizó por varios motivos, incluida la disponibilidad de hardware (alguien me donó una máquina SPARC), la disponibilidad de especificaciones (ambas están especificadas por entidades abiertas, independientes y tienen varios fabricantes que las implementan), soporte de herramientas (ambos se han mantenido bien) apoyo en GCC), e intereses personales de las personas que hacen el trabajo.
Los dos nuevos puertos aún no están en un estado utilizable, pero permiten revisar una vez más todo el procedimiento de arranque e identificar (o idealmente, solucionar) cualquier problema que se presente en el camino.

Soporte USB

Waddlesplash realizó varios cambios en el controlador USB3, para solucionar varios problemas en un amplio conjunto de hardware. El controlador ahora es mucho más estable y compatible, sin embargo, también se han detectado algunas regresiones. Le recomendamos que pruebe la compatibilidad con USB3 en los nightlies de vez en cuando y que informe de errores si encuentra algún problema.

Controladores de video

kallisti5 corrigió una falla en el controlador VESA cuando no hay una tarjeta de video. Esto permite arrancar Haiku un poco más en los nodos de Google Compute. Sin embargo, el app_server a su vez no está tan contento de no encontrar un controlador de video cargado.
mmu_man hizo que el controlador VESA también deshabilitara la escala de pantalla en el hardware de NVidia, de modo que la pantalla usará el tamaño de píxel nativo y tenga bordes negros alrededor, en lugar de usar una escala desagradable y desagradable.
Hora de Libertad

Post a Comment

Previous Post Next Post