Runforrest World

Mi experiencia con musl

Tabla de contenidos:

Desde hace 1 semana e migrado a Void Linux con musl, esto lo hice más que todo por pura curiosidad y aburrimiento ya que desde hace días me llamaba la atención musl por el minimalismo que ofrece comparado con glibc y su supuesta eficiencia, en esta guia quiero contar mi experiencia usando musl en el escritorio, esta guia está pensada más que todo para Void Linux musl pero algunas cosas se pueden replicar en otras distros como Chimera o Alpine.

¿Qué es musl?

Primeramente quiero dar una resumida explicación sobre musl y porque existe.

Musl es una implementación estándar C (libc) para sistemas tipo unix más que todo, el motivo por el que existe musl es porque basicamente intenta que la libc sea más limpia y simple si se compara con glibc, eso garantiza portabilidad más que todo, otra cosa a tomar en cuenta es que trata de enfocarse en seguir lo que indica el estándar C y tambien comportarse de manera uniforme.

Musl en el escritorio

Musl no es tan usado en el escritorio por ciertas limitaciones con glibc, entre ellas se encuentra la compatibilidad con el software (más que todo privativo) el software echo para glibc no puede funcionar en musl por lo que para el usuario común puede ser un dolor de cabeza, la unica forma es compilandolo directamente a esta libreria para que pueda funcionar sin problemas aunque tambien hay ciertas limitaciones como que si se desea compilar un navegador como lo es Firefox hay cosas que requerirán más trabajo como el uso de parches y tambien hay que tomar en cuenta que en la mayoria de navegadores widevine no funcionará así que el DRM es inexistente en navegadores compilados para esta libreria.

Con esto en mente entonces quiero dar inicio a esta entrada y contar un poco mi experiencia con lo que llevo usando musl en el escritorio.

Mi experiencia

Musl lo llevo usando por poco tiempo aunque no es la primera vez que uso una distribución con musl ya que antiguamente usaba Alpine Linux con Plasma, podria decirse que la experiencia era regular ya que en ese tiempo no estaba tan al tanto sobre como funcionaba Alpine y musl en general junto con lo que se podia hacer.

Entonces la semana pasada me puse a probar Void LInux en su edición con musl en una VM ya que tenia cierto interés en esta edición, ya tenia ciertos conocimientos sobre Void y XBPS así que no fué un problema acostumbrarse, cuando ya habia investigado sobre el tema entonces decidí hacer un respaldo de todo y instalar Void musl, por supuesto la instalación fué un exito.

En general puedo decir que no hay mucha diferencia en cuanto a usabilidad solo te terminas dando cuenta que usas musl pero a su vez sabes que usas Void y sabes como funciona por lo que no se siente como si estuvieras usando algo unico o con algo especial.

Software

Un tema del que quiero hablar es del software y como hice para arreglarmelas.

Basicamente hice varias cosas, usar el software ofrecido de los repos, usar Conty (ya hablaré sobre este programa más adelante) y compilar lo que nesecitaba por mi cuenta, Esto ultimo lo hice con la ayuda de la IA ya que nunca habia compilado software para musl y me sentia bastante confundido al respecto pero pude compilar un solo programa por mi cuenta, en este caso era openmohaa, un motor open source del videojuego Medal Of Honor Allied Assault, fuera de eso el resto lo usé mediante appimages echos para funcionar en musl y en glibc sin problemas.

Tambien respecto a navegación pude usar librewolf con un repositorio de terceros, por suerte ofrecia una versión para musl así que eso hizo que estuviera satisfecho usando mi navegador favorito, como dije mucho antes el DRM no funciona pero en mi caso es lo de menos ya que rara vez consumo contenido con DRM.

Tambien quiero decir que tuve que dejar de usar joplin ya que lamentablemente no lo pude hacer funcionar de forma nativa (joplin tiene varios problemas visuales ejecutandolo via conty) así que temporalmente estoy usando qownnotes como editor alternativo.

Gaming

Algunos dicen que en musl no se puede jugar, en parte tienen razón pero como dicen nada es imposible y con esto quiero comentar la forma en la que e podido jugar sin problemas, tanto de forma nativa como corriendo juegos de Windows mediante proton.

Para empezar quiero hablar de los titulos nativos, en este caso usé lutris como librería local y para ejecutar los juegos ya que la mayoria de titulos nativos solo fueron echos para glibc usé un programa llamado conty, este programa se podria decir que es como una especie de contenedor que ejecuta Arch Linux por dentro, el programa basicamente permite ejecutar software compilado para glibc en musl o directamente permite ejecutar software como wine o steam de forma aislada y sin instalar nada, gracias a este programa es que pude ejecutar mis titulos nativos sin dramas, solo es cuestion de ejecutar el juego nativo que quieras usando ./conty.sh juego_nativo, ya con eso practicamente el juego se ejecutaria y el rendimiento no disminuye por lo que no hay que preocuparse por eso.

Steam:

Quiero hablar un poco de steam y como fué que lo pude ejecutar sin preocuparme por perder la mayoria de funciones o cosas como el VAC, basicamente lo que hice fué usar un appimage que tiene todas las dependencias y incluso drivers para steam a su vez este permite la ejecución en musl y glibc practicamente sin problemas, asi que con eso pude ejecutar los juegos de mi libreria ya que el appimage es practicamente un wrapper por dentro bien ligero por lo que el peso no será una preocupación.

Así que en general puedo decir que la experiencia fué buena tampoco soy alguien de jugar pero con estas cositas te las puedes arreglar facil y sin complicaciones aunque siempre será mejor usar una distro con glibc de toda la vida para gaming claro está y es lo que yo recomiendo.

Palabras finales

Bueno hasta aquí llegó la entrada, muchas gracias a todos por leer y espero que les haya gustado esta lectura ^^

#software