Conecta con nosotros

A Fondo

4 consejos para entender el soporte para el hardware de Linux

Publicado

el

Soporte de Linux para el hardware

Aunque Linux ha mejorado mucho en términos de usabilidad y facilidad de manejo en la última década, eso no quita que siga siendo un sistema operativo muy diferente a Windows. De hecho, las mejoras no han hecho que se parezca a Windows, sino que el propio Linux es más fácil de usar dentro de sus propios términos, por lo que el cambio a día de hoy sigue siendo grande e inasumible para muchos usuarios.

Cuando se recomiendan distribuciones, desde hace bastante tiempo nos encontramos con más o menos las mismas, con la única posible salvedad de una Fedora que ha mejorado bastante en los últimos tiempos, cosa que se ha traducido en un aumento considerable de la cantidad de usuarios que tiene. Por otro lado, HoloISO ha emergido de tapadillo como forma de usar SteamOS más allá de la Steam Deck, pero si se usa una gráfica de NVIDIA, lo suyo es tirar de Ubuntu.

Otro factor que está ahí es el ya perenne domino de Ubuntu, que en cantidad de usuarios se ha asentado como la gran dominadora del escritorio Linux. Por detrás están Linux Mint, la derivada de Ubuntu con más usuarios, y Debian, cuya popularidad ha subido gracias a que ahora es más fácil de usar y a la incorporación de software relativamente reciente en el lanzamiento de una nueva versión estable.

Con un panorama en torno a las distribuciones que está bastante estancado desde hace mucho tiempo, no viene mal profundizar un poco más en los componentes encargados de soportar el hardware para dar al usuario una información más precisa de lo que podría necesitar dependiendo de sus circunstancias. Aquí no voy a hacer una exposición profunda, pero espero que sirva para que el lector tenga unas ideas más claras si tiene la intención de adentrarse en Linux.

Linux es solo un kernel

Si bien el sistema operativo suele ser llamado Linux para simplificar y como forma de abreviar, la realidad es que se trata de GNU/Linux, o sea, la combinación de las herramientas del proyecto GNU con el kernel Linux. GNU y Linux son dos proyectos independientes sin relación entre sí (al menos directa), así que es posible ver las herramientas de GNU combinadas con otros núcleos, como por ejemplo Hurd, y a Linux introducido en otros sistemas operativos, de entre los que sobresale Android.

El kernel Linux es el corazón de la bestia, el que se encarga de hacer que el ordenador funcione y de proporcionar lo necesario para soportar componentes de la placa base (si es que están soportados), el chip de sonido, el procesador e incluso la gráfica, pudiendo, dependiendo del caso, controlar aspectos como la potencia y la temperatura. Para ello proporciona los drivers y soporta el firmware que el hardware pueda requerir.

Linux es un componente cuyo desarrollo es muy activo, así que no hace falta ser un genio para adivinar que, cuanto más nueva sea la versión, mejor soporte para el hardware reciente proporciona. De hecho, si el hardware es muy reciente, es muy probable que lo suyo sea emplear alguna distribución que se mantenga muy actualizada, como Manjaro, Fedora u openSUSE Tumbleweed, con el fin de ir recibiendo mejoras conforme van pasando los meses.

Linux

En caso de que el usuario disponga de un equipo que ya tiene varios años, es posible que le convenga más utilizar una distribución con un software más estanco y que le proporcione un suelo más estable, como Ubuntu o Debian. Dentro del mundo de Linux hay mucha versionitis, o sea, obsesión por tener siempre lo último de lo último, pero si un hardware tiene cuatro años o más, es poco probable que reciba mejoras de calado a través del kernel.

Un aspecto a tener en cuenta de Linux es que es un núcleo monolítico puro. Esto hace que instalar drivers externos, salvo excepciones, sea una tarea bastante más difícil que en Windows, por lo que al final resulta más práctico sustituir todo el kernel y los paquetes de firmware si versiones más recientes incluyen el soporte o lo mejoran (aquí volvemos a las distribuciones que se mantienen muy actualizadas). Sin embargo, esto también permite transferir un SSD de un ordenador Intel a otro AMD y que todo funcione a la primera, ya que los controladores están integrados en el kernel.

Mesa, la otra pata de la pila gráfica

Mesa es uno de los grandes olvidados del mundo de Linux, más que nada porque sigue sin ser tenido muy en cuenta desde muchos frentes, a pesar de que puede ser un componente incluso más determinante que el kernel dependiendo del contexto.

La pila gráfica de GNU/Linux es un tanto especial debido a que está partida en dos. Por un lado tenemos el kernel, que se encarga de proporcionar los drivers que permiten detectar y encender una gráfica, además de controlar aspectos como la potencia y la temperatura. Por otro lado está Mesa, que suministra los soportes de OpenGL, Vulkan y OpenCL, tanto para Intel como Radeon (NVIDIA también, pero a través del driver del kernel Nouveau, que no es oficial). En realidad soporta una gran variedad de gráficas, entre ellas las presentes en los procesadores Apple Silicon, pero en este artículo me centraré exclusivamente en el espectro x86 para ser más concreto y simplificar.

La razón de por qué Mesa no es tenido en cuenta en muchas ocasiones tiene su origen en ese pasado en el que tener aceleración por hardware era algo extraordinario en GNU/Linux, pero hoy en día es algo que está muy normalizado y que escritorios como GNOME y KDE Plasma necesitan para dar todo su potencial. Y es más, el no tener una versión de Mesa que ofrezca unos mínimos puede hacer que la experiencia con una gráfica no sea buena hasta con el escritorio, incluso cuando se emplea una versión de Linux que va más que sobrada.

AMD Radeon

Si uno usa el sistema solo para el escritorio, actualizar Mesa no es importante si la versión presente cumple con las necesidades del usuario, pero todo cambia si este se dedica a jugar con una gráfica Radeon. Aquí actualizar Mesa es bastante importante principalmente para recibir nuevas extensiones y mejoras en el soporte de Vulkan, que en este caso es servido a través del driver RADV (el driver de Vulkan para Radeon presente en Mesa). Esta teoría también se aplica a Intel, pero el soporte de Vulkan para sus gráficas desde GNU/Linux sigue siendo muy pobre, lo que invalida el uso de esas GPU para contextos como los videojuegos.

No viene mal hacer un poco de hincapié en RADV debido a que su desarrollo corre a cargo principalmente de Valve, aunque a nivel oficial se trata de un proyecto comunitario. Si uno ha empezado a pensar en la Steam Deck, ha acertado de lleno, porque RADV es precisamente uno de los motores más importantes de la consola y uno de los puntales que permiten que los videojuegos de Windows lleguen a funcionar tan bien, y como forma parte de Mesa, sus beneficios llegan a todos los usuarios del escritorio Linux.

Steam para Linux en Fedora Silverblue 39

El kernel, si la GPU tiene más de dos años, es posible que su actualización no sea crítica, pero la de Mesa sí lo es siempre si uno es jugador de videojuegos o lidia con cargas gráficas pesadas mediante Vulkan u OpenGL. Sobre un escritorio básico se puede dejar todo como está si el funcionamiento es satisfactorio.

En lo que respecta al funcionamiento, si se cumplen las versiones mínimas requeridas del kernel y Mesa, la gráfica debería funcionar out of the box, sin intervención por parte del usuario. Dicho con otras palabras, es conectar la gráfica y encender el ordenador.

En resumen, Mesa es la pila encarga de suministrar los soportes OpenGL, Vulkan y OpenCL y su actualización es siempre importante si uno es jugador de videojuegos con una gráfica de Radeon o lidia con cargas gráficas pesadas. Aquí se pueden emplear los repositorios fresh y stable de Kisak si se usa Ubuntu o alguna derivada de esta, Flatpak en Debian o alguna distribución que se mantenga muy actualizada.

NVIDIA, un trato especial

La imagen de NVIDIA entre los usuarios de Linux ha cambiado en los últimos años. De ser la reina absoluta del rendimiento gráfico ha pasado a ser muy denostada por muchos, sobre todo por aquellos que no se dedican a áreas profesionales (principalmente inteligencia artificial, edición de vídeo profesional y trabajo profesional con Blender) y no tienen interés en cosas como el trazado de rayos y el path tracing.

El cambio de percepción sobre NVIDIA desde GNU/Linux no tiene su origen en el gigante verde, sino en la mejora del soporte ofrecido por la competencia. En el pasado lejano, el driver oficial de AMD era FGLRX, una de las mayores abominaciones jamás vistas en el escritorio Linux, y para colmo los drivers de Intel rendían la mitad que en Windows. Eso empezó a cambiar en 2016 con AMDGPU, el driver oficial para gráficas Radeon presente en el kernel Linux, que supuso el abrazo de la pila gráfica estándar por parte de AMD.

NVIDIA, por su parte, nunca ha sido muy dada a aceptar las normas acordadas para hacer funcionar la pila gráfica de GNU/Linux, sino que ha preferido imponer las suyas. Esto, unido a la falta de evolución en la forma en que proporciona su soporte, ha hecho que su driver sea más difícil de mantener que lo suministrado por sus competidores a través de Linux y Mesa, y además genera incompatibilidades que pueden derivar en un mar tearing y en una gran cantidad de fallos gráficos que llegan a arruinar la experiencia incluso sobre un escritorio básico.

NVIDIA RTX

Otro punto a tener en cuenta es que el soporte por parte de NVIDIA parece haberse estrechado con el paso de los años y actualmente solo Ubuntu y sus derivadas ofrecen ciertas garantías de buena compatibilidad. La consecuencia de lo expuesto es que, si uno quiere usar una gráfica de NVIDIA en Linux, tiene que usar Linux como diga NVIDIA, lo que supone todo un hachazo para la libertad del usuario. Distribuciones como Ubuntu, Linux Mint y Manjaro incorporan asistentes que facilitan la instalación del controlador oficial del gigante verde.

Si no se tiene la intención de emplear el trazado de rayos o el path tracing, las tecnologías propias de NVIDIA ni de trabajar áreas profesionales, Radeon es una mejor opción si se quiere disponer de potencia gráfica en Linux, principalmente por la mayor libertad que ofrece a la hora de elegir distribución y el menor mantenimiento. Para las personas que se preguntan si es necesario actualizar Mesa en caso de usar el driver de NVIDIA, la respuesta es no, salvo que haya algún cambio tecnológico muy puntual, de los que ocurren una vez cada década como mucho, que sí lo requiera.

Mejor centrarse en las grandes distribuciones

Existen cientos de distribuciones Linux con enfoques muy diferentes, una circunstancia que al final puede ser confusa para el novato. Desgraciadamente, Apple y Microsoft han asentado una visión de los sistemas operativos muy monolítica (desde el punto de vista del producto en su conjunto), y eso ha hecho que la exploración no forme parte del hábito de consumo de los usuarios.

La pregunta de cuál es la mejor distribución Linux es imposible de responder porque cada usuario tiene su propio recorrido, con sus propias experiencias y preferencias, y encima estas pueden cambiar con el paso de los años. Yo mismo he pasado de querer controlar cualquier aspecto del sistema operativo con Arch Linux a preferir una solución automatizada y desatendida como Fedora Silverblue, algo en lo que ha influido el hecho de que dejara la informática hace unos años.

Sin embargo, sí se puede dar un consejo claro y de utilidad: es preferible centrarse en las grandes distribuciones, sobre todo porque estas cuentan con comunidades más grandes que pueden ofrecer ayuda y soporte y más documentación, tanto propia como de terceros. Dicho con otras palabras, es mucho más fácil encontrar soluciones para una distribución grande que para una pequeña, y en parte ahí radica mucha de la fuerza que tiene Ubuntu.

Si hablamos de videojuegos la cosa está incluso más clara, porque hay muchas pequeñas distribuciones orientadas a ellos que, en caso de dar un problema, pueden terminar llevando al usuario a un callejón sin salida debido a que las pocas personas que hay detrás son incapaces de dar soluciones.

Conclusión

Las listas de distribuciones son un tema que está un tanto trillado, más que nada porque, quitando posiblemente la emergencia de Fedora en los últimos años y la aparición de HoloISO, el panorama ha tendido a mostrarse bastante estanco, con las mismas distribuciones ocupando siempre los primeros puestos. La razón ya la he expuesto, y es que el tener más usuarios se traduce en un mejor soporte, tanto por parte de la distribución como de terceros.

Otro punto a tener en cuenta es que muchas distribuciones son poco más que un reciclaje de otra con algún cambio, como por ejemplo EndeavourOS frente a Arch Linux. Si le quitamos a EndeavourOS el instalador Calamares y algunas herramientas propias, lo que queda ahí es un Arch Linux puro y duro, que funciona y se maneja igual. Esto también se puede trasladar a Ubuntu y la rama de Linux Mint basada en el sistema de Canonical, y es que, salvando el escritorio y que Snap es sustituido por Flatpak, no hay diferencias a nivel de soporte si nos centramos en lo comunitario.

Con un panorama un tanto estancado en las distribuciones, creo que es mejor poner un poco más el foco en los componentes esenciales encargados de soportar el hardware para así dar una información algo más completa a los usuarios.

Apasionado del software en general y de Linux en particular. El Open Source, la multiplataforma y la seguridad son mis especialidades.

Lo más leído