Optimiza tu GNU/Linux: Paquetes Debian para desarrollar apps

Optimiza tu GNU/Linux: Paquetes Debian para desarrollar apps

Optimiza tu GNU/Linux: Paquetes Debian para desarrollar apps

Entre el lanzamiento de Debian 10 (Buster), hace más de 3 años (07/2019), y el de Debian 11 (Bullseye), hace poco más de 1 año (08/21), publicamos nuestra habitual serie de post sobre “Convierte tu Distro GNU/Linux para …”. Siendo uno de ellos, 2 de ellos, uno llamado “Convierte tu GNU/Linux en una Distro apta para el Desarrollo de Software”, y el otro, “Paquetes para el soporte de Desarrollo de Software sobre DEBIAN 10”. Y en ambos, aportamos geniales sugerencias y recomendaciones de paquetes de software a instalar para dicho ámbito TI.

Sin embargo, en la actualidad, debido a que me encuentro desarrollando una pequeña e interesante app para GNU/Linux, llamada Linux Post Install – Script de Optimización Avanzada (LPI-SOA); me he dado cuenta de que, existen otros geniales paquetes Debian a incluir en todo este ámbito TI. Paquetes que se refieren más a, cuando desarrollamos “paquetes .deb y aplicaciones nativas” sencillas, por ejemplo, usando lenguajes de scripting como Bash Shell o Python. Por lo tanto, hoy les comparto un interesante y útil listado de «paquetes de Debian para desarrollar apps».

Paquetes para el soporte de Desarrollo de Software sobre DEBIAN 10

Paquetes para el soporte de Desarrollo de Software sobre DEBIAN 10

Y, antes de iniciar la lectura de este post sobre los necesarios «paquetes de Debian para desarrollar apps», dejaremos unos enlaces a anteriores publicaciones relacionadas para su posterior lectura:

Recomendaciones de paquetes Debian para desarrollar apps

Recomendaciones de paquetes Debian para desarrollar apps

Listados de paquetes Debian para desarrollar apps

Paquetes Debian necesarios para el desarrollo de apps

La siguiente orden de comando contiene el listado de aquellos paquetes que se consideran mínimamente necesarios para desarrollar y compilar, desde cero y por completo, cualquier clase de paquete, aplicación y programa, básico y nativo, sobre Debian GNU/Linux:

apt install autoconf automake autotools-dev build-essential dh-make debhelper debmake devscripts dpkg fakeroot file gfortran git gnupg fp-compiler lintian patch pbuilder perl python quilt xutils-dev

Téngase en cuenta qué, como ya es habitual, muchos de estos paquetes imprescindibles para el desarrollo poseen dependencias, que harán que al instalarse también se instalen otros paquetes requeridos, consiguiendo así una configuración mínima, pero suficiente para la construcción de paquetes.

Por ejemplo, el paquete build-essential es:

Un paquete que contiene una lista informativa de los paquetes considerados esenciales para la creación de paquetes Debian. Este paquete también depende de los paquetes que se encuentran en esa lista, para facilitar la tarea de tener instalados los paquetes de build-essential.

Mientras que, los autoconf, automake y autotools-dev son paquetes que sirven como ayuda (soporte de procesamiento y documentación) para otros programas nuevos, que utilizan ficheros de configuración y ficheros Makefile. Y los paquetes dh-make y debhelper son necesarios para construir el esqueleto de los paquetes y poder emplear algunas herramientas para construir los paquetes.

Para mayor información sobre este punto, se puede explorar el siguiente enlace.

Paquetes Debian necesarios para interfaces gráficas de usuario

La siguiente orden de comando contiene el listado de aquellos paquetes que se consideran mínimamente necesarios para desarrollar, desde cero y por completo, cualquier interfaz gráfica de usuario, tanto para terminales (CLI) como para el Escritorio (GUI), sobre Debian GNU/Linux:

apt install dialog gtkdialog kdialog libnotify-bin gxmessage yad zenity 

Paquetes Debian necesarios para agregar soporte multimedia

La siguiente orden de comando contiene el listado de aquellos paquetes que se consideran mínimamente necesarios para añadir el soporte multimedia necesario, para que una aplicación pueda generar o reproducir de forma agradable y eficiente, archivos multimedia (archivos MP3, archivos GIF, JPG y PNG) y sonidos de voz; tanto sobre terminales (CLI) como para el Escritorio (GUI), sobre Debian GNU/Linux:

apt install espeak espeak-ng speech-dispatcher speech-dispatcher-espeak speech-dispatcher-espeak-ng festvox-ellpc11k festvox-en1 festvox-kallpc16k festvox-kdlpc16k festvox-us1 festvox-us2 festvox-us3 festival festival-freebsoft-utils mbrola mbrola-en1 mbrola-es1 mbrola-es2 mbrola-es3 mbrola-es4 mbrola-us1 mbrola-us2 mbrola-us3 mbrola-vz1 mpg123

Resumen: Banner post 2021

Resumen

En resumen, seguramente, muchos otros usuarios avanzados, y sobre todo, desarrolladores de software y programadores de sistemas, tendrán otras geniales sugerencias o recomendaciones en cuanto a, que «paquetes de Debian para desarrollar apps» son necesarios para realizar aplicaciones, programas y sistemas sobre nuestras Distros GNU/Linux. Así que, si alguno conoce o tiene alguna útil sugerencia, recomendación o corrección a lo aquí aportado, bienvenido es a hacerlo a través de los comentarios.

Y sí, simplemente te ha gustado esta publicación, no dejes de comentarla y de compartirla con otros. Además, recuerda visitar nuestra «página de inicio» para explorar más noticias, además de unirte a nuestro canal oficial de Telegram de DesdeLinux, o este grupo para más información sobre el tema de hoy.



from Desde Linux https://ift.tt/ysxbHqL
via IFTTT

OpenBSD 7.2 llega con soporte para Apple M2

OpenBSD 7.2

OpenBSD produce un sistema operativo completo, libre, multiplataforma de tipo Unix basado en BSD.

Se dio a conocer el lanzamiento de OpenBSD 7.2, versión en la cual se han realizado una gran cantidad de mejoras al sistema, de los cuales podemos destacar las mejoras al módulo drm, asi como el soporte para Apple M2, mejoras de soporte para procesadores Intel y más.

OpenBSD es conocido por sus componentes, que se han generalizado en otros sistemas y han demostrado ser una de las soluciones más seguras y de mayor calidad.

Principales novedades de OpenBSD 7.2

En esta nueva versión que se presenta de OpenBSD 7.2 se destaca el soporte mejorado para sistemas basados ​​en ARM, incluido soporte para chips Apple M2 y Ampere Altra ARM, asi como tambien soporte para Lenovo ThinkPad x13s y otros dispositivos basados ​​en SoC Qualcomm Snapdragon 8cx Gen 3 (SC8280XP).

Otro de los cambios que se destaca de esta nueva versión, es que se incluye un dispositivo kstat, que exporta estadísticas del kernel que se pueden ver con la utilidad kstat. Los sensores de frecuencia de la CPU se implementan para cada núcleo del procesador con compatibilidad con MPERF/APERF, cuando se ejecuta con batería, la escala de frecuencia de la CPU se habilita según la carga.

Se agregó compatibilidad con la hibernación inicial en los sistemas ARM64, ademas de que el límite en el número de CPU admitidas se ha aumentado a 256 y se ha implementado la capacidad de cambiar de una consola basada en framebuffer (consola de cristal) a una consola basada en puerto serie (consola serie).

Por otro lado, la implementación del marco drm (Direct Rendering Manager) está sincronizada con el kernel de Linux 5.15.69 (en la versión anterior, 5.15.26), se ha agregado compatibilidad con chips Intel basados ​​en microarquitecturas Alder Lake y Raptor Lake al controlador inteldrm, asi como compatibilidad implementada para framebuffers que no están alineados con el límite de la página de memoria (usado, por ejemplo, en MacBook Pro 2021 14 «y 16»).

Tambien se destaca que se han realizado mejoras en el hipervisor VMM, ademas de que se agregó soporte para controladores de espacio de usuario basados ​​en MMIO a vmd y se movió la emulación del puerto de E/S al espacio del usuario en vmm, estructuras e interfaces internas unificadas en vmd, vmctl y vmm.

De los demás cambios que se destacan de esta nueva versión:

  • La variable $rcexec en los scripts de inicialización rc.d se reemplazó con la función rc_exec.
  • Se agregó una nueva variable daemon_execdir para permitir cambiar el directorio antes de que se ejecute la función rc_exec.
  • Se agregó una nueva acción configtest a rc.d y rcctl para verificar la sintaxis de configuración.
  • Se ha implementado la posibilidad de ejecución paralela de operaciones tales como reensamblaje de paquetes IPv4 y redirección de paquetes IP.
  • Se ha agregado el bloqueo de socket mediante mutex a las funciones para procesar paquetes UDP e IP entrantes.
  • Las llamadas al sistema kbind y pignoración están libres de bloqueo.
  • Implementado bloqueo de sockets UNIX, actuando a nivel de sockets individuales.
  • Se agregó la capacidad de cargar kernel para ramdisk (bsd.rd) y kernel para sistemas multiproceso (bsd.mp) en entornos Oracle Cloud.
  • Se eliminó el código para detectar CPU 386sx/386dx, NexGen, Rise y procesadores Cyrix anteriores al chip Cyrix M2.
  • Soporte mejorado para sistemas multiprocesador (SMP).
  • Transferidas a la categoría mp-safe están las funciones de limitación de ancho de banda (límite de velocidad), búsqueda de registros ARP y temporizador de ruta.
  • Se incluye la utilidad ts, que suma a las líneas recibidas a través de la entrada estándar un tiempo que refleja el momento en que llegó cada línea.
  • Se agregó la opción «-f» a la utilidad ps para la agrupación de procesos en árbol, lo que refleja la relación entre los procesos principal y secundario.
  • La utilidad openrsync implementa la opción «–contimeout» para definir el tiempo de espera del establecimiento de la conexión.
  • La utilidad pkg_add tiene el almacenamiento en caché habilitado de manera predeterminada, el manejo de paquetes está optimizado y se muestra una barra de progreso durante la transferencia de datos.
  • Trabajo mejorado con tablas GPT y MBR en fdisk, advertencias agregadas para particiones MBR y GPT fuera de lugar.
  • La utilidad disklabel ha agregado soporte para la palabra clave raid en plantillas para colocar automáticamente particiones RAID.
  • Soporte descontinuado para editar información de geometría de disco.
  • Se eliminaron los atributos ‘bs’ (tamaño del bloque de arranque), ‘sb’ (tamaño del superbloque) y d[0-4] (datos del disco).
  • El directorio /usr/share/btrace contiene una selección de scripts de btrace útiles para el seguimiento dinámico y la inspección de aplicaciones.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.



from Desde Linux https://ift.tt/FyMDJrp
via IFTTT

Características de las retroexcavadoras

La retroexcavadora es un verdadero “híbrido” de tractor, cargadora y excavadora. El cuerpo principal parece un tractor, con un cucharón cargador típico en la parte delantera y una retroexcavadora en la parte trasera.

La retroexcavadora debe su versatilidad al amplio cubo y a su maniobrabilidad. Es el implemento principal de la máquina y viene en diseño de excavadora o de mandíbula. La primera está diseñada para ser utilizada como cuchilla frontal y cuchara de carga, mientras que la segunda, además de poder realizar estas dos funciones, también se utiliza como elevador, garra y rascador.

¿Cuándo se necesita una retroexcavadora?

La máquina universal se presenta a la venta en una gran variedad. Recoger y comprar un dispositivo no es difícil. El objeto principal de la retroexcavadora es el siguiente:

  • cavando en la tierra;
  • levantar cargas pesadas y su posterior transporte;
  • planificación de obras para proyectos de construcción;
  • limpieza del sitio;
  • excavación de trincheras.

El equipo también se utiliza para limpiar la tierra de troncos de árboles y arbustos, en el proceso de tendido de tuberías de alcantarillado o gas, con fines comerciales.

Las retroexcavadoras son muy demandadas en los servicios municipales debido a su maniobrabilidad, pequeño tamaño y versatilidad, son muy utilizadas en la construcción, algo menos en la agricultura, donde es más común la retroexcavadora pesada de un solo cubo. Los modelos en miniatura se utilizan en el hogar.

Las ventajas de manejar una retroexcavadora

Los parámetros técnicos de la retroexcavadora influyen directamente en su rendimiento y determinan las condiciones de trabajo para las que es más adecuada. Las principales características son:

  • método de control (palanca o palanca de mando);
  • potencia (promedio 40-90 kW);
  • tipo de tracción (completa, trasera o delantera);
  • número de equipos principales (de uno o varios cubos);
  • tipo de marco (rigido, articulado o mini);
  • equipo adicional (equipo de horquillas, pinzas, etc.).

La retroexcavadora es un excelente ejemplo de un sistema completo que no sólo ahorra dinero a las empresas de construcción u otras, sino que también ahorra mano de obra. Sus ventajas son la gran movilidad, la versatilidad y la facilidad de manejo.

Tipos

Puede encontrar modelos nuevos y usados en el mercado. La retroexcavadora tiene muchas clasificaciones. Pueden ir sobre ruedas o sobre orugas. Se diferencian en cuanto al modo de desplazamiento y la aplicación. El primero es ideal para conducir en terrenos relativamente homogéneos y densos, el segundo para trabajar en arenas movedizas y en zonas boscosas.

Para elegir la opción adecuada, vale la pena leer detalladamente los anuncios, examinar los distribuidores representados y leer las características de las marcas. Cada tipo es bueno a su manera y sirve para un propósito específico.

El cargo Características de las retroexcavadoras apareció primero en Tecnovedosos.



source https://tecnovedosos.com/caracteristicas-retroexcavadoras/

Llega Android 13 Go edition y ahora requiere de 2 GB de RAM y 16 GB en almacenamiento

android 13 go edition

Android 13 go edition presenta nuevas funciones que se adaptan a las necesidades de los usuarios

Google presentó la nueva versión de Android Go edition la cual llega sobre la base de Android 13, la versión Go edition está diseñada para instalarse en teléfonos inteligentes de bajo consumo. Android Go combina componentes optimizados del sistema Android con un conjunto reducido de aplicaciones de Google diseñadas para reducir el consumo de memoria, el espacio de almacenamiento persistente y el tráfico.

Android 13 Go edition requiere de un mimo de 2 GB de RAM y 16 GB en almacenamiento que a modo de comparación, Android 12 Go requería 1 GB de RAM, mientras que Android 10 Go 512 MB de RAM. Esto deja ver en claro que los requisitos para ejecutar Android Go han crecido significativamente en los últimos lanzamientos.

Para quienes aún no conocen Android Go, deben saber que este incluye versiones reducidas especiales del visor de video YouTube Go, el navegador Chrome, el administrador de archivos Files Go y el teclado en pantalla Gboard. La plataforma también implementa medios para ahorrar tráfico, por ejemplo, en Chrome, la transferencia de datos de las pestañas en segundo plano está limitada y las optimizaciones están habilitadas para reducir el consumo de tráfico.

Con un conjunto más pequeño de aplicaciones y programas más compactos, Android Go ha reducido aproximadamente a la mitad su uso de almacenamiento persistente y ha reducido en gran medida el tamaño de las actualizaciones descargadas. El catálogo de Google Play para dispositivos de bajo consumo ofrece principalmente aplicaciones diseñadas específicamente para dispositivos con poca memoria RAM.

Al preparar la nueva versión, se prestó la atención principal a la confiabilidad, la facilidad de uso y la capacidad de personalizar según sus preferencias.

¿Qué hay de nuevo en Android 13 Go edition?

En esta nueva versión de Android 13 Go edition se agregó soporte para instalar actualizaciones de Google Play para mantener el sistema actualizado. Anteriormente, los medios para instalar actualizaciones del sistema estaban limitados debido a los requisitos bastante altos de espacio libre en el almacenamiento necesario para implementar la actualización. Ahora, las correcciones críticas se pueden entregar a los usuarios rápidamente, sin esperar una nueva versión de la plataforma o un nuevo firmware del fabricante.

Se incluye la aplicación Discover, que proporciona recomendaciones con listas de artículos y contenidos seleccionados en función de las preferencias del usuario. La aplicación se activa deslizando la pantalla de inicio hacia la derecha.

La interfaz de usuario ha sido rediseñada de acuerdo con «Material You», promocionado como la próxima generación de Material Design. Se proporciona la posibilidad de cambio arbitrario del esquema de color y adaptación dinámica del esquema de color al esquema de color de la imagen de fondo.

Se ha trabajado para reducir el consumo de memoria de las aplicaciones en Google Apps Suite, reducir el tiempo de inicio, reducir el tamaño de las aplicaciones y proporcionar herramientas para optimizar sus aplicaciones. Las técnicas de optimización utilizadas incluyen:

  • Reducción del consumo de memoria: mediante la devolución más activa de la memoria no utilizada al sistema, utilizando mmap en lugar de malloc, ejecución equilibrada de procesos con uso intensivo de memoria en el nivel del programador de tareas, eliminación de fugas de memoria y mejora de la eficiencia del trabajo con mapas de bits.
  • Reducir el tiempo de inicio de los programas: eliminando la inicialización en las primeras etapas, moviendo tareas del subproceso con la interfaz al subproceso en segundo plano, minimizando las llamadas IPC síncronas en el subproceso con la interfaz, eliminando el análisis innecesario de XML y JSON, eliminando operaciones de disco y red.
  • Reducir el tamaño de los programas: mediante la eliminación de diseños de interfaz innecesarios, el cambio a métodos adaptativos de generación de interfaz, la eliminación de funcionalidades que consumen muchos recursos (animación, archivos GIF grandes, etc.), la combinación de archivos binarios con dependencias comunes destacadas, la eliminación de código no utilizado, la reducción de datos de cadena (eliminación de líneas internas, URL y otras líneas adicionales de los archivos de traducción), limpieza de recursos alternativos y uso del formato Android App Bundle.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.



from Desde Linux https://ift.tt/c2tTajO
via IFTTT

Tal y como se esperaba Copilot ya está generando código protegido por derechos de autor

GitHub-Copilot

GitHub Copilot es un asistente de programación basado en IA, disponible como una extensión en Visual Studio Code, Visual Studio, Neovim y el conjunto de IDE JetBrain

No hace mucho se dio a conocer y sobre todo compartimos aquí en el blog el lanzamiento general de GitHub Copilot, el cual es un asistente de programación basado en IA que ofrece sugerencias similares a las de autocompletar mientras codificas.

Lo que hace interesante a Copilot, es que este puede dar sugerencias al usuario una vez comience a escribir el código que desea usar o escribiendo un comentario en lenguaje natural que describa lo que desea que haga el código. GitHub Copilot analiza el contexto del archivo que está editando, así como los archivos relacionados, y ofrece sugerencias de su editor de texto.

GitHub Copilot está optimizado para Python, JavaScript, TypeScript, Ruby, Go, C# o C++. También es posible utilizar GitHub Copilot para generar sugerencias en otros lenguajes y una gran variedad de frameworks. GitHub Copilot funciona con OpenAI Codex, un nuevo sistema de IA creado por OpenAI.

Desde la perspectiva del cómo nos «venden» Copilot, es bastante «maravilloso» aunque el modelo detrás del entrañamiento está basado en el análisis de millones de líneas de código de los repositorios de GitHub, lo cual desde un inicio alarmo a muchos y sobre todo llevo a un punto en general de todos sus críticos y es que en algún momento generaría problemas por «código protegido por derechos de autor».

Y bien tal parece que esta «predicción» no tardo mucho en volverse realidad, pues hace poco el desarrollador Tim Davis, profesor de informática e ingeniería en la Universidad de Texas A&M, afirmó en Twitter que GitHub Copilot:

«emite grandes fragmentos de mi código protegidos por derechos de autor, sin atribución, sin licencia LGPC».

Ante tal comentario Alex Graveley, ingeniero principal de GitHub e inventor de Copilot, respondió que

“el código en cuestión es diferente al ejemplo dado. Similares, pero diferentes”. Dicho esto, agregó: “Realmente es un problema difícil. Las soluciones escalables son bienvenidas. »

El código que publicó Davis y el generado por Copilot en realidad se parecen mucho. El desarrollador Tim Davis publicó esta imagen en Twitter, mostrando su comentario en Visual Studio Code, su código original de otro proyecto a continuación y la sugerencia de Copilot a la derecha.

Es importante tener en cuenta que el código original en cuestión es de código abierto y se puede encontrar en GitHub bajo la licencia LGPL 2.1. Sin embargo, código abierto no significa libre de derechos de autor, y existen muchas licencias de código abierto diferentes, cada una de las cuales otorga permisos diferentes.

Otra preocupación es que los desarrolladores pueden combinar sin darse cuenta código con licencias incompatibles en el mismo proyecto. Copilot anticipa este problema hasta cierto punto. Hay un filtro de código público descrito aquí que afirma

«detectar sugerencias de código que coinciden con el código público en GitHub… cuando el filtro está habilitado, GitHub Copilot verifica las sugerencias de código con el código circundante de aproximadamente 150 caracteres con el código público en GitHub . Si hay una coincidencia o casi coincidencia, no se le mostrará la sugerencia”.

Sin embargo, Davis aclara que “cuando me registré, desactivé la opción ‘Permitir que Github use mi código…’.  Parte del problema es que, por diseño, es probable que el código fuente abierto aparezca en múltiples proyectos de diferentes personas, por lo que terminará varias veces en GitHub y entre múltiples usuarios de Copilot. Con o sin Copilot, los desarrolladores pueden hacer un mal uso del código protegido por derechos de autor.

Sobre el tema, en Copilot se menciona que «es responsabilidad del programador garantizar la seguridad y la calidad de su código. Se recomienda que tome las mismas precauciones cuando use el código generado por Copilot cuando use el código escrito por otra persona«.Estas precauciones incluyen pruebas rigurosas, escaneo de IP y seguimiento de vulnerabilidades de seguridad.

GitHub proporciona una serie de funciones para ayudar a monitorear y mejorar la calidad del código, como GitHub Actions, Dependabot, CodeQL y análisis de código. Todas estas funciones son gratuitas y se pueden usar en repositorios públicos.

GitHub Copilot usa filtros para bloquear palabras ofensivas en las indicaciones.

«Estamos comprometidos a mejorar constantemente el sistema de filtro para detectar y eliminar de manera más inteligente las sugerencias ofensivas generadas por GitHub Copilot, incluidas las salidas sesgadas, discriminatorias o abusivas», escribe GitHub.

Finalmente, la pregunta aquí que muchos tienen es, ¿Hasta qué punto es bueno el uso de Copilot?



from Desde Linux https://ift.tt/QzSNtgu
via IFTTT

libcamera, biblioteca de soporte de cámara para Linux, Android y ChromeOS

libcamera

libcamera es una pila de cámara de código abierto

Después de cuatro años de desarrollo, se dio a conocer la primera versión del proyecto libcamera (0.0.1), que ofrece una pila de software para trabajar con videocámaras, cámaras y sintonizadores de TV en Linux, Android y ChromeOS, que continúa el desarrollo de la API V4L2 y eventualmente lo reemplazará.

Dado que la API de la biblioteca todavía está cambiando y no está completamente estabilizada, hasta ahora el proyecto se ha desarrollado sin bifurcar versiones individuales utilizando un modelo de desarrollo continuo.

En respuesta a la necesidad de que las distribuciones realicen un seguimiento de los cambios de la API que afectan la compatibilidad y para facilitar el envío de la biblioteca en paquetes, ahora se ha decidido generar versiones periódicas que reflejen la medida en que la ABI y la API han cambiado.

Sobre libcamera

El proyecto está siendo desarrollado por desarrolladores de subsistemas multimedia del kernel de Linux junto con algunos fabricantes de cámaras para normalizar el soporte de Linux para cámaras para teléfonos inteligentes y dispositivos integrados que están vinculados a controladores propietarios.

La API V4L2 que ya está disponible en el kernel de Linux se creó una vez para funcionar con cámaras web independientes tradicionales y no se adapta bien a la tendencia reciente de trasladar la funcionalidad de MCU a la CPU.

A diferencia de las cámaras tradicionales, en las que las operaciones de procesamiento de imágenes primarias se llevan a cabo en el procesador de propósito especial (MCU) integrado en la cámara, en dispositivos integrados, para reducir costos, estas funciones se colocan sobre los hombros de la CPU principal y requieren un controlador sofisticado que incluye componentes con licencia que no se pueden abrir.

En el marco del proyecto libcamera, los defensores del software libre y los fabricantes de hardware intentaron crear una solución de compromiso que, por un lado, satisfaga las necesidades de los desarrolladores de código abierto y, por otro lado, permita proteger la propiedad intelectual de los fabricantes de cámaras.

La pila que ofrece la biblioteca libcamera se implementa completamente en el espacio del usuario. Para garantizar la compatibilidad con los entornos de programación y las aplicaciones existentes, se proporcionan capas para la compatibilidad con la API V4L, Gstreamer y Android Camera HAL.

Los componentes de interacción de hardware patentados específicos de la cámara se empaquetan como módulos que se ejecutan en procesos separados e interactúan con la biblioteca a través de IPC. Los módulos no tienen acceso directo al dispositivo y acceden al equipo a través de una API intermedia, a través de la cual se revisan, filtran y limitan las solicitudes para acceder a la funcionalidad necesaria para controlar la cámara.

La biblioteca también brinda acceso a algoritmos para procesar y mejorar la calidad de imágenes y videos (corrección de balance de blancos, eliminación de ruido, estabilización de video, enfoque automático, selección de exposición, etc.), que se pueden conectar como bibliotecas externas abiertas o módulos aislados propietarios.

La API brinda acceso a funciones tales como determinar la funcionalidad de las cámaras externas e integradas existentes, usar perfiles de dispositivos, manejar eventos de conexión y desconexión de cámaras, administrar la captura de datos de la cámara a nivel de cuadro individual y sincronizar imágenes con la operación del flash. Es posible trabajar por separado con varias cámaras en el sistema y organizar la captura de varias secuencias de video de una cámara al mismo tiempo (por ejemplo, una con baja resolución para una videoconferencia,

Este lanzamiento de parche inicia los procedimientos de lanzamiento del paquete para el proyecto. Los lanzamientos iniciales incluirán un aumento en el número de versión del parche (0.0.x), así como el incremento correspondiente en el nombre del son.

Finalmente para quienes estén interesados en poder conocer más al respecto, deben saber que el código del proyecto está escrito en C++ y se distribuye bajo la licencia LGPLv2.1. El código del proyecto, asi como las instrucciones para realizar la compilación de la biblioteca para trabajar con ella, las pueden consultar en el siguiente enlace.



from Desde Linux https://ift.tt/PnZ9CYy
via IFTTT

Open 3D Engine 22.10 llega con mejoras que facilita la incorporación y colaboración

O3DE 22.10

O3DE facilita a los desarrolladores, artistas y creadores de contenido de todo el mundo crear experiencias 3D increíbles.

Hace poco la organización sin fines de lucro Open 3D Foundation (O3DF) ha anunciado el lanzamiento de «Open 3D Engine 22.10» (O3DE), la cual trae una gran cantidad de mejoras de rendimiento, estabilidad y usabilidad.

Para quienes desconocen de Open 3D Engine, deben saber que esté un motor de juegos 3D de código abierto adecuado para el desarrollo de juegos modernos de clase AAA y simuladores de alta fidelidad que pueden funcionar en tiempo real y proporcionar calidad cinematográfica.

Amazon libero el código fuente del motor O3DE en julio de 2021 y se basa en el motor patentado de Amazon Lumberyard desarrollado anteriormente y basado en tecnologías de motor CryEngine con licencia de Crytek en 2015.

Tras la liberación del proyecto, el desarrollo del motor está supervisado por la organización sin ánimo de lucro Open 3D Foundation, creada bajo los auspicios de la Fundación Linux.Además de Amazon, empresas como Epic Games, Adobe, Huawei, Microsoft, Intel y Niantic se unió al trabajo conjunto en el proyecto.

El motor incluye un entorno integrado para el desarrollo de juegos, un sistema de renderizado fotorrealista Atom Renderer de subprocesos múltiples compatible con Vulkan, Metal y DirectX 12, un editor de modelos 3D extensible, un sistema de animación de personajes (Emotion FX), un sistema de desarrollo prefabricado, un motor de simulación de procesos físicos en tiempo real y bibliotecas matemáticas utilizando instrucciones SIMD. El entorno de programación visual (Script Canvas), así como los lenguajes Lua y Python, se pueden utilizar para definir la lógica del juego.

El proyecto fue diseñado originalmente para adaptarse a sus necesidades y tiene una arquitectura modular. En total, se ofrecen más de 30 módulos, suministrados como bibliotecas separadas, aptos para reemplazo, integración en proyectos de terceros y uso por separado. Por ejemplo, gracias a la modularidad, los desarrolladores pueden reemplazar el renderizador de gráficos, el sistema de sonido, el soporte de idiomas, la pila de red, el motor de física y cualquier otro componente.

Principales novedades de Open 3D Engine 22.10

En esta nueva versión que se presenta del motor se destaca que se proponen nuevas funciones para simplificar la participación de nuevos participantes en el trabajo y la interacción entre los miembros del equipo de desarrollo.

Otro de los cambios que se destaca de esta nueva versión, es que se añadió el soporte para proyectos externos para descargar y compartir proyectos por URL, plantillas para simplificar la creación de proyectos estándar, caché de red de recursos para compartir el acceso a los recursos procesados, asi como asistentes para crear rápidamente extensiones.

Ademas de ello tambien se destaca que se agregó soporte integrado para extraer el movimiento raíz (Root Motion, movimiento de personajes basado en la animación del hueso raíz del esqueleto), asi como tambien que se mejoró el proceso de importación de animación, tambien las opciones de interfaz mejoradas para navegar a través de los recursos y que se agregó soporte para recarga en caliente de recursos.

De los demás cambios que se estacan de esta nueva versión:

  • Se agregó soporte para escalar a áreas de 16 por 16 kilómetros.
  • Herramientas mejoradas para crear juegos multijugador.
  • Se proporcionan funciones preparadas para establecer una conexión entre el servidor y el cliente, depurar y crear redes.
  • Procesos simplificados para agregar animación.
  • Usabilidad mejorada del puerto de visualización (Viewport), selección mejorada de elementos y edición de prefabricados (prefabs).
  • El sistema de construcción del terreno se ha movido de la categoría de características experimentales al estado de preparación preliminar (vista previa).
  • Rendimiento de renderizado y edición de paisajes significativamente mejorado.
  • Se han implementado nuevas funciones de representación, como adiciones de generación de cielo y estrellas.

Finalmente para los que estén interesados, deben saber que el código está escrito en C++ y publicado bajo la licencia Apache 2.0, ademas de que ya se cuenta con el soporte para las plataformas Linux, Windows, macOS, iOS y Android.

Puedes consultar más al respecto en el siguiente enlace.



from Desde Linux https://ift.tt/meZhLwg
via IFTTT