La implementación OpenCL de Mesa escrita en rust ya supero las pruebas CTS

La nueva implementación de OpenCL (rusticl) desarrollada para el proyecto Mesa, escrita en Rust, ha superado con éxito las pruebas CTS (Kronos Conformance Test Suite) utilizadas por el consorcio Khronos para evaluar la compatibilidad con las especificaciones de OpenCL 3.0.

Para quienes desconocen de»Rusticl» deben saber que este se ha publicado como una nueva implementación de Mesa OpenCL escrita en el lenguaje de programación Rust.

Rusticl fue iniciado por el conocido colaborador de Mesa Karol Herbst de Red Hat quien comenzó como ingeniero del controlador de código abierto»Nouveau» de NVIDIA mientras estaba en Red Hat, y trabajó en el soporte informático Clover de Mesa y otros esfuerzos. Rusticl es un intento de Herbst de aprender el lenguaje de programación Rust y también de proporcionar una nueva (y con suerte superior) implementación de OpenCL.

Rusticl es mucho más moderno enfocado en OpenCL en comparación con el antiguo código Clover y es notable, sin embargo, es que Rusticl en este momento todavía no tiene soporte de imagen OpenCL que ha sido otro problema con Clover.

Rusticl confía en clc para compilar el código fuente de OpenCL en SPIR-V. Rusticl también depende de los controladores Mesa Gallium3D compatibles con NIR, pero todos los controladores principales ya lo hacen. Cabe señalar que Carol se puso en contacto con Khronos para obtener la certificación oficial de compatibilidad con OpenCL 3.0 en rusticl.

Y ahora, rusticl ha pasado con éxito las pruebas Kronos Conformance Test Suite para evaluar la compatibilidad con las especificaciones de OpenCL 3.0, asi lo anuncio en Twitter neil trevett:

Khronos se enorgullece de haber renunciado a todas las tarifas de adopción de MESA a lo largo de los años, y muchas implementaciones de MESA son oficialmente conformes. ¡Genial que OpenCL 3.0 de MESA esté pasando CTS! Infórmenos cuando MESA esté listo para ejecutar el Acuerdo de adopción de OCL 3.0 y podamos iniciar el proceso…

Las pruebas se realizaron en un sistema con GPU Intel de 12.ª generación (Alder Lake), con el cual el trabajo se realizó con el controlador Iris Mesa, pero se menciona que el proyecto debería funcionar con otros controladores Mesa que usen la representación intermedia (IR) sin tipo de los sombreadores NIR.

Rusticl actúa como una contraparte de la interfaz OpenCL Clover de Mesa y también se desarrolla utilizando la interfaz Gallium de Mesa. Clover lleva mucho tiempo en estado de abandono y rusticl se posiciona como su futuro reemplazo. Además de lograr la compatibilidad con OpenCL 3.0, el proyecto Rusticl se diferencia de Clover en que admite extensiones OpenCL para el procesamiento de imágenes , pero aún no admite el formato FP16.

Rusticl usa rust-bindgen para generar enlaces para Mesa y OpenCL que permiten llamar a las funciones de Rust desde el código C y viceversa.

La posibilidad de usar el lenguaje Rust en el proyecto Mesa se discute desde 2020. Entre las ventajas del soporte de Rust mencionan mejorar la seguridad y calidad de los drivers al eliminar problemas típicos cuando se trabaja con memoria, así como la posibilidad de incluir desarrollos de terceros en Mesa, como Kazan (una implementación de Vulkan en Óxido).

Entre las deficiencias, hay una complicación del sistema de compilación, la falta de voluntad para vincularse al sistema de paquetes de carga, un aumento en los requisitos para el entorno de compilación y la necesidad de incluir el compilador Rust en las dependencias de compilación que se requieren para construir componentes de escritorio clave en Linux.

Finalmente, se menciona que la solicitud para fusionar Rusticl con Mesa aún está pendiente y aún no se ha tomado una decisión sobre la inclusión del código de idioma Rust en Mesa, pero se espera que llegue en la versión de Mesa 22.2

Es por ello que antes de que Rusticl sea aceptado en la composición principal de Mesa, se puede usar una rama separada para construir, al compilar, debe especificar los parámetros de compilación «-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm =true».

Si estás interesado en poder conocer más al respecto sobre esta nueva especificación, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/jQUmMzD
via IFTTT

Shortwave 3.0 llega con retoques en la interfaz y estaciones privadas, entre otras novedades

Shortwave 3.0

Hace un tiempo existía una aplicación para Linux que se llamaba Gradio, y había muchos usuarios que estaban muy contentos con ella. Tras un tiempo en horas bajas, el proyecto recuperó fuerzas, pero lo hizo ya con un nuevo nombre. Desde entonces, la aplicación no ha hecho más que ir a mejor, y desde esta semana está disponible Shortwave 3.0. El cambio de la primera cifra significan cambios importantes, y los ha habido.

Shortwave 3.0 llega con muchos y muy vistosos cambios. Para empezar, se ha mejorado la interfaz de usuario. En este aspecto, es compatible con el modo oscuro de GNOME 42 y se ha actualizado para la última versión de libadwaita. Las novedades más destacadas son las que tenéis a continuación.

Novedades más destacadas de Shortwave 3.0

  • Soporte para el modo oscuro de GNOME 42.
  • Se pueden añadir emisoras privadas a la biblioteca. Podremos añadir emisoras manualmente, incluso de servicios de pago si ofrece una clave de API.
  • Ahora se pueden guardar los datos de las emisoras en el disco. Esto permitirá, por ejemplo, que si una estación se elimina del servidor, seguirá estando disponible en la aplicación. Primero nos notificará, pero la radio funcionará mientras siga emitiendo en la misma dirección.
  • Mejorada la ordenación de las búsquedas.
  • Ha adoptado la última versión de libadwaita.
  • Diseño Adwaita más actualizado.
  • Visualización de la información sobre la tasa de bits de la emisora, que también puede utilizarse como opción de clasificación.
  • Nuevo botón en la página de búsqueda que permite ordenar los resultados de la búsqueda.
  • Diálogo de emisoras revisado, con información más clara.
  • Actualización de la notificación del escritorio al cambiar de canción, en lugar de generar una nueva notificación por separado para cada canción.
  • Ahora se puede utilizar normalmente, incluso si radio-browser.info está fuera de línea/no disponible.

Shortwave 3.0 ya está disponible en Flathub. Los usuarios de Arch Linux también lo tienen en AUR. El paquete snap, para no variar, no está actualizado.

from Linux Adictos https://ift.tt/cCjz7Oe
via IFTTT

Krita 5.0.6 llega sólo para corregir un par de fallos

Krita 5.0.6

Esta vez no ha habido salto de versiones. A lo mejor lo hay en un futuro próximo, si alguna de las tiendas en las que entregan el software decide que hay algo que tienen que cambiar. Pero lo que tenemos disponible desde hace unas horas es Krita 5.0.6, una versión que ha llegado para corregir errores. Esta no se trata de lo que se conoce como «hotfix», es decir, una actualización en donde se solucionan muchos bugs.

Krita 5.0.6 ha sido lanzado para corregir tan sólo dos fallos. Con una lista de cambios tan corta, uno se pregunta si era necesario lanzar una actualización o era mejor esperarse y arreglar más problemas, pero el equipo de desarrolladores ha decidido que sí. Probablemente alguno de los fallos era especialmente molesto o se manifestaba más de lo esperado, lo que podría traducirse en dificultar el trabajo.

Los dos bugs que corrige Krita 5.0.6

Lo que ha corregido KDE en Krita 5.0.6 es un cuelgue (crash) al trabajar con capas vectoriales o selecciones vectoriales y utilizar mucho la función de deshacer y otro al eliminar una capa vectorial con una máscara de transparencia animada. Los desarrolladores no han mencionado hoy si esta temprana versión ha llegado para no arrastrarla en una actualización mayor, un Krita 5.1.0 que ya está en el punto de mira de los desarrolladores dibujantes de KDE. Krita 5.0.5 llegó hace menos de dos semanas, y lo hizo con muchas correcciones. Llegó tras saltarse dos versiones, «gracias» a una tienda de software que rechazó dos entregas que no cumplían con los requisitos de la misma.

Krita 5.0.6 ya está disponible desde su página web oficial para Windows, macOS y Linux. Desde allí, los usuarios de Linux podemos descargar una AppImage, pero también añadir un repositorio para Debian/Ubuntu. Para el que prefiera otros tipos de paquetes, pronto debería llegar a Flathub y Snapcraft, aunque en el caso del paquete snap sigue en la v4.4.5 y podría tardar mucho más tiempo

from Linux Adictos https://ift.tt/70SyqDp
via IFTTT

Chrome 101 llega con un gestor de prioridades para cargar el contenido, entre otras novedades

Chrome 101 llega con un gestor de prioridades para cargar el contenido

Tras la 100ª versión en la que introdujeron un logotipo ligeramente rediseñado, Google ha lanzado hace unas horas Chrome 101. Entre sus novedades, aunque no hay ninguna realmente importante, hay una que sí me llama la atención. Es lo que en inglés recibe el nombre de Priority Hints, con lo que el navegador dará prioridad sobre qué cargar antes y qué cargar después. Esto puede mejorar la experiencia de usuario, ya que, si funciona como se espera, cargará antes lo que realmente importa.

Por otra parte, aunque esto también llegará a otros navegadores basados en Chromium, Chrome 101 ha corregido muchos fallos de seguridad que estaban presentes en todas las plataformas, es decir, Windows, macOS, Linux y en cualquier otro sistema operativo en el que se puede instalar la versión de escritorio.

Novedades más destacadas de Chrome 101

  • Priority Hints como forma de indicar la importancia relativa de un recurso al navegador web. Las Sugerencias de Prioridad a su vez pueden dar más (o menos) prioridad al cargar diferentes activos.
  • La propiedad CSS font-palette ahora permite a los desarrolladores seleccionar una paleta de una fuente de color.
  • Compatibilidad con la función CSS hwb() para especificar los colores sRGB para los valores de tonalidad, blancura y negrura (HWB).
  • Compatibilidad con la API MediaCapabilities para flujos WebRTC.
  • Adiciones a la compatibilidad con la API de confirmación de pagos seguros v3.
  • USBDevice tiene ahora un método forget() para revocar voluntariamente un permiso a un dispositivo USB.
  • Se ha eliminado WebSQL para contextos de terceros, diez años después de que se abandonara el estándar de bases de datos WebSQL.

Chrome 101 ya está disponible para su descarga desde la página web oficial. En las distribuciones en donde se añade el repositorio automáticamente tras la primera instalación, la actualización ya está esperando en el centro de software o actualizando desde el terminal. En las basadas en Arch Linux, llegará en las próximas horas a AUR.

from Linux Adictos https://ift.tt/qLrGX39
via IFTTT

Cómo eliminar los espacios de los nombres de archivos

teclado, cómo eliminar espacios nombres archivos

En muchas ocasiones te habrás topado con nombres de ficheros y directorios que tienen espacios intermedios en sus nombres, especialmente aquellos que provienen de Windows. Estos espacios son en muchas ocasiones molestos, especialmente para trabajar desde el shell, ya que necesitas identificarlos para que no sean tratados como nombres u opciones de un comando separadas. Por eso, en este tutorial vamos a ver algunas formas de eliminar los espacios de forma automatizada.

Además, también veremos cómo se pueden usar estos ficheros o directorios con nombres que tienen espacios sin que te lance un error.

Cómo usar ficheros y directorios con espacios

Para tratar de escapar de los espacios de los nombres de los ficheros y directorios en el terminal de Linux, puedes hacerlo de estas formas:

  • Incluyendo «» (comillas dobles) en parte de la ruta donde haya espacios o en toda ella. Por ejemplo:

cd "nombre con espacio"/

  • Usando un carácter \ antes de cada espacio. Por ejemplo:

nano nombre\ con\ espacio.txt

De estas formas, lograrás eludir estos molestos espacios. Ahora bien, para no tener que volver a usar estas opciones que pueden ser más incómodas, podrás seguir los siguientes pasos…

Cómo eliminar los espacios de los nombres

Ahora bien, puedes usar varios métodos para que estos espacios en nombres dejen de ser un problema para siempre. Si tienes gran cantidad de nombres con espacio, no es lógico hacerlo uno a uno, pero se puede automatizar estas tareas para eliminar o sustituir los espacios:

  • Usar el comando rename para ello. Por ejemplo, el primero de estos comandos elimina los espacios de todos los .txt, mientras que el segundo lo hace en todos los archivos dentro del directorio actual:

rename ‘s/\s/_/g’ ./*.txt
rename ‘s/\s/_/g’ ./*.*

  • Usar find para reemplazar todos los nombres que tengan espacios, sustituyendo estos por _. Por ejemplo, hacerlo con todos los .txt del directorio actual o de todo el FS:

find . -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \;

**find / -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \;

**¡Cuidado con el segundo comando! Puede alterar nombres que sean empleados por ciertos programas y que dejen de funcionar.

from Linux Adictos https://ift.tt/5nBK0tv
via IFTTT

Cómo crear un directorio en Linux y otros comandos útiles

Directorio de Linux

El directorio de Linux sigue el Estándar de Jerarquía de Archivos de Unix con algunas modificaciones.

Desde la aparición del primer sistema operativo gráfico en la década del 60, todos los ordenadores trabajan con la metáfora de la oficina. Los archivos se denominan documentos y se guardan en carpetas. Esas carpetas a su vez se organizan de acuerdo con su contenido en otras carpetas. Dependiendo del nivel de acceso, el usuario tendrá la posibilidad de modificar o no su contenido.

En este post veremos cómo crear un directorio en Linux y trabajar con él tanto usando el emulador de terminal (de ahora en adelante la terminal) como la terminal gráfica.

¿A qué llamamos directorio en Linux?

Carpetas en Windows

Mientras que en Linux hablamos de directorios, en Windows nos referimos a los contenedores de archivos como carpetas.

Tanto Linux como macOS y los derivados de BSD adoptaron la estructura de archivos y la terminología de Unix, mientras que Windows siguió un camino propio.  Podríamos decir que el directorio en estos sistemas operativos es la carpeta de Windows con otro nombre, pero como UNIX es más viejo, es correcto decir que la carpeta de Windows es el directorio con otro nombre. El directorio registra su contenido en un índice haciendo más fácil su ubicación. Es decir que el directorio Documentos no contiene los documentos que se muestran cuando accedes a él. Lo que guarda es la ubicación real de esos documentos.

La estructura de directorios de Linux

No solo en la denominación los sistemas operativos inspirados en UNIX siguen un camino diferente a Windows. También en la estructura de directorios.  En Windows, se identifica al dispositivo base con una letra mayúscula seguida de :\  mientras que en Linux el directorio base se identifica como /

Al igual que los otros derivados, Linux utiliza el Estándar de Jerarquías de Archivos o Filesystem Hierarchy Standard por sus siglas en inglés, aunque le hace algunas modificaciones. En un sistema Linux encontramos los siguientes directorios:

  • /:  Es el directorio raíz que contiene a todos los demás directorios. Aún los archivos contenidos en otras unidades de almacenamiento se encuentran listado dentro del directorio raíz.
  • /bin: Aquí se almacenan los binarios esenciales para el usuario. Es decir, los programas que deben estar disponibles para el funcionamiento del sistema o para el primer uso.
  • /boot: En este apartado se listan los archivos necesarios para iniciar el sistema como el gestor de arranque y las diferentes versiones del núcleo que se fueron instalando.
  • /cdrom: Muestra los archivos listados en un cd o dvd insesrtado en la unidad.
  • /dev: En este apartado se listan los dispositivos conectados como directorios.  En /dev hay dos tipos principales de dispositivos, los llamados dispositivos de bloque son los que almacenan o guardan datos (unidades de disco), mientras que los denominados dispositivos de carácter son los que transmiten o transfieren datos (Teclado, ratón, puertos de conexión).
  • /etc: Guarda los archivos de configuración de todo el sistema. Pueden modificarse con un editor de textos teniendo los permisos correspondientes.
  • /home: Hay tantas carpetas /home como usuarios en un sistema. Contiene los archivos de datos y configuración de cada uno de ellos. En principio, cada usuario puede editar los de su directorio /home, pero. para editar el de otros deberá transformarse en administrador.
  • /lib:  Para reducir tiempo de programación y espacio en disco, los programadores suelen recurrir a programas de terceros para realizar tareas comunes como guardar o imprimir un archivo o mostrar un menú. Estos programas se llaman librerías. Este sector del directorio almacena las bibliotecas que utilizan los programas almacenados en los directorios /bin y /sbin.
  • /lost+found: En caso de que se produzca una falla en el sistema de archivos, cuando se reinicie el sistema se enumerarán los archivos dañados en este apartado. De esta forma será posible detectarlos y tratar de recuperar la mayor cantidad de datos posible.
  • /media: Aquí se abre un subdirectorio por cada dispositivo externo de almacenamiento que se conecte al ordenador.
  • /mnt: En esta ubicación se montan sistemas de archivos a los que se accede temporalmente.
  • /opt:  Es el lugar donde se suelen almacenar los archivos de los programas instalados en forma manual.
  • /proc: Contiene archivos especiales que representan información del sistema y de los procesos.
  • /root: Es el directorio /home del usuario administrador. Por razones de seguridad no se incluye en esta carpeta con la del resto de los usuarios.
  • /run: Ubicación ideal para que las aplicaciones almacenen los datos temporales sin riesgo de ser borrados por terceros en forma accidental.
  • /sbin: Contiene los binarios que el usuario root necesita pra la administración del sistema.
  • /selinux: SELinux es un módulo de seguridad para el núcleo Linux. En este directorio encontramos listados los archivos especiales que utiliza.
  • /srv: Es un directorio utilizado por determinados servicios (Como un servidor web) para almacenar y encontrar en un solo lugar los datos que necesita.
  • /tmp: Aquí se guardan los archivos que las aplicaciones necesitan en forma temporal. Se eliminan al reiniciar el sistema.
  • /usr: Se reúnen aquí los archivos y aplicaciones de los usuarios y no son esenciales para el funcionamiento del sistema. Dentro de este subdirectorio hay carpetas /bin, /sbin y /lib.
  • /var:  Es el subdirectorio en el que se encuentran archivos en el que el sistema va escribiendo información mientra es utilizado.

Cómo crear directorios en Linux

Manual de mkdir

El comando mkdir es el que se usa para crear un directorio en Linux

Antes de entrar de lleno en el tema de este artículo, la creación de directorios en Linux, debemos detenernos en el tema de los tipos de usuarios en Linux y su nivel de acceso dependiendo de los permisos de los directorios.

Podemos clasificar a los usuarios según el tipo de cuenta en:

  • Cuenta de usuario raíz (Root): Es la cuenta de mayor jerarquía dentro de un sistema Linux. En principio se crea automáticamente durante la instalación, aunque algunas distribuciones le asignan muchas de esas funciones al primer usuario normal creado y la inhabilitan. Esta cuenta puede realizar cualquier trabajo administrativo y acceder a cualquier lugar dentro del directorio incluyendo al /home de los demás usuarios.
  • Cuenta de usuario normal: Posee privilegios moderados y solo puede realizar determinadas tareas y acceder a un número limitado de directorios.
  • Cuentas de servicios: Son creadas por los programas en el momento de su instalación para poder ejecutar procesos y funciones.

Para determinar el acceso a los directorios, Linux utiliza dos parámetros:

  • Permisos.
  • Propietario.

En Linux cada uno de los directorios y archivos tiene tres tipos de personas con acceso:

  • Usuario: Es el creador del archivo y se lo denomina también propietario.
  • Grupo:  Cuando varios usuarios necesitan acceso a un archivo es más fácil asignarle privilegios de acceso a un grupo y agregar a los usuarios al mismo.
  • Otros: Usuarios que no entran en ninguna de las dos categorías.

Con respecto a cada directorio y archivo es posible asignar tres tipos de permisos a los diferentes tipos de usuarios:

  • Lectura: Este permiso da al usuario privilegios para abrir y leer un archivo. En el caso de tratarse de un directorio, también tendrá la capacidad de listar el contenido.
  • Escritura: En el caso de los archivos consiste en privilegios para poder modificar el contenido de un archivo, pero no el de moverlo, renombrarlo o eliminarlo. Eso si se puede hacer en caso de que se tenga privilegios de escritura para el directorio.
  • Ejecución: Esto se usa para programas descargados manualmente y que son autocontenidos (No necesitan interactuar con bibliotecas del sistema). Permite que la aplicación se ejecute.

¿Usar la terminal o hacerlo en forma gráfica?

Creación gráfica de directorio

En el directorio /home es muy fácil crear subdirectorios en forma gráfica, renombrarlos, moverlos y borrarlos. Si se trata de directorios de acceso restringido la cosa es un poco más compleja por lo que es recomendable hacerlo desde el emulador de terminal.

Dentro del directorio /home crear un directorio en forma gráfica no tiene mayor inconveniente. Solo hay que posar el puntero dentro del directorio deseado y con el botón derecho elegir la opción correspondiente y determinar el nombre. En el apartado propiedades podemos determinar los permisos de acceso desde el menú Propiedades. Acceder en forma gráfica como usuario administrador a los directorios protegidos es más complejo y varía según el escritorio. Por eso, para no alargar innecesariamente el artículo, vamos a explicar cómo hacerlo desde la terminal.

El comando para crear un directorio en Linux es mkdir, una reducción de la frase en inglés hacer un directorio. El uso es muy simple

mkdir <nombre_del_directorio>

Por ejemplo, si quieres crear el directorio linux_adictos

mkdir linux_adictos

Si lo que queremos es crear varios directorios

mkdir <nombre1> <nombre2> <nombre3> 

Nos quedaría lo siguiente:

mkdir linux_adictos desde_linux ubuntulog

Para verificar que el directorio fue creado

ls -l <nombre1>

Supongamos que queremos crear un directorio dentro de otro con acceso restringido. Suponiendo que tenemos los privilegios correspondientes hacemos

sudo /directorio_contenedor/nombre_de archivo.

Sería algo como:

sudo mkdir/opt/linux_adictos

Se puede dar el caso de que nos interese crear un subdirectorio y el directorio que lo contienen al mismo tiempo. La estructura del comando es la siguiente:

sudo mkdir -p /directorio_existente /<nombre_directorio>/<nombre_subdirectorio>

Podemos escribir algo parecido a:

sudo mkdir -p /opt/linux_adictos/artículos

Los comandos de asignación de permisos siendo:

  • r: Permiso para lectura.
  • w: Permiso para escritura.
  • x: Permiso para ejecución.

Son:

  1. chmod +rwx nombre_directorio para dar permisos.
  2. chmod -rwx nombre_directorio para quitarlos.

Si se quiere asignar permisos dentro de los directorios protegidos debe anteponerse el comando sudo.  En el caso de que se quiera asignar los permisos de grupo se pone una ge despues de chmod.

chmod g + (o -) rwx nombre_directorio.

Tengan en cuenta que solo se pone la letra correspondiente al permiso que se quiera dar o quitar.

from Linux Adictos https://ift.tt/YAkCE9Q
via IFTTT

Wolfire libero el código fuente de Overgrowth

Wolfire Games dio a conocer hace poco mediante una publicación de blog, que ha tomado la decisión de liberar el código fuente de uno de sus proyectos más exitosos, «Overgrowth». Después de 14 años de desarrollo como producto propietario, se decidió abrir el juego para brindar a los entusiastas la oportunidad de continuar mejorándolo a su gusto.

El código está escrito en C++ y está abierto bajo la licencia Apache 2.0, lo que permite, entre otras cosas, incluir el código en proyectos propietarios y vender el trabajo resultante. El código abierto cubre el motor del juego, los archivos del proyecto, los scripts, los sombreadores y las bibliotecas de soporte, mientras que ños recursos del juego siguen siendo propiedad y su distribución en proyectos de terceros requiere un permiso por separado de Wolfire Games (se permite la modificación).

En su publicación de blog, Wolfire Games compartió lo siguiente:

Hemos trabajado en Overgrowth durante 14 años. Es nuestro proyecto en curso de más larga duración, y una de las principales razones por las que hemos seguido trabajando en el juego es la fantástica respuesta de los fans y su seguimiento. No solo la gente de todo el mundo siguió jugando y disfrutando de Overgrowth durante años, sino que la comunidad también tuvo un enorme impacto en el proyecto. Desde los comentarios útiles que llevaron a mejores actualizaciones, hasta los asombrosos modders que expanden lo que puedes hacer en el juego, hasta los talentosos artistas y creadores que expanden el estilo y la tradición de Overgrowth. Este juego ha sido moldeado y elaborado en gran parte por las personas que lo juegan.

Entonces, ¿cuál es el siguiente paso? ¿Cómo honramos a la comunidad que ayudó a construir este juego? ¡Nos complace anunciar que el código de Overgrowth ahora es de código abierto! No solo eso, sino que también estamos reduciendo permanentemente el precio del juego en un tercio en todo el mundo, de $29,99 a $19,99 en EE. UU.

Solo el código se está volviendo abierto, no los activos artísticos o los niveles, la razón es que no queremos que alguien construya y venda Overgrowth como propio. Estamos usando la licencia Apache 2.0 , que te permite hacer lo que quieras con el código, con muy pocas obligaciones. Es fácil compilar y ejecutar el juego Overgrowth oficial utilizando el código fuente abierto, por lo que no necesita muchos conocimientos técnicos para comenzar.

Se supone que el código publicado se puede usar tanto para crear productos fundamentalmente nuevos que vienen con sus propios recursos de juego, como para ejecutarse con el conjunto original de recursos patentados al realizar experimentos o con fines educativos.

La inclusión de componentes y bibliotecas de juegos se puede transferir por separado a otros proyectos de juegos. También se menciona la voluntad de aceptar expansiones y cambios preparados por la comunidad para su inclusión en el juego comercial Overgrowth. Si no es posible integrar cambios en el proyecto principal, puede crear sus propias ediciones no oficiales del juego.

La esencia del juego Overgrowth está en las aventuras de un conejo ninja, que se involucra en un combate cuerpo a cuerpo con otros animales antropomórficos (conejos, lobos, ratas, gatos, perros) mientras completa las tareas asignadas al jugador.

El juego se desarrolla en un entorno tridimensional con una vista en tercera persona, y para lograr los objetivos, el jugador tiene total libertad de movimiento y organización de sus acciones. Además de las misiones para un jugador, también se admite el modo multijugador.

El juego está equipado con un motor de física avanzado que está estrechamente integrado con el motor 3D e implementa el concepto de «animación procesal basada en la física», que permite un movimiento realista de los personajes y un comportamiento de animación adaptable según el entorno.

El juego también destaca por el uso de controles sensibles al contexto originales que te permiten aplicar varias tácticas de combate, y un motor de IA que coordina las acciones conjuntas de los personajes y permite retirarse en caso de una alta probabilidad de derrota. Se proporciona una interfaz para editar mapas y escenarios.

El motor del juego admite física de cuerpo rígido, animación esquelética, iluminación píxel por píxel con refracción de reflejos, sonido 3D, modelado de objetos dinámicos como el cielo, el agua y la hierba, detalles adaptables, representación realista de lana y plantas, profundidad y desenfoque de  efectos durante el movimiento rápido, varios tipos de mapeo de texturas (incluido el mapeo dinámico de cubos y el mapeo de paralaje).

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

from Linux Adictos https://ift.tt/egqKu1l
via IFTTT

HPVM, un compilador de la mano de LLVM para CPU, GPU, FPGA y aceleradores de hardware

Hace poco el proyecto LLVM dio a conocer el lanzamiento de la nueva versión del compilador HPVM 2.0 (Heterogeneous Parallel Virtual Machine), cuyo objetivo es simplificar la programación para sistemas y proporcionar herramientas para generar código para CPU, GPU, FPGA y aceleradores de hardware específicos de dominio.

La programación de sistemas paralelos heterogéneos es complicada debido a la presencia en un sistema de componentes que usan diferentes modelos para lograr el paralelismo (núcleos de CPU, instrucciones vectoriales, GPU, etc.), diferentes conjuntos de instrucciones y diferentes jerarquías de memoria. Cada sistema utiliza su propia combinación de estos componentes.

La idea principal del proyecto HPVM es usar una representación unificada de programas ejecutables paralelos al compilar, que se puede usar para varios tipos de hardware que admiten computación paralela, incluidas GPU, instrucciones vectoriales, procesadores multinúcleo, FPGA y varios chips aceleradores especializados.

A diferencia de otros sistemas, HPVM intentó combinar tres posibilidades para organizar la computación heterogénea: una representación intermedia (IR), una arquitectura de conjunto de instrucciones virtuales (V-ISA) y programación de tiempo de ejecución, independientemente del lenguaje de programación y el hardware.

La representación intermedia HPVM amplía la representación intermedia de las instrucciones LLVM mediante el uso de un gráfico de flujo de datos jerárquico para capturar el paralelismo a nivel de tareas, datos y canalizaciones computacionales. La representación intermedia de HPVM también incluye instrucciones vectoriales y memoria compartida. El objetivo principal de usar una representación intermedia es la generación y optimización de código eficiente para sistemas heterogéneos.

La arquitectura de conjunto de instrucciones virtuales (V-ISA) abstrae el hardware de bajo nivel y unifica varias formas de paralelismo y arquitecturas de memoria utilizando solo el modelo de concurrencia subyacente, el gráfico de flujo de datos.

V-ISA permite lograr portabilidad entre diferentes tipos de hardware para computación paralela y posibilita no perder rendimiento al utilizar diferentes elementos de sistemas heterogéneos. Virtual ISA también se puede usar para entregar un código ejecutable de programa genérico que se puede ejecutar en CPU, GPU, FPGA y varios aceleradores.

Las políticas de programación de procesos informáticos flexibles se aplican en tiempo de ejecución y se implementan sobre la base de información sobre el programa (estructura gráfica) y mediante la compilación de nodos de programas individuales para su ejecución en cualquiera de los dispositivos informáticos de destino disponibles en el sistema.

Los generadores de código desarrollados por el proyecto son capaces de traducir los nodos de aplicación definidos mediante ISA virtual para ejecutarse en GPU NVIDIA (cuDNN y OpenCL), instrucciones vectoriales Intel AVX, FPGA y CPU x86 multinúcleo. Se observa que el rendimiento de los resultados de los traductores HPVM es comparable al código OpenCL escrito manualmente para GPU y dispositivos informáticos vectoriales.

Principales novedades de HPVM 2.0

Por la parte de las novedades que se presentan en esta nueva versión, se destacan las siguientes:

  • Se propone el frontend del lenguaje Hetero-C++, que simplifica la paralelización del código de la aplicación en lenguajes C/C++ para su compilación en HPVM. Hetero-C++ define extensiones para el paralelismo de nivel de datos y tareas jerárquicas que se asignan a gráficos de subprocesos de HPVM.
  • Se ha agregado un backend de FPGA para admitir la ejecución de código en un FPGA de Intel. Para organizar la ejecución se utiliza Intel FPGA SDK for OpenCL.
  • Se ha agregado el marco DSE (Design Space Exploration), que incluye optimizaciones del compilador y mecanismos de detección de cuellos de botella para ajustar automáticamente las aplicaciones para una plataforma de hardware determinada.
  • El marco contiene un modelo de rendimiento listo para usar para FPGA de Intel y le permite conectar sus propios procesadores para optimizar cualquier dispositivo compatible con HPVM.
  • Las optimizaciones se pueden aplicar tanto a nivel de gráfico de flujo de datos de HPVM como a nivel de LLVM.
  • Componentes de LLVM actualizados a la versión 13.0 .
  • El código se ha reorganizado para facilitar la navegación a través de la base de código, las bibliotecas y las utilidades.
  • Se mejoró la infraestructura para las pruebas, se agregaron nuevas pruebas para varios componentes de HPVM.

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

from Linux Adictos https://ift.tt/hA06vYE
via IFTTT

Ya fue liberada la nueva versión de actualización de KDE Gear 22.04

Hace poco se dio a conocer la actualización resumida de abril de las aplicaciones desarrolladas por el proyecto KDE, «KDE Gear 22.04» y de la cual, en total, se publicaron lanzamientos de 232 programas, bibliotecas y complementos como parte de la actualización

De las novedades más destacables de esta nueva actualización de KDE Gear 22.04 está por ejemplo que en Dolphin se ha ampliado la gama de tipos de archivos para los que están disponibles vistas previas en miniatura y también proporciona información adicional sobre cada elemento del sistema de archivos.

Por ejemplo, se agregaron miniaturas para archivos ePub y se proporcionó información de resolución al obtener una vista previa de las imágenes. Los archivos descargados o copiados de forma incompleta ahora tienen la extensión «.part». Interacción mejorada con dispositivos como cámaras a través del protocolo MTP.

Konsole ahora tiene un complemento de Comandos rápidos (Complementos > Mostrar comandos rápidos) que permite crear y ejecutar rápidamente pequeños scripts que automatizan acciones realizadas con frecuencia.

El complemento SSH brinda la capacidad de asignar diferentes perfiles visuales, lo que hace posible asignar diferentes colores para el fondo y el texto de cada cuenta SSH, ademas de que se agregó la capacidad de mostrar imágenes directamente en la terminal usando gráficos sixel (sixel, diseño de imagen a partir de bloques de 6 píxeles). Hacer clic derecho en los directorios brinda soporte para abrir ese directorio en cualquier aplicación de su elección, no solo en el administrador de archivos.

Otra de las novedades que se destaca es que se agregó soporte para dispositivos Apple con chip M1 en el editor de video Kdenlive, ademas de que en el cuadro de diálogo de renderizado se ha renovado por completo, lo que proporciona un acceso más fácil a las opciones de renderizado disponibles y agrega nuevas funciones, como la compatibilidad con la creación de perfiles personalizados y la capacidad de renderizar zonas individuales. Se agregó soporte inicial para profundidad de color de 10 bits.

Kate tiene un inicio más rápido, una navegación más fácil a través de los directorios de proyectos y una búsqueda de archivos mejorada y tambien se destaca que se ha proporcionado una separación más visual del trabajo con archivos con el mismo nombre pero ubicados en diferentes directorios. Trabajo mejorado en entornos basados ​​en el protocolo Wayland. Estructura de menú rediseñada. Alineación mejorada del código editado.

El asistente de viaje de itinerarios de KDE se ha mejorado para ayudar al usuario a llegar a su destino utilizando datos de varias fuentes y brindarle la información relacionada que necesita en el camino (horarios de tráfico, estaciones y ubicaciones de paradas, información del hotel, pronóstico del tiempo, eventos en curso). Se agregó soporte para nuevas compañías ferroviarias y aerolíneas. Detalle mejorado de la información meteorológica. Interfaz mejorada para escanear códigos de barras, que ahora puede escanear boletos.

El reproductor de video Haruna, que es un complemento para MPV, agregó soporte para un menú global, pausa la reproducción cuando la ventana está minimizada, abre el último video visto, salta al comienzo del video y recuerda la posición para regresar después.

De los demás cambios que se destacan de esta nueva versión de KDE Gear 22.04

  • Se propone una nueva implementación universal del programador de calendario, que funciona tanto en sistemas de escritorio como en dispositivos móviles que ejecutan Plasma Mobile.
  • El reproductor de música Elisa ha mejorado la compatibilidad con la pantalla táctil y la capacidad de arrastrar y soltar música y listas de reproducción desde el administrador de archivos.
  • El software de escaneo de documentos Skanpage ahora tiene la capacidad de transferir archivos escaneados, incluidos PDF de varias páginas, a otras aplicaciones, como mensajería, transferencia de datos por Bluetooth o almacenamiento en la nube.
  • El programa de captura de pantalla Spectacle tiene herramientas mejoradas para agregar anotaciones a las imágenes y garantiza que se guarden las configuraciones de las anotaciones.
  • El visor de imágenes ofrece una función de vista previa antes de imprimir y proporciona una interfaz para instalar complementos para importar imágenes desde cámaras.

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

from Linux Adictos https://ift.tt/r0M678z
via IFTTT

oVirt, una plataforma para la administración de máquinas virtuales e infraestructura de la nube

oVirt es una plataforma para implementar, mantener y monitorear máquinas virtuales y administrar la infraestructura de la nube basado en el hipervisor KVM y la biblioteca libvirt.

Básicamente, oVirt es una solución de virtualización distribuida de código abierto, diseñada para administrar toda la infraestructura de una empresa. oVirt utiliza el hipervisor KVM de confianza y se basa en varios otros proyectos comunitarios, incluidos libvirt, Gluster, PatternFly y Ansible.

Las tecnologías de gestión de máquinas virtuales desarrolladas en oVirt se utilizan en el producto Red Hat Enterprise Virtualization y pueden actuar como una alternativa abierta a VMware vSphere. Además de Red Hat, también participan en el desarrollo Canonical, Cisco, IBM, Intel, NetApp y SUSE.

Sobre oVirt

oVirt es una pila que cubre todos los niveles de virtualización, desde el hipervisor hasta la API y la GUI. A pesar de que KVM se posiciona como el hipervisor principal en oVirt, la interfaz se implementa como un complemento de la biblioteca libvirt, que se abstrae del tipo de hipervisor y es adecuada para administrar máquinas virtuales basadas en varios sistemas de virtualización, incluido Xen y VirtualBox.

Como parte de oVirt, se está desarrollando una interfaz para la creación masiva rápida de máquinas virtuales de alta disponibilidad con soporte para la migración en vivo de entornos entre servidores sin detener el trabajo.

La plataforma proporciona herramientas para crear reglas de equilibrio dinámico y administrar recursos de clúster, mecanismos de administración de energía de clúster, herramientas de administración de imágenes de máquinas virtuales y componentes para convertir e importar máquinas virtuales existentes. Se admite un solo almacén de datos virtual, accesible desde cualquier nodo.

La interfaz contiene un sistema de informes avanzado y herramientas de administración que le permiten administrar la configuración tanto a nivel de infraestructura como a nivel de máquinas virtuales individuales.

Dentro de las características que se pueden destacar de oVirt, están las siguientes:

  • Interfaces de usuario enriquecidas basadas en la web para usuarios administradores y no administradores
  • Gestión integrada de hosts, almacenamiento y configuración de red
  • Migración en vivo de máquinas virtuales y discos entre hosts y almacenamiento
  • Alta disponibilidad de máquinas virtuales en caso de falla del host

Ademas de ello, cabe mencionar que la plataforma recientemente se actualizó a la versión oVirt 4.5.0, en la cual de las novedades más destacables se encuentran las siguientes:

  • Proporcionó soporte para CentOS Stream 8 y RHEL 8.6-beta.
  • Soporte experimental implementado para CentOS Stream 9.
  • Versiones actualizadas de los componentes utilizados, incluidos GlusterFS 10.1 , RDO OpenStack, Yoga, OVS 2.15 y Ansible Core 2.12.2.
  • Se ha implementado compatibilidad nativa con IPSec para hosts con una red virtual OVN (Open
  • Virtual Network) y un paquete ovirt-provider-ovn configurado.
  • Se agregó soporte para la especificación Virtio 1.1.
  • Proporcionó la capacidad de habilitar la tecnología NVIDIA Unified Memory para GPU virtuales (mdev vGPU).
  • Se aceleró la exportación a OVA (Open Virtual Appliance) mediante NFS.
  • Se agregó una función de búsqueda a la pestaña de perfiles de vNIC en la interfaz web.
  • Notificación mejorada de la próxima obsolescencia de certificados.
  • Se agregó soporte para Windows 2022.
  • Para hosts, se incluye el paquete nvme-cli.
  • Proporcionó enlace automático de CPU y NUMA durante la migración.
  • Se ha proporcionado la capacidad de cambiar el almacenamiento al modo de mantenimiento con congelación de máquinas virtuales.
  • Se han corregido 9 vulnerabilidades, 8 de las cuales tienen asignado un nivel de gravedad moderado y una tiene un nivel de gravedad bajo. Los principales problemas están relacionados con el cross-site scripting (XSS) en la interfaz web y la denegación de servicio en el motor de expresiones regulares.

Descargar y obtener oVirt

Finalmente si estás interesado en poder conocer más al respecto de esta plataforma, debes saber que el código del proyecto se distribuye bajo la licencia GPLv2 y puedes consultar más al respecto en el siguiente enlace.

En cuanto a los interesados en poder probar esta plataforma, deben saber que los paquetes Ready están disponibles para CentOS Stream 8 y Red Hat Enterprise Linux 8.6 Beta. También está disponible una imagen ISO lista para implementar de oVirt Node NG basada en CentOS Stream 8 y puedes obtenerlos desde el siguiente enlace.

from Linux Adictos https://ift.tt/hI3SscT
via IFTTT