La lotería del hardware

La compatibilidad del hardware con linux es una de las cuestiones que más se plantean. En general la mayoría de los componentes funcionan igual o mejor que en Windows, que es el sistema operativo para el que los fabricantes diseñan y comercializan los productos, pero no todo funciona siempre o puede requerir soluciones no triviales.

La gran ventaja de linux es que si algo funciona probablemente funcionará para siempre con todas las versiones y actualizaciones de linux, mientras que con Windows suelen ser problemáticas las actualizaciones del sistema operativo. Yo si fuera un tendero o un fabricante de componentes, procesadores o periféricos tendría muy claro qué hacer para que los usuarios de ordenadores compren más: o beneficiar a Windows o hacer que falle algún componente (la llamada obsolescencia programada)… o las dos cosas.

En contra de los Winmodems

Los módems más vendidos del mundo, y los más baratos, son los denominados Softmodems o Winmodems, eran tan baratos porque les quitaron muchos componentes a cambio de delegar parte del trabajo en el procesador del ordenador, hasta AMD se apresuró a sacar un juego de instrucciones para acelerar estos módems que ralentizaban los ordenadores menos potentes. En principio estos módems sólo funcionaban con Windows, pero los primeros modelos nunca estuvieron soportados en linux, incluso era necesario un programa de pago para usar muchos de estos Winmodems. Este caso hace pensar en si linux tuvo muy mala suerte o si hubo terrorismo empresarial, ya que impedían instalar linux a la mayoría de los usuarios.

Más recientemente, cuando ya poco hacían falta los módems telefónicos, todavía ocurría un caso similar con la tarjetas Wifi. Aunque prácticamente todas funcionan en linux, durante los primeros años la mayoría lo hacía por medio de un paquete linux libre que lo que hace es utilizar una copia del controlador Windows de la tarjeta Wifi, esta solución muchas veces daba problemas y la única alternativa era un programa de pago que hace lo mismo. Un gran hándicap para gran parte de los usuarios de ordenadores que quisieron instalar linux, cuando linux era cada vez más accesible.

Otros periféricos problemáticos, de bajo costo y muy vendidos, son las denominadas impresoras Windows o GDI. Al igual que con los Winmodems los fabricantes se deshicieron de parte de los componentes de la impresora para delegar trabajo en el procesador, y como con los Winmodems muchas no funcionaban en linux o el controlador para que funcionen en linux lo proporciona el fabricante, el problema es que en algunos casos este controlador no es libre, lo que supone que si el fabricante no cambia la licencia en un futuro hay que usar un controlador genérico (no soporta la máxima calidad o alguna otra función) o en otros modelos podrían dejar de funcionar si no continúa actualizándolos.

Pinnacle-Miro PCTV 848

No sólo podemos encontrar problemas a largo plazo si lo que compramos no tiene módulos libres (los controladores en linux), un ejemplo son dos tarjetas de televisión híbridas distintas, que aparecían en páginas oficiales de linux con usuarios que publicaron que funcionaban en linux, luego una, Hauppauge con chip cx88, era complicada de instalar, el fabricante desarrolló el controlador para linux aunque dejó de darle soporte en linux nada más la hizo funcionar. Ahora todos los linux la instalan automáticamente aunque durante unos años no fue del todo bien. En el caso de la otra tarjeta, una USB híbrida con chip em28xx, no ha funcionado en determinados linux, además tras realizar unos complicados pasos para instalar código oculto en firmwares no-libres no terminaba de ir bien, con problemas para coger algunos canales digitales dependiendo de la sensibilidad de la señal de la antena y del programa usado, un mal funcionamiento muy difícil de detectar salvo comparando con Windows en el mismo equipo (donde si funciona correctamente), esto es, los usuarios de linux pueden pensar que la tarjeta no funciona o que esta bien pero es muy mala pero en realidad funciona perfectamente salvo por el controlador. Por otra parte, tener que instalar firmwares es bastante habitual también en otros periféricos, aunque los firmwares no gustan mucho a la comunidad de software libre, en el caso de la tarjeta USB se podría aplicar lo de “pues toma dos tazas”, pues del archivo firmware existían 4 versiones, dependiendo del modelo, incompatibles y era necesario instalarlos manualmente aparte.

Las tarjetas de televisión son un caso particular de periféricos que se pueden mejorar en linux vía software, las analógicas compatibles con V4L/DVB comparten programas libres para ver la televisión con posibilidad de filtros de mejora, grabación, streaming y timeshift. Las de televisión digital terrestre además soportan la alta definición y codecs de audio especiales como los que utiliza RTVE, mientras que en Windows el usuario está acostumbrado a usar el programa que proporciona el fabricante que en ocasiones no actualiza obligando a comprar una nueva.

Procesador Transmeta Crusoe

Pero aun escogiendo el modelo y la marca antes de comprar algo, para asegurarnos de que funcione como la seda en linux como a otros muchos usuarios, nos podemos encontrar con una actualización permanente del hardware o revisión distinta a las compatibles. A menudo nos encontramos con hardware que se anuncia actualizable con firmwares, como el famoso procesador Transmeta (compañía que contrató a Linus Torvalds), sin embargo salvo en muy contadas ocasiones, o salvo para corregir algún bug, son mínimas las posibilidades de mejora sobre las especificaciones con las que se vende el producto. Además generalmente en España nos tocara la peor revisión de todas, por ejemplo la tarjeta de televisión analógica más conocida de la marca Pinnacle montaba chips sintonizadores de 2 marcas diferentes y diferentes calidades; o un monitor LCD de Samsung muy vendido en España tenía hasta 4 paneles de pantalla distintos con calidades muy diferentes dependiendo de la fábrica de origen, resulta que son varios submodelos con calidades muy distintas pero se comercializan todos como si fueran el mismo modelo, aprovechándose de la publicidad y opiniones que siempre se hacen del mejor submodelo, que por cierto, muchos son artículos y opiniones pagadas en blogs afiliados a empresas de marketing publicitario. Son subproductos de segunda categoría a precio de primera que sólo descubrimos cuando buscamos información, como es habitual para los usuarios de linux o porque la información que nos da el kernel nos lo canta al intentar reajustarlos.

Samsung SyncMaster

Un mal funcionamiento de un periférico tiene una dificultad añadida en linux, ya que en algunos casos difícilmente podemos estar seguros de que es lo que falla, si linux o el periférico, y los servicios técnicos generalmente solo admiten que los hayamos probado antes en Windows.

Windows virtualizado en linux

También eran habituales los escáneres por el puerto paralelo que sólo funcionan instalando Windows virtualizado. Esta solución, aunque poco deseable, es válida para otros muchos periféricos conectados por puertos serie, paralelo o USB.

Desde hace unos pocos años muchos ordenadores soportan la virtualización por hardware pass-through (también puede denominarse IOMMU, directed I/O, Intel VT-d o AMD-Vi ), con lo que en algunos virtualizadores se puede instalar el controlador Windows con acceso directo a todo tipo de hardware, con velocidades similares a una instalación Windows nativa, aunque mucho nos tememos que en este caso el factor suerte también cuente mucho por las graves consecuencias contra las ganancias de la industria informática que tendría su buen funcionamiento. Por ahora lo están consiguiendo: placas base que no soportan IOMMU salvo por actualizaciones de la BIOS, grandes fabricantes de placas que dejan de soportarlo poniendo en duda su viabilidad, no todas las tarjetas gráficas terminan de funcionar cuando es lo más esperado por los usuarios normales (para usar los programas 3D Windows en linux), …

El caso de los controladores libres de las tarjetas gráficas es el que ha provocado más polémicas, la mayoría de los fabricantes se muestran reacios a hacer libres sus controladores ni a proporcionar información técnica, siendo para muchos la única forma de disponer de las características más avanzadas como la aceleración 3D OpenGL o la asistencia hardware de la alta definición de vídeo.

Linus Torvalds contra Nvidia
Linus Torvalds contra Nvidia

Estos vitales, para muchos usuarios de ordenadores, periféricos con controladores o drivers Windows no se han convertido a módulos libres linux por cuestiones de patentes o de secretos industriales o puede que por el peliagudo tema de la seguridad, aunque probablemente cualquier programador encontraría que su código no tiene nada especial.

Disponer de todos los controladores o módulos libres supone que los componentes sean detectados al instalar linux, sin tener que instalar paquetes aparte, y también supone tener la seguridad de que el componente funcionará por siempre en linux (y podrían ser trasladados a otros sistemas operativos). El kernel linux es el paquete que da soporte a todos los componentes que dispongan de módulos estables libres, y contiene código binario oculto o blobs para que puedan funcionar algunos determinados componentes, algo con lo que no está de acuerdo la Free Software Foundation y recomienda instalar versiones del kernel sin blobs.

En general se podría afirmar que las funciones básicas de todos los ordenadores funcionan al instalar linux y que cada vez es más fácil encontrar ordenadores con todos sus componentes detectados automáticamente por linux. Para características especificas puede ser necesario configurar algunos archivos, y en principio es algo arriesgado esperar que un periférico que nos guste se pueda usar en linux si no se investiga antes.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s