diff --git a/Containerfile b/Containerfile index a1c689c4..f63b1567 100644 --- a/Containerfile +++ b/Containerfile @@ -172,6 +172,20 @@ RUN rpm-ostree override replace \ --from repo=updates \ libmount \ || true && \ + rpm-ostree override replace \ + --experimental \ + --from repo=updates-archive \ + glibc-headers \ + glibc-devel \ + || true && \ + rpm-ostree override replace \ + --experimental \ + --from repo=updates \ + glibc \ + glibc-common \ + glibc-all-langpacks \ + glibc-gconv-extra \ + || true && \ rpm-ostree override remove \ glibc32 \ || true @@ -200,7 +214,9 @@ RUN rpm-ostree override replace \ bluez-cups \ bluez-libs \ bluez-obexd \ - xorg-x11-server-Xwayland + xorg-x11-server-Xwayland && \ + rpm-ostree install \ + mesa-vdpau-drivers-freeworld.x86_64 # Remove unneeded packages RUN rpm-ostree override remove \ @@ -268,7 +284,13 @@ RUN rpm-ostree install \ glow \ gum \ setools \ - redhat-lsb-core && \ + redhat-lsb-core \ + cockpit-networkmanager \ + cockpit-podman \ + cockpit-selinux \ + cockpit-system \ + cockpit-navigator \ + cockpit-storaged && \ pip install --prefix=/usr topgrade && \ rpm-ostree install \ ublue-update && \ @@ -287,7 +309,6 @@ RUN rpm-ostree install \ at-spi2-core.i686 \ atk.i686 \ vulkan-loader.i686 \ - mesa-vulkan-drivers.i686 \ alsa-lib.i686 \ fontconfig.i686 \ gtk2.i686 \ @@ -310,10 +331,14 @@ RUN rpm-ostree install \ libatomic.i686 \ pipewire-alsa.i686 \ clinfo && \ + sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/fedora-updates.repo && \ + rpm-ostree install \ + mesa-vulkan-drivers.i686 \ + mesa-va-drivers-freeworld.i686 \ + mesa-vdpau-drivers-freeworld.i686 && \ sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/rpmfusion-nonfree-steam.repo && \ sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree.repo && \ sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo && \ - sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/fedora-updates.repo && \ rpm-ostree install \ steam && \ sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree-steam.repo && \ diff --git a/README-SPA.md b/README-SPA.md index facd0cfe..50cedf90 100644 --- a/README-SPA.md +++ b/README-SPA.md @@ -13,15 +13,16 @@ - [Características de **todas** las imágenes de Bazzite](#about--features) - [Características de las imágenes para **Computadoras de Escritorio**](#desktop) - [Características de las imágenes para **Steam Deck/HTPC**](#steam-deckhome-theater-pcs-htpcs) - - [Computadoras Handheld Alternativas](#alternative-handhelds) + - [Computadoras Handheld Alternativas](#alternative-handhelds) - [Características de las imágenes con el entorno de escritorio **GNOME**](#gnome) - [Características del Upstream](#features-from-upstream) - [¿Por qué?](#why) - [Mira como luce Bazzite (Capturas de Pantalla)](#showcase) - [Documentación y Boletín informativo/Newsletters (En inglés)](#documentation--newsletters) - [Paquetes Personalizados](#custom-packages) +- [Verificación de la Imagen](#verification) - [Arranque Seguro (Secure Boot)](#secure-boot) -- [Verificación y Métricas](#verification) +- [Métricas](#contributor-metrics) - [Gracias Especiales](#special-thanks) - [Créalo tu Mismo](#build-your-own) - [Comunidad (en inglés)](#join-the-community) @@ -39,16 +40,16 @@ Bazzite es creado con [ublue-os/main](https://github.com/ublue-os/main) y [ublue - Utilizamos el [kernel fsync](https://copr.fedorainfracloud.org/coprs/sentry/kernel-fsync/) para obtener compatibilidad con HDR (alto rango dinámico) y un soporte expandido de hardware, además de otra gran cantidad de parches incluidos. - HDR esta disponible en la sesión de Gamescope. - Drivers propietarios de NVIDIA pre-instalados. -- El nuevo driver de Vulkan, NVK, esta disponibles en imágenes sin el driver proprietario de NVIDIA. - Soporte total de decodificación acelerada por hardware del codec de video H264. - Soporte completo para los tiempos de ejecución (runtimes) de ROCM OpenCL/HIP de AMD -- Drivers [xone](https://github.com/medusalix/xone), [xpadneo](https://github.com/atar-axis/xpadneo), y [xpad-noone](https://github.com/ublue-os/xpad-noone) para mandos de videojuegos de Xbox. +- Se incluye el driver [xone](https://github.com/medusalix/xone), para mandos de videojuegos de Xbox. - Soporte completo de [DisplayLink](https://www.synaptics.com/products/displaylink-graphics). - Incluye los temas para KDE de SteamOS, hechos por Valve. - También se incluyen temas opcionales de GTK3/4 inspirados en Valve, que igualan a los temas Vapor y VGUI2 de SteamOS. Para poderlos utilizar, solo tienes que instalar [Gradience](https://flathub.org/apps/com.github.GradienceTeam.Gradience). - [LatencyFleX](https://github.com/ishitatsuyuki/LatencyFleX), [vkBasalt](https://github.com/DadSchoorse/vkBasalt), [MangoHud](https://github.com/flightlessmango/Mangohud), y [OBS VkCapture](https://github.com/nowrep/obs-vkcapture) instalados y disponibles por defecto. +- Utilizamos [TuneD](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/monitoring_and_managing_system_status_and_performance/getting-started-with-tuned_monitoring-and-managing-system-status-and-performance) en lugar de PPD, para una integración completa con GNOME, KDE, y Game Mode. Esta es una herramienta tan increiblemente poderosa, que Red Hat ofrece [clases para aprender a utilizarla](https://www.redhat.com/en/services/training/rh442-red-hat-enterprise-performance-tuning). - Soporte para [Wallpaper Engine](https://www.wallpaperengine.io/en). (Solo en KDE) -- Incluida la [extensión de la shell para mostrar las propiedades de ROMs](https://github.com/GerbilSoft/rom-properties) (usados para la emulación de consolas) en el navegador de archivos. +- Incluida una [extensión de la shell para mostrar las propiedades de ROMs](https://github.com/GerbilSoft/rom-properties) (usados para la emulación de consolas) en el navegador de archivos. - Soporte completo para [Winesync/Fastsync/NTsync](https://github.com/Frogging-Family/wine-tkg-git/issues/936). - [Distrobox](https://github.com/89luca89/distrobox) pre-instalado con actualizaciones automáticas para los contenedores creados. - Se usa por defecto la [terminal Prompt](https://gitlab.gnome.org/chergert/prompt) en todas las imágenes. Esta terminal esta especificamente diseñada para el flujo de trabajo basado en contenedores que usamos en Bazzite. Si deseas regresar a como estaba antes, simplemente ejecuta el siguiente comando en una terminal: `ujust restore-original-terminal` @@ -59,7 +60,6 @@ Bazzite es creado con [ublue-os/main](https://github.com/ublue-os/main) y [ublue - Uso del [control de congestión TCP BBR hecho por Google](https://github.com/google/bbr) por defecto. - [Input Remapper](https://github.com/sezanzeb/input-remapper) pre-instalado y habilitado. (Disponible pero desactivado por defecto en la variante Deck, puede ser habilitado ejecutando el siguiente comando en una terminal: `ujust restore-input-remapper`) - El portal de Bazzite (Bazzite Portal) provee una manera fácil de instalar un sin fin de aplicaciones y ajustes, incluyendo la instalación de [LACT](https://github.com/ilya-zlobintsev/LACT) (para mejor controlar tu GPU de AMD) y [GreenWithEnvy](https://gitlab.com/leinardi/gwe) (para mejor controlar tu GPU de NVIDIA). -- Gestor de paquetes [Nix](https://nixos.org/) con la opción de instalar [Fleek](https://getfleek.dev/) usando el `ujust`. - Opción para instalar el gestor de paquetes [Brew](https://brew.sh/) usando el Bazzite Portal. - [Waydroid](https://waydro.id/) pre-instalado para correr aplicaciones de Android. Para configurarlo, usa esta [guía rápida (en inglés)](https://universal-blue.discourse.group/docs?topic=32). - Administra tus aplicaciones usando [Flatseal](https://github.com/tchx84/Flatseal), [Warehouse](https://github.com/flattool/warehouse), y [Gear Lever](https://github.com/mijorus/gearlever). @@ -69,7 +69,7 @@ Bazzite es creado con [ublue-os/main](https://github.com/ublue-os/main) y [ublue - Driver [GCAdapter_OC](https://github.com/hannesmann/gcadapter-oc-kmod) para aumentar la frecuencia del reloj (overclocking) del adaptador para el mando de videojuegos del Gamecube de Nintendo para obtener una taza de sondeo (polling rate) de 1000hz. - Soporte fuera de la caja para los teclados hechos por [Wooting](https://wooting.io/). - Soporte incorporado de las GPU de las familias (HD 7000) y Sea Islands (HD 8000) de AMD bajo el driver `amdgpu`. -- Un parche esta disponible [para un bug en juegos de 32 bits que usen el motor Source 1](https://github.com/ValveSoftware/Source-1-Games/issues/5043)[(Por ejemplo: TF2)](https://github.com/ValveSoftware/Source-1-Games/issues/5043) que provoca que el juego se bloqueé al ser iniciado, para aplicar el parche, ejecuta el siguiente comando en una terminal: `ujust patch-source1-tcmalloc` +- Un parche esta disponible [para un bug en juegos de 32 bits que usen el motor Source 1](https://github.com/ValveSoftware/Source-1-Games/issues/5043)[(Por ejemplo: TF2)](https://github.com/ValveSoftware/Source-1-Games/issues/5043) que provoca que el juego se congele al ser iniciado, para aplicar el parche, ejecuta el siguiente comando en una terminal: `ujust patch-source1-tcmalloc` - [XwaylandVideoBridge](https://invent.kde.org/system/xwaylandvideobridge) esta disponible para hacer posible compartir tu pantalla con Discord usando Wayland. - [Webapp Manager](https://github.com/linuxmint/webapp-manager) esta disponible para crear aplicaciones de sitios web con una variedad de navegadores web, incluyendo Firefox. @@ -96,7 +96,7 @@ Si deseas realizar un rebase a la imagen **para computadoras de escritorio con u rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-nvidia:stable ``` -**Para usuarios con Secure Boot habilitado:** Ejecuta el comando `ujust enroll-secure-boot-key` en una terminal e introduce la contraseña `ublue-os` si el sistema te lo requiere para registrar la clave de seguridad requerida. +**Para usuarios con Secure Boot habilitado:** Sigue nuestra [documentación para usuarios de Secure Boot](#secure-boot) antes de cambiar la base. ### Steam Deck/Computadoras para Cine en Casa (HTPCs) @@ -105,7 +105,7 @@ rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-nvidia:sta Esta variante esta diseñada para usarse como una alternativa de SteamOS en la Steam Deck, e igualmente para proporcionar una experiencia como de consola de videojuegos en HTPCs y otros dispositivos portátiles, disponible como `bazzite-deck`: -- Al arrancar tu dispositivo, inicia directamente en el modo de juego (Gamemode), emulando el mismo comportamiento que SteamOS. +- Al arrancar tu dispositivo, inicia directamente en Game Mode, emulando el mismo comportamiento que SteamOS. - **Se aplica el servicio `duperemove` automáticamente el cual recorta por mucho el tamaño del directorio compatdata, el directorio usado por Proton para almacenar los prefijos de WINE para correr juegos de Windows en Linux.** - **Incluye la versión mas actual de Mesa, el cual crea cachés de shaders mas pequeños, y los cuales no son requeridos para prevenir tirones/parones.** - **Habilidad de arrancar el sistema incluso si el disco esta lleno.** @@ -117,7 +117,7 @@ Esta variante esta diseñada para usarse como una alternativa de SteamOS en la S - Incluye los parches de [SteamOS BTRFS](https://gitlab.com/popsulfr/steamos-btrfs) por defecto, los cuales proveen soporte completo del sistema de archivos BTRFS para tarjetas SD. - Se incluye una copia portada de [SDGyroDSU](https://github.com/kmicki/SteamDeckGyroDSU), habilitada por defecto. - Opción para instalar [Decky Loader](https://github.com/SteamDeckHomebrew/decky-loader), [EmuDeck](https://www.emudeck.com/), [RetroDECK](https://retrodeck.net/), y [ProtonUp-Qt](https://davidotek.github.io/protonup-qt/), ademas de un sin fin de paquetes útiles al momento de instalar el sistema. -- Un sistema personalizado de actualizaciones que permite que tanto el sistema operativo, los Flatpaks, los paquetes Nix (Usando Fleek), y las imagenes de Distrobox sean actualizables directamente desde la interfaz de Gamemode. +- Un sistema personalizado de actualizaciones que permite que tanto el sistema operativo, los Flatpaks, los paquetes Nix (Usando Fleek), y las imagenes de Distrobox sean actualizables directamente desde la interfaz de Gamemode gracias al poder de [ublue-update](https://github.com/ublue-os/ublue-update) y [topgrade](https://github.com/topgrade-rs/topgrade). - Soporte incluido para el arranque dual (dual-boot) con Windows, gracias a que se deja intacta la instalación de GRUB por defecto de Fedora. - ¿Algo se rompió o dejo de funcionar después de actualizar?, ¡descuida!, puedes fácilmente retroceder a una versión previa de Bazzite, gracias a la función de reversión (rollback) de `rpm-ostree`. Inclusive puedes seleccionar imágenes previas del sistema directamente desde el menú que aparece al arrancar tu dispositivo. - Steam y Lutris vienen pre-instalados en la imagen como paquetes en capas (layered). @@ -148,20 +148,69 @@ Si deseas cambiar la base (rebase) de una imagen upstream existente de un sistem ```bash rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-deck:stable ``` + #### Computadoras handheld alternativas -Si estas usando esta imagen en otras computadoras Handheld que no son la Steam Deck, como la Legion Go o la AYN Loki Max, puedes controlar el TDP usando el plugin de Decky Loader llamado SimpleDeckyTDP, esto también aplica para aquellas computadoras Handheld que usan una imagen personalizada basada en `-deck` que brindan soporte especializado a ciertos dispositivos como la Ally. +Si estas usando esta imagen en otras computadoras Handheld que no son la Steam Deck, puedes controlar el TDP usando el plugin de Decky Loader llamado SimpleDeckyTDP. + - Primero, instala Decky Loader ejecutando el siguiente comando en una terminal: `ujust get-decky` - Despues, instala SimpleDeckyTDP ejecutando el siguiente comando en una terminal: `ujust get-simpledeckytdp` -Si estas usando una computadora Handheld que tiene soporte por parte de [hhd](https://github.com/hhd-dev/hhd), tambien puedes obtener un plugin que integra esta funcionalidad con game mode, solo ejecuta el siguiente comando en una terminal: `ujust get-hhd-decky` +Si estas usando una computadora Handheld que tiene soporte por parte de [hhd](https://github.com/hhd-dev/hhd) (Como la Lenovo Legion Go o la ASUS ROG Ally), tambien puedes obtener un plugin que integra esta funcionalidad en Game Mode, solo ejecuta el siguiente comando en una terminal: `ujust get-hhd-decky` + +**Igualmente, asegurate de tambien leer la [documentación de HHD (en inglés)](https://github.com/hhd-dev/hhd#after-install), algunas computadoras Handheld requieren ciertos ajustes o tweaks especificos para funcionar correctamente.** + +Tambien incluimos ciertos comandos de `ujust` para instalar varios temas para CSS Loader que no estan disponibles en su propia tienda. Si instalas estos temas, estos tambien serán actualizados automáticamente junto con Bazzite. + +```bash +# Instala el tema de la ROG Ally para CSS Loader (https://github.com/semakusut/SBP-ROG-Ally) +ujust install-rog-ally-theme + +# Instala el tema de la Lenovo Legion Go para CSS Loader (https://github.com/frazse/SBP-Legion-Go-Theme) +ujust install-legion-go-theme + +# Instala el tema para pasar los glifos de Playstation a Xbox (PS5-to-Xbox) para hhd y CSS Loader (https://github.com/frazse/PS5-to-Xbox-glyphs) +ujust install-hhd-xbox-glyph-theme +``` + +#### ASUS Ally + +Bazzite tiene imágenes especificas para la ASUS ROG Ally, debido a los requerimientos adicionales en cuanto drivers y software especificos para ese hardware. Puedes escoger las imágenes `-ally` desde el instalador de Bazzite, o puedes cambiar de base (rebase) utilizando cualquiera de los siguientes comandos en una terminal: + +Para usar KDE (Entorno default de SteamOS): + +```bash +rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-ally:stable +``` + +Para usar GNOME: + +```bash +rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-ally-gnome:stable +``` + +#### Framegame + +[¿Te armaste una de estas bellezas?](https://www.youtube.com/watch?v=zd6WtTUf-30), tambien tenemos una imagen especifica para ti. Esta es la variante Deck de nuestras imágenes para las laptops de Framework. + +Para usar KDE (Entorno default de SteamOS): + +```bash +rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-framegame:stable +``` + +Para usar GNOME: + +```bash +rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-framegame-gnome:stable +``` ### GNOME -Las sub-variantes con el entorno de escritorio GNOME están disponibles tanto para la variante para **Computadoras de Escritorio**, como la de **Steam Deck/HTPCs**. Estas imágenes cuentan con las siguientes características adicionales: +Las sub-variantes con el entorno de escritorio GNOME están disponibles tanto para las imágenes para **Computadoras de Escritorio**, como las de **Steam Deck/HTPCs**. Estas imágenes cuentan con las siguientes características adicionales: - [Soporte tanto para pantallas con tasa de refresco variable y como para la escala fraccional de la interfaz de usuario bajo el servidor gráfico Wayland](https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1154). -- Menú personalizado en la barra superior para regresar al modo de juego (gamemode), lanzar Steam, y para abrir otras utilidades. +- Menú personalizado en la barra superior para regresar a Game Mode, lanzar Steam, y para abrir otras utilidades. - [GSConnect](https://extensions.gnome.org/extension/1319/gsconnect/), la versión de KDE Connect para GNOME, viene pre-instalado y listo para usarse. - La [extension Hanabi](https://github.com/jeffshee/gnome-ext-hanabi) viene incluida, la cual ofrece características similares al Wallpaper Engine en KDE. - Numerosas extensiones opcionales pre-instaladas, incluyendo [importantísimos parches para una mejor experiencia del usuario](https://www.youtube.com/watch?v=nbCg9_YgKgM). @@ -170,9 +219,7 @@ Las sub-variantes con el entorno de escritorio GNOME están disponibles tanto pa > \[!IMPORTANT\]\ > \**Las imágenes de disco (ISOs) pueden descargarse desde nuestra página de lanzamientos (releases) [aquí (en inglés)](https://github.com/ublue-os/bazzite/releases), también puedes encontrar una útil guía de instalación [aquí (en inglés)](https://universal-blue.discourse.group/docs?topic=30).** Si experimentas errores y/o problemas instalando Bazzite, checa nuestra [guía de solución de problemas (en inglés)](https://universal-blue.discourse.group/docs?topic=34). -Si estas actualmente usando una imagen de Universal Blue, por favor [sigue estas instrucciones (en inglés)](https://universal-blue.org/images/#image-list). - -Si deseas cambiar la base (rebase) de una imagen upstream existente de un sistema ostree de Fedora Silverblue/Kinoite a la imagen **para computadoras de escritorio con una GPU AMD ó Intel**, ejecuta el siguiente comando en una terminal: +Si deseas cambiar la base (rebase) a la imagen **para computadoras de escritorio con una GPU AMD ó Intel**, ejecuta el siguiente comando en una terminal: ```bash rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-gnome:stable @@ -187,19 +234,18 @@ rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-gnome-nvid > \[!WARNING\]\ > **Debido a un bug en upstream, Bazzite no puede ser utilizado por el momento en Steam Decks con solo 64 GB de almacenamiento eMMC. Ampliar tu almacenamiento cambiando el disco interno soluciona este problema.** -> \[!IMPORTANT] -> Los dispositivos que **NO** son una Steam Deck, también pueden utilizar las imágenes bazzite-deck, sin embargo tienen que usar una GPU de AMD o Intel, GPUs de NVIDIA no son compatibles por el momento con esta variante. - -Si necesitas realizar un rebase a la imagen **para Steam Deck/HTPC**, ejecuta el siguiente comando en una terminal: +Si necesitas realizar un rebase a la imagen **para Steam Deck/HTPC con GPUs AMD ó Intel**, ejecuta el siguiente comando en una terminal: ```bash rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-deck-gnome:stable ``` +**Para usuarios con Secure Boot habilitado:** Sigue nuestra [documentación para usuarios de Secure Boot](#secure-boot) antes de cambiar la base. ### Características del Upstream #### Universal Blue +- Drivers propietarios de NVIDIA pre-instalados. (Solo para imágenes NVDIA) - Flathub se encuentra habilitado por defecto. - Lanzador de comandos [`ujust`](https://github.com/casey/just) incluido, con diversos comandos muy convenientes. - Codecs multimedia fuera de la caja. @@ -247,9 +293,9 @@ Lee nuestras [preguntas frecuentes](https://universal-blue.discourse.group/docs? - [Guía para Configurar el Arranque Dual con Windows (Dual Boot)](https://universal-blue.discourse.group/docs?topic=129) - [Documentación Miscelánea](https://universal-blue.discourse.group/docs?topic=287) -Puedes encontrar documentación adicional relacionada al proyecto [aquí](https://universal-blue.discourse.group/docs). +Puedes encontrar documentación adicional relacionada al proyecto [aquí](https://universal-blue.discourse.group/docs?category=5). -Checa nuestros [boletines informativos](https://universal-blue.discourse.group/tag/bazzite-buzz), estos son publicados regularmente y los cuales hablan de las últimas actualizaciones del proyecto. +Checa nuestros [boletines informativos (disponibles en español](https://universal-blue.discourse.group/tag/bazzite-buzz), estos son publicados regularmente y los cuales hablan de las últimas actualizaciones del proyecto. ## Paquetes Personalizados @@ -327,18 +373,30 @@ cosign verify --key cosign.pub ghcr.io/ublue-os/bazzite El Arranque Seguro (Secure Boot) tiene soporte gracias a nuestra llave digital personalizada. La llave pública puede encontrarse en la raíz de [este](https://github.com/ublue-os/bazzite/blob/main/secure_boot.der) repositorio. - Si gustas registrar esta llave antes de instalar Bazzite, descarga la llave y ejecuta el siguiente comando en una terminal: ```bash sudo mokutil --timeout -1 sudo mokutil --import secure_boot.der ``` +Alternativamente, los usuarios que ya cuenten con una imagen de Universal Blue instalada, pueden ejecutar el siguiente comando en una terminal: `ujust enroll-secure-boot-key`. + +Si se te pide una contraseña, introduce `ublue-os`. ### Métricas de Contribución ![Bazzite](https://repobeats.axiom.co/api/embed/86b500d79c613015ad16f56df76c8e13f3fd98ae.svg "Repobeats analytics image") +#### Historial de Estrellas + + + + + + Star History Chart + + + ## Gracias Especiales Bazzite es producto de esfuerzo comunitario, y no existiría sin la contribución de todos. A continuación, están listadas unas cuantas personas que nos han ayudado a lo largo del camino: diff --git a/spec_files/mangohud/fedora.patch b/spec_files/mangohud/fedora.patch new file mode 100644 index 00000000..c20a2f9a --- /dev/null +++ b/spec_files/mangohud/fedora.patch @@ -0,0 +1,10 @@ +diff --git a/bin/mangoplot.py b/bin/mangoplot.py +index 7d82b3a..b974aa7 100755 +--- a/bin/mangoplot.py ++++ b/bin/mangoplot.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + + r""" + Script to plot all the MangoHud benchmarks contained in a given folder. diff --git a/spec_files/mangohud/mangohud.spec b/spec_files/mangohud/mangohud.spec new file mode 100644 index 00000000..2666cfb0 --- /dev/null +++ b/spec_files/mangohud/mangohud.spec @@ -0,0 +1,298 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.3.8) +## RPMAUTOSPEC: autorelease +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +## START: Set by rpmautospec +## (rpmautospec version 0.3.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 12; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +%global appname MangoHud + +%global imgui_ver 1.81 +%global imgui_wrap_ver 1 + +%global tarball_version %%(echo %{version} | tr '~' '-') + +# Tests requires bundled stuff. Disable for now. +%bcond_with tests + +Name: mangohud +Version: 0.7.0 +Release: 100.bazzite.{{{ git_dir_version }}} +Summary: Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load + +License: MIT +URL: https://github.com/flightlessmango/MangoHud +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +Source1: https://github.com/ocornut/imgui/archive/v%{imgui_ver}/imgui-%{imgui_ver}.tar.gz +Source2: https://wrapdb.mesonbuild.com/v1/projects/imgui/%{imgui_ver}/%{imgui_wrap_ver}/get_zip#/imgui-%{imgui_ver}-%{imgui_wrap_ver}-wrap.zip +Patch0: fedora.patch + +BuildRequires: appstream +BuildRequires: dbus-devel +BuildRequires: gcc-c++ +BuildRequires: git-core +BuildRequires: glew-devel +BuildRequires: glfw-devel +BuildRequires: glslang-devel +BuildRequires: libappstream-glib +BuildRequires: libstdc++-static +BuildRequires: mesa-libGL-devel +BuildRequires: meson >= 0.60 +BuildRequires: python3-mako +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(dri) +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(glew) +BuildRequires: pkgconfig(glfw3) +BuildRequires: pkgconfig(libdrm) + +BuildRequires: pkgconfig(spdlog) +BuildRequires: pkgconfig(nlohmann_json) +BuildRequires: pkgconfig(vulkan) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(x11) +BuildRequires: cmake(VulkanHeaders) + +%if %{with tests} +BuildRequires: libcmocka-devel +%endif + +Requires: hicolor-icon-theme +Requires: vulkan-loader%{?_isa} + +Recommends: (mangohud(x86-32) if glibc(x86-32)) + +Suggests: goverlay + +Provides: bundled(imgui) = %{imgui_ver} + +%global _description %{expand: +A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and +more.} + +%description %{_description} + + +%prep +%autosetup -n %{appname}-%{version} -p1 +%setup -qn %{appname}-%{version} -DTa1 +%setup -qn %{appname}-%{version} -DTa2 + +mkdir subprojects/imgui +mv imgui-%{imgui_ver} subprojects/ + + +%build +%meson \ + --wrap-mode=forcefallback \ + -Dinclude_doc=true \ + -Dwith_wayland=enabled \ + -Dwith_xnvctrl=disabled \ + -Dmangoapp=true \ + -Dmangoapp_layer=true \ + -Dmangohudctl=true \ + %if %{with tests} + -Dtests=enabled \ + %else + -Dtests=disabled \ + %endif + %{nil} +%meson_build + + +%install +%meson_install + + +%check +# https://github.com/flightlessmango/MangoHud/issues/812 +# ? tag-invalid : stock icon is not valid [io.github.flightlessmango.mangohud] +%dnl appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml +%if %{with tests} +%meson_test +%endif + + +%files +%license LICENSE +%doc README.md +%{_bindir}/%{name}* +%{_bindir}/mangoapp +%{_bindir}/mangoplot +%{_datadir}/icons/hicolor/scalable/*/*.svg +%{_datadir}/vulkan/implicit_layer.d/*Mango*.json +%{_docdir}/%{name}/* +%{_libdir}/%{name}/* +%{_mandir}/man1/%{name}.1* +%{_mandir}/man1/mangoapp.1* +%{_metainfodir}/*.metainfo.xml +%{_libdir}/%{name}/libMangoApp.so + + +%changelog +* Mon Oct 02 2023 Artem Polishchuk - 0.7.0-6 +- build: Fix description about 'mangoplot' + +* Mon Oct 02 2023 Artem Polishchuk - 0.7.0-5 +- build: mangohud-mangoplot as Suggests + +* Thu Sep 28 2023 Artem Polishchuk - 0.7.0-4 +- build: Add missed deps for mangoplot + +* Thu Sep 28 2023 Artem Polishchuk - 0.7.0-3 +- build: Package mangoplot as separate sub-package + +* Thu Sep 28 2023 Artem Polishchuk - 0.7.0-2 +- build: Upload sources + +* Thu Sep 28 2023 Artem Polishchuk - 0.7.0-1 +- build: Update to 0.7.0 + +* Sun Sep 10 2023 Artem Polishchuk - 0.6.9.1-11 +- build: Backport upstream patch + +* Sun Sep 10 2023 Artem Polishchuk - 0.6.9.1-10 +- test: Skip for s390x arch + +* Sun Sep 10 2023 Artem Polishchuk - 0.6.9.1-9 +- build: Drop BR: pkgconfig(vulkan) + +* Sun Sep 10 2023 Artem Polishchuk - 0.6.9.1-8 +- test: Fix and enable tests + +* Sun Sep 10 2023 Artem Polishchuk - 0.6.9.1-7 +- style: Minor Spec file update + +* Sun Sep 10 2023 Artem Polishchuk - 0.6.9.1-6 +- build: Bundle vulkan-headers to fix FTBFS + +* Thu Jul 20 2023 Fedora Release Engineering - 0.6.9.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Artem Polishchuk - 0.6.9.1-4 +- build: mangohud relies on old Vulkan-headers < 1.3.241 + +* Sat Jul 08 2023 Vitaly Zaitsev - 0.6.9.1-3 +- Rebuilt due to spdlog 1.12 update. + +* Wed Jun 28 2023 Vitaly Zaitsev - 0.6.9.1-2 +- Rebuilt due to fmt 10 update. + +* Wed Apr 19 2023 Artem Polishchuk - 0.6.9.1-1 +- build: Update to 0.6.9-1 + +* Fri Apr 14 2023 Artem Polishchuk - 0.6.9-1 +- build: Update to 0.6.9 + +* Tue Mar 14 2023 Artem Polishchuk - 0.6.8-4 +- build: Fix FTBFS 38 + +* Thu Jan 19 2023 Fedora Release Engineering - 0.6.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Nov 03 2022 Vitaly Zaitsev - 0.6.8-2 +- Rebuilt due to spdlog update. + +* Tue Aug 02 2022 Artem Polishchuk - 0.6.8-1 +- chore(update): 0.6.8 + +* Thu Jul 21 2022 Fedora Release Engineering - 0.6.7.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jul 19 2022 Mamoru TASAKA - 0.6.7.1-3 +- Rebuild for fmt-9 + +* Fri May 13 2022 Artem Polishchuk - 0.6.7.1-2 +- fix: Upload sources + +* Fri May 13 2022 Artem Polishchuk - 0.6.7.1-1 +- chore(update): 0.6.7-1 + +* Wed May 04 2022 Artem Polishchuk - 0.6.7-1 +- chore(update): 0.6.7 + +* Thu Jan 20 2022 Fedora Release Engineering - 0.6.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Oct 18 2021 Artem Polishchuk - 0.6.6-1 +- chore(update): 0.6.6 + +* Thu Oct 07 2021 Artem Polishchuk - 0.6.5-3 +- build: Fix multilib dep | rh#1830718 + +* Thu Jul 22 2021 Fedora Release Engineering - 0.6.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jul 08 2021 Artem Polishchuk - 0.6.5-1 +- build(update): 0.6.5 + +* Thu Jun 24 2021 Artem Polishchuk - 0.6.4-1 +- build(update): 0.6.4 + +* Sat Jun 12 2021 Artem Polishchuk - 0.6.3-1 +- build(update): 0.6.3 + +* Fri Jun 11 2021 Artem Polishchuk - 0.6.2-1 +- build(update): 0.6.2 + +* Wed Jan 27 2021 Artem Polishchuk - 0.6.1-3 +- build: Install 32-bit version automagically if multilib packages already + installed on end user machine + +* Tue Jan 26 2021 Fedora Release Engineering - 0.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sun Nov 29 2020 Artem Polishchuk - 0.6.1-1 +- build(update): 0.6.1 + +* Sun Nov 29 2020 Artem Polishchuk - 0.6.0-2 +- fix: version in HUD | GH-411 + +* Sat Nov 28 2020 Artem Polishchuk - 0.6.0-1 +- build(update): 0.6.0 + +* Sun Aug 16 2020 Artem Polishchuk - 0.5.1-1 +- Update to 0.5.1 + +* Tue Jul 28 2020 Fedora Release Engineering - 0.4.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jun 13 2020 Artem Polishchuk - 0.4.1-2 +- Add patch which fix F33 build | GH-213 + +* Thu Jun 11 2020 Artem Polishchuk - 0.4.1-1 +- Update to 0.4.1 +- Disable LTO + +* Sat May 02 2020 Artem Polishchuk - 0.3.5-1 +- Update to 0.3.5 +- Remove ExclusiveArch. Now compiles on all arches, see GitHub#88. + +* Thu Mar 26 2020 Artem Polishchuk - 0.3.1-2 +- Add GUI fron-end 'goverlay' as very weak dep + +* Wed Mar 18 2020 Artem Polishchuk - 0.3.1-1 +- Update to 0.3.1 + +* Sun Mar 15 2020 Artem Polishchuk - 0.3.0-1 +- Update to 0.3.0 + +* Fri Feb 14 2020 Artem Polishchuk - 0.2.0-11 +- Initial package +- Thanks for help with packaging to: + gasinvein + Vitaly Zaitsev + diff --git a/spec_files/mesa/old/26105.patch b/spec_files/mesa/old/26105.patch new file mode 100644 index 00000000..6af0603d --- /dev/null +++ b/spec_files/mesa/old/26105.patch @@ -0,0 +1,204 @@ +diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp +index 561f3cc02e0..ebc54a900e3 100644 +--- a/src/amd/compiler/aco_instruction_selection.cpp ++++ b/src/amd/compiler/aco_instruction_selection.cpp +@@ -12526,7 +12526,8 @@ select_rt_prolog(Program* program, ac_shader_config* config, + */ + PhysReg out_uniform_shader_addr = get_arg_reg(out_args, out_args->rt.uniform_shader_addr); + PhysReg out_launch_size_x = get_arg_reg(out_args, out_args->rt.launch_size); +- PhysReg out_launch_size_z = out_launch_size_x.advance(8); ++ PhysReg out_launch_size_y = out_launch_size_x.advance(4); ++ PhysReg out_launch_size_z = out_launch_size_y.advance(4); + PhysReg out_launch_ids[3]; + for (unsigned i = 0; i < 3; i++) + out_launch_ids[i] = get_arg_reg(out_args, out_args->rt.launch_id).advance(i * 4); +@@ -12534,9 +12535,13 @@ select_rt_prolog(Program* program, ac_shader_config* config, + PhysReg out_record_ptr = get_arg_reg(out_args, out_args->rt.shader_record); + + /* Temporaries: */ +- num_sgprs = align(num_sgprs, 2) + 4; +- PhysReg tmp_raygen_sbt = PhysReg{num_sgprs - 4}; +- PhysReg tmp_ring_offsets = PhysReg{num_sgprs - 2}; ++ num_sgprs = align(num_sgprs, 2); ++ PhysReg tmp_raygen_sbt = PhysReg{num_sgprs}; ++ num_sgprs += 2; ++ PhysReg tmp_ring_offsets = PhysReg{num_sgprs}; ++ num_sgprs += 2; ++ ++ PhysReg tmp_invocation_idx = PhysReg{256 + num_vgprs++}; + + /* Confirm some assumptions about register aliasing */ + assert(in_ring_offsets == out_uniform_shader_addr); +@@ -12610,6 +12615,36 @@ select_rt_prolog(Program* program, ac_shader_config* config, + bld.vop1(aco_opcode::v_mov_b32, Definition(out_record_ptr.advance(4), v1), + Operand(tmp_raygen_sbt.advance(4), s1)); + ++ /* For 1D dispatches converted into 2D ones, we need to fix up the launch IDs. ++ * Calculating the 1D launch ID is: id = local_invocation_index + (wg_id.x * wg_size). ++ * in_wg_id_x now holds wg_id.x * wg_size. ++ */ ++ bld.sop2(aco_opcode::s_lshl_b32, Definition(in_wg_id_x, s1), Definition(scc, s1), ++ Operand(in_wg_id_x, s1), Operand::c32(program->workgroup_size == 32 ? 5 : 6)); ++ ++ /* Calculate and add local_invocation_index */ ++ bld.vop3(aco_opcode::v_mbcnt_lo_u32_b32, Definition(tmp_invocation_idx, v1), Operand::c32(-1u), ++ Operand(in_wg_id_x, s1)); ++ if (program->wave_size == 64) { ++ if (program->gfx_level <= GFX7) ++ bld.vop2(aco_opcode::v_mbcnt_hi_u32_b32, Definition(tmp_invocation_idx, v1), ++ Operand::c32(-1u), Operand(tmp_invocation_idx, v1)); ++ else ++ bld.vop3(aco_opcode::v_mbcnt_hi_u32_b32_e64, Definition(tmp_invocation_idx, v1), ++ Operand::c32(-1u), Operand(tmp_invocation_idx, v1)); ++ } ++ ++ /* Make fixup operations a no-op if this is not a converted 2D dispatch. */ ++ bld.sopc(aco_opcode::s_cmp_lg_u32, Definition(scc, s1), ++ Operand::c32(ACO_RT_CONVERTED_2D_LAUNCH_SIZE), Operand(out_launch_size_y, s1)); ++ bld.sop2(Builder::s_cselect, Definition(vcc, bld.lm), ++ Operand::c32_or_c64(-1u, program->wave_size == 64), ++ Operand::c32_or_c64(0, program->wave_size == 64), Operand(scc, s1)); ++ bld.vop2(aco_opcode::v_cndmask_b32, Definition(out_launch_ids[0], v1), ++ Operand(tmp_invocation_idx, v1), Operand(out_launch_ids[0], v1), Operand(vcc, bld.lm)); ++ bld.vop2(aco_opcode::v_cndmask_b32, Definition(out_launch_ids[1], v1), Operand::zero(), ++ Operand(out_launch_ids[1], v1), Operand(vcc, bld.lm)); ++ + /* jump to raygen */ + bld.sop1(aco_opcode::s_setpc_b64, Operand(out_uniform_shader_addr, s2)); + +diff --git a/src/amd/compiler/aco_interface.h b/src/amd/compiler/aco_interface.h +index 8f35e18b5b0..9d2c1dbb2af 100644 +--- a/src/amd/compiler/aco_interface.h ++++ b/src/amd/compiler/aco_interface.h +@@ -32,6 +32,9 @@ + extern "C" { + #endif + ++/* Special launch size to indicate this dispatch is a 1D dispatch converted into a 2D one */ ++#define ACO_RT_CONVERTED_2D_LAUNCH_SIZE -1u ++ + typedef struct nir_shader nir_shader; + struct ac_shader_config; + struct aco_shader_info; +diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c +index cdede679552..c7dd4b216d4 100644 +--- a/src/amd/vulkan/radv_cmd_buffer.c ++++ b/src/amd/vulkan/radv_cmd_buffer.c +@@ -42,6 +42,8 @@ + #include "ac_debug.h" + #include "ac_shader_args.h" + ++#include "aco_interface.h" ++ + #include "util/fast_idiv_by_const.h" + + enum { +@@ -10003,7 +10005,26 @@ enum radv_rt_mode { + }; + + static void +-radv_trace_rays(struct radv_cmd_buffer *cmd_buffer, const VkTraceRaysIndirectCommand2KHR *tables, uint64_t indirect_va, ++radv_upload_trace_rays_params(struct radv_cmd_buffer *cmd_buffer, VkTraceRaysIndirectCommand2KHR *tables, ++ enum radv_rt_mode mode, uint64_t *launch_size_va, uint64_t *sbt_va) ++{ ++ uint32_t upload_size = mode == radv_rt_mode_direct ? sizeof(VkTraceRaysIndirectCommand2KHR) ++ : offsetof(VkTraceRaysIndirectCommand2KHR, width); ++ ++ uint32_t offset; ++ if (!radv_cmd_buffer_upload_data(cmd_buffer, upload_size, tables, &offset)) ++ return; ++ ++ uint64_t upload_va = radv_buffer_get_va(cmd_buffer->upload.upload_bo) + offset; ++ ++ if (mode == radv_rt_mode_direct) ++ *launch_size_va = upload_va + offsetof(VkTraceRaysIndirectCommand2KHR, width); ++ if (sbt_va) ++ *sbt_va = upload_va; ++} ++ ++static void ++radv_trace_rays(struct radv_cmd_buffer *cmd_buffer, VkTraceRaysIndirectCommand2KHR *tables, uint64_t indirect_va, + enum radv_rt_mode mode) + { + if (cmd_buffer->device->instance->debug_flags & RADV_DEBUG_NO_RT) +@@ -10024,34 +10045,43 @@ radv_trace_rays(struct radv_cmd_buffer *cmd_buffer, const VkTraceRaysIndirectCom + cmd_buffer->compute_scratch_size_per_wave_needed = + MAX2(cmd_buffer->compute_scratch_size_per_wave_needed, scratch_bytes_per_wave); + ++ /* Since the workgroup size is 8x4 (or 8x8), 1D dispatches can only fill 8 threads per wave at most. To increase ++ * occupancy, it's beneficial to convert to a 2D dispatch in these cases. */ ++ if (tables && tables->height == 1 && tables->width >= cmd_buffer->state.rt_prolog->info.cs.block_size[0]) ++ tables->height = ACO_RT_CONVERTED_2D_LAUNCH_SIZE; ++ + struct radv_dispatch_info info = {0}; + info.unaligned = true; + +- uint64_t launch_size_va; +- uint64_t sbt_va; ++ uint64_t launch_size_va = 0; ++ uint64_t sbt_va = 0; + + if (mode != radv_rt_mode_indirect2) { +- uint32_t upload_size = mode == radv_rt_mode_direct ? sizeof(VkTraceRaysIndirectCommand2KHR) +- : offsetof(VkTraceRaysIndirectCommand2KHR, width); +- +- uint32_t offset; +- if (!radv_cmd_buffer_upload_data(cmd_buffer, upload_size, tables, &offset)) +- return; +- +- uint64_t upload_va = radv_buffer_get_va(cmd_buffer->upload.upload_bo) + offset; +- +- launch_size_va = +- (mode == radv_rt_mode_direct) ? upload_va + offsetof(VkTraceRaysIndirectCommand2KHR, width) : indirect_va; +- sbt_va = upload_va; ++ launch_size_va = indirect_va; ++ radv_upload_trace_rays_params(cmd_buffer, tables, mode, &launch_size_va, &sbt_va); + } else { + launch_size_va = indirect_va + offsetof(VkTraceRaysIndirectCommand2KHR, width); + sbt_va = indirect_va; + } + ++ uint32_t remaining_ray_count = 0; ++ + if (mode == radv_rt_mode_direct) { + info.blocks[0] = tables->width; + info.blocks[1] = tables->height; + info.blocks[2] = tables->depth; ++ ++ if (tables->height == ACO_RT_CONVERTED_2D_LAUNCH_SIZE) { ++ /* We need the ray count for the 2D dispatch to be a multiple of the y block size for the division to work, and ++ * a multiple of the x block size because the invocation offset must be a multiple of the block size when ++ * dispatching the remaining rays. Fortunately, the x block size is itself a multiple of the y block size, so ++ * we only need to ensure that the ray count is a multiple of the x block size. */ ++ remaining_ray_count = tables->width % rt_prolog->info.cs.block_size[0]; ++ ++ uint32_t ray_count = tables->width - remaining_ray_count; ++ info.blocks[0] = ray_count / rt_prolog->info.cs.block_size[1]; ++ info.blocks[1] = rt_prolog->info.cs.block_size[1]; ++ } + } else + info.va = launch_size_va; + +@@ -10085,6 +10115,22 @@ radv_trace_rays(struct radv_cmd_buffer *cmd_buffer, const VkTraceRaysIndirectCom + assert(cmd_buffer->cs->cdw <= cdw_max); + + radv_dispatch(cmd_buffer, &info, pipeline, rt_prolog, VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR); ++ ++ if (remaining_ray_count) { ++ info.blocks[0] = remaining_ray_count; ++ info.blocks[1] = 1; ++ info.offsets[0] = tables->width - remaining_ray_count; ++ ++ /* Reset the ray launch size so the prolog doesn't think this is a converted dispatch */ ++ tables->height = 1; ++ radv_upload_trace_rays_params(cmd_buffer, tables, mode, &launch_size_va, NULL); ++ if (size_loc->sgpr_idx != -1) { ++ radv_emit_shader_pointer(cmd_buffer->device, cmd_buffer->cs, base_reg + size_loc->sgpr_idx * 4, launch_size_va, ++ true); ++ } ++ ++ radv_dispatch(cmd_buffer, &info, pipeline, rt_prolog, VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR); ++ } + } + + VKAPI_ATTR void VKAPI_CALL diff --git a/spec_files/mesa/old/Mesa-MLAA-License-Clarification-Email.txt b/spec_files/mesa/old/Mesa-MLAA-License-Clarification-Email.txt new file mode 100644 index 00000000..30bdf2e9 --- /dev/null +++ b/spec_files/mesa/old/Mesa-MLAA-License-Clarification-Email.txt @@ -0,0 +1,117 @@ + +Subject: RE: Question about Mesa MLAA license +From: Jorge Jimenez +Date: 01/08/2013 12:50 PM +To: Tom Callaway +CC: "jorge@iryoku.com" + +Yes to both questions. + +Thanks, +Jorge + +From: Tom Callaway +Sent: January 8, 2013 6:49 PM +To: Jorge Jimenez +CC: jorge@iryoku.com +Subject: Re: Question about Mesa MLAA license + +On 01/08/2013 12:39 PM, Jorge Jimenez wrote: +> Hi Tom, +> +> What we meant with that is that we made an exception for clause 2. +> Instead of clause 2, in the case of the Mesa project, you have to name +> the technique Jimenez's MLAA in the config options of Mesa. We did that +> just to allow them to solve license issues. This exception should be for +> the Mesa project, and any project using Mesa, like Fedora. +> +> We want to widespread usage of our MLAA, so we want to avoid any kind of +> license complications. Hope current one is good for Fedora, if not +> please tell, and we'll see what we can do! + +Okay, a few more questions: + +* If Fedora decides to simply reproduce the quoted statement: +"Uses Jimenez's MLAA. Copyright (C) 2010 by Jorge Jimenez, Belen Masia, +Jose I. Echevarria, Fernando Navarro and Diego Gutierrez." + +Specifically, if this is done as part of documentation included with +Mesa, is that sufficient to meet clause 2 even if the Mesa config option +is not set as described in your exception? + +* Currently, the Mesa config option for MLAA says: "Morphological +anti-aliasing based on Jimenez\' MLAA. 0 to disable, 8 for default +quality". Is this in compliance with your exception? + +Thanks again, + +~tom + +== +Fedora Project + +Subject: RE: Question about Mesa MLAA license +From: Jorge Jimenez +Date: 01/08/2013 12:39 PM +To: "jorge@iryoku.com" , Tom Callaway + +Hi Tom, + +What we meant with that is that we made an exception for clause 2. +Instead of clause 2, in the case of the Mesa project, you have to name +the technique Jimenez's MLAA in the config options of Mesa. We did that +just to allow them to solve license issues. This exception should be for +the Mesa project, and any project using Mesa, like Fedora. + +We want to widespread usage of our MLAA, so we want to avoid any kind of +license complications. Hope current one is good for Fedora, if not +please tell, and we'll see what we can do! + +Cheers, +Jorge + +From: Tom Callaway +Sent: January 8, 2013 6:30 PM +To: jorge@iryoku.com +Subject: Question about Mesa MLAA license + +Jorge, + +Thanks for all of your fantastic graphics work! I have been auditing +Fedora (a popular distribution of Linux) for license compliance and I +came across your MLAA code in Mesa. + +The license says: + + * 2. Redistributions in binary form must reproduce the following +statement: + * + * "Uses Jimenez's MLAA. Copyright (C) 2010 by Jorge Jimenez, Belen Masia, + * Jose I. Echevarria, Fernando Navarro and Diego Gutierrez." + * + * Only for use in the Mesa project, this point 2 is filled by naming the + * technique Jimenez's MLAA in the Mesa config options. + +That wording is unclear. When you say "Only for use in the Mesa +project...", it seems like you could either be saying: + +- This code may only be used as part of Mesa. + +OR + +- In Mesa, you can comply with clause 2 by simply selecting "Jimenez's +MLAA" in the Mesa config options. + +***** + +If the first item is true, then we may have to remove the MLAA code from +Fedora's copy of Mesa. However, looking at the license on your SMAA +code, I do not believe it to be the case. Please let me know either way! + +Thanks in advance, + +Tom Callaway +Fedora Legal + +== +Fedora Project diff --git a/spec_files/mesa/old/gnome-shell-glthread-disable.patch b/spec_files/mesa/old/gnome-shell-glthread-disable.patch new file mode 100644 index 00000000..b2caeb8d --- /dev/null +++ b/spec_files/mesa/old/gnome-shell-glthread-disable.patch @@ -0,0 +1,11 @@ +diff -up mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf.dma mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf +--- mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf.dma 2022-11-25 10:32:32.175879868 +1000 ++++ mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf 2022-11-25 10:32:43.743067470 +1000 +@@ -653,6 +653,7 @@ TODO: document the other workarounds. + + + +