sábado, 25 de julio de 2026

Pataleando - Si funciona, no lo toques. Wayland, PipeWire, Snap, y GTK 3+.

Llevo algo más de 10 años sin quejarme de nada y se me han acumulado unas cuantas cosas que no me gustan, así que las he metido todas aquí, juntas y resumidas. Todas tienen algo en común: algún "corbata" decide que, por lo que sea, no le gusta lo que hay, otro "corbata" propone una alternativa muy bonita en teoría pero terrible en la práctica, un comité de "corbatas" decide que ése es el nuevo estándar y lo impone, las distros mayoritarias lo adoptan, las webs especializadas lo ensalzan (destacando sus supuestas ventajas y minimizando sus problemas) y de repente no se puede escapar de la nueva moda, te guste o no.

Wayland se creó porque Xorg estaba anticuado, era difícil de mantener, de ampliar y de reparar fallos, y no contaba con una seguridad sólida de base. Llevan unos 15 años de desarrollo y sigue verde, careciendo de funcionalidades básicas y plagado de bugs. De propina, han roto todo el ecosistema. Para cuando alcance la funcionalidad de Xorg, ya estará más anticuando que éste cuando se propuso el reemplazo.
La mayoría de entornos de escritorio dependen de equipos de desarrollo demasiado pequeños para plantearse una migración de este calado, así que en los próximos años veremos cómo decenas de entornos perfectamente funcionales quedan obsoletos porque patatas.
Muchos programas dependen y dependerán de capas de compatibilidad como Xwayland, lo que supone más fallos, más dificultad de configuración y diagnóstico, más recursos desperdiciados y más horas de desarrollo para conseguir el mismo resultado.
KDE es un entorno con un gran equipo de desarrollo detrás, lleva años adaptándose y aún tiene problemas con transparencias, temas, arrastrar y soltar, copiar con click central, o incluso pasar el foco del ratón de una aplicación a otra (*). ¿Qué será de entornos más modestos, como XFCE, Mate, OpenBox...?
(*) En varias aplicaciones GTK tengo que mover varias veces el ratón sobre los menús para que se marque el elemento que quiero usar. En SMPlayer uso la rueda del ratón para subir y bajar el volumen, y sólo me reconoce aproximadamente la cuarta parte del giro. Cosas así.

Bueno, pues no lo uses. Linux es libre y modular.
¡Ja! Buena suerte usando Xorg con gráficas nuevas, a menos que tengas la capacidad de escribir tus propios drivers. Con Intel ya he estado sufriendo con un tearing bestial que no se puede mitigar ni desde el driver (con el antiguo sí se podía, pero no funciona con GPU nuevas), ni desde el entorno (probadas todas las opciones disponibles en Cinnamon    , Plasma 5 y 6, XFCE y LXqt), ni con herramientas externas (P.Ej.: Compton).
Ahora mismo hay dos opciones: sufrir un Xorg moribundo para el que están retirando el soporte, o sufrir un Wayland aún demasiado verde y plagado de problemas.
De propina, lo que antes era modular (ventanas, compositor, efectos, cambios de resolución...), ahora va todo junto. Ya no se puede usar el gestor de ventanas A con el escritorio B, el compositor C y el capturador de pantalla D. De hecho, A, B, C y D han quedado obsoletos y ya no funcionan en absoluto. Leñe, yo me monté hace años un LXDE sobre Metacity, con Compton, XRandr, Newrez y Scrot, funcionaba de escándalo y el sistema entero consumía poco más de 100MB de RAM. Ahora, o te gusta todo de un entorno de escritorio, o te aguantas.

PipeWire apesta. Es lento, se bloquea cuando quiere, a veces distorsiona el sonido o produce ruidos extraños, da problemas al cambiar la salida de audio, problemas con el Bluethooth, y ya se me ha quedado el servicio congelado varias veces en instalaciones limpias. Hay mil posibles soluciones que a unos les funcionan y a otros no, todas dependiendo de archivos extraños y comandos arcanos.
PulseAudio funciona. También dio muchos problemas los primeros años, pero ha madurado y ahora es una roca.

 Bueno, pues no lo uses. Linux es libre y modular.
¡Ja, ja y ja! Los chicos de KDE han decidido que no se pueda instalar PulseAudio en el mismo sistema que Plasma porque pimientos. Lo gracioso es que no parece haber ningún motivo técnico: quitando un meta paquete que fuerza esas dependencias, se puede tener instalado Plasma, PipeWire y PulseAudio en el mismo sistema sin problema, y PulseAudio funciona estupendamente con Plasma.
Un usuario normal no tiene por qué saber cómo pelear con el sistema para conseguirlo, ni tiene por qué saberlo. Lo que sabe es que antes el audio funcionaba estupendamente en su ordenador, ahora falla como una escopeta de feria, y las soluciones que pueda encontrar le suenan a arameo en verso.

Snap es un despropósito. Al margen de que esté centralizado, o que dependa de una empresa privada, u otros motivos éticos, morales o legales, el verdadero problema es que no es eficiente ni eficaz.
NOTA: Tengo entendido que parte de todo esto vale también para Flatpak. No lo he probado, así que no lo mencionaré.
Se creó (supuestamente) para evitar las incompatibilidades con dependencias del sistema: que si la librería "loquesea 1.2.3" es incompatible con la 1.2.4, que si este paquete no está en tal o cual distribución... También se creó pensando en la seguridad: cada aplicación se ejecuta en su propio "sistema virtual", independiente del sistema principal.
El resultado son paquetes que ocupan diez veces más en Snap que, por ejemplo, en deb o rpm, que consumen mucha más RAM, que requieren más CPU, que dependen de un servicio de sistema que también consume RAM, CPU y tiempo de arranque, que el navegador no te permita usar la cámara, que un emulador no pueda cargar juegos porque no tiene acceso al sistema de archivos o que un capturador de vídeo sólo muestre fondo negro.
En cuanto a los conflictos de dependencias, ¿no sería mejor que las bibliotecas fueran más estables entre versiones, o que se pudieran tener varias versiones de la misma sin pelearse entre ellas, o que se incluyeran los archivos necesarios en el mismo paquete del programa en caso de que no estén en el sistema, o...?  Seguro que hay docenas de soluciones mejores que ésta.
En cuanto a la seguridad, los contenedores ya resuelven ese problema, sobre todo en entornos de servidor, donde son realmente útiles. En un entorno doméstico no es necesario que el reproductor de música y el emulador de MegaDrive, por ejemplo, estén aislados del sistema.

 Bueno, pues no lo uses. Linux es libre y modular.
¡Jo jo jo jo! ¡Juas! Programas que antes estaban en repositorios oficiales ahora sólo están disponibles en Snap, o en páginas externas, o en código para compilar. Con suerte, alguien habrá preparado un paquete AppImage, que dentro de lo malo al menos parecen funcionar bien sin comerse los recursos del sistema para nada.
Me he acostumbrado a que, cada vez que instalo una distro basada en Ubuntu, lo primero es hacer magia para tener Firefox en formato deb desde el repositorio de Mozilla, comprobar otras dependencias de Snap, quitarlas, anular el servicio desinstalarlo y configurar APT para que no intente instalar nada en ese formato. Es un coñazo, impuesto porque sí, y no debería ser necesario.
Yo lo tengo claro: Si sólo está en Snap o en código fuente, me arremango y compilo. Si sólo está en Snap, o si no hay manera de compilarlo (me ha pasado más de una vez), ese programa ya no existe.

En cuanto a GTK 3+, ¿quién fue el lumbreras que decidió meter los menús en la barra de título? ¿Quién pensó que lo mejor era que no se distinguiera la barra de títulos del resto? ¿No podían haberlo hecho flexible, que el usuario eligiera sin prefería un estilo u otro?
Ya me obligaron hace años a cambiar Gedit por Pluma, y en cualquier entorno que no sea Gnome puro te encuentras todo el tiempo con ventanas inconsistentes, con menús desplegables que requieren tres clicks cuando antes bastaba con uno o dos, y han roto el estándar "Archivo, Edición, etc..." cambiándolo en unos programas por menús tipo hamburguesa, en otros por botones no siempre bien definidos, en otros por etiquetas que no se distingue si son interactivas o sólo informativas... Un caos.

 

En fin, hoy ya me he desahogado.
Quiero dejar claro que todo esto son opiniones personales, no verdades absolutas. Cualquiera que no esté de acuerdo, pues... felicidades. :P
Puedes compartir tus propias opiniones en los comentarios, que para eso están. Dado lo polémico del tema, esta vez no se aceptarán insultos, y me reservo el derecho a no contestar si no me apetece, que estoy malito de lo mío. ó_ò

No hay comentarios: