Existen algunos fabricantes que entregan sus sistemas con Debian u otra distribución de GNU/Linux preinstalada. Quizás tenga que pagar más por este privilegio, pero esto le garantiza una cierta tranquilidad de espíritu puesto que puede estar seguro de que su hardware es totalmente compatible con GNU/Linux.
Es importante que compruebe que su hardware es compatible con el núcleo Linux, ya sea si está adquiriendo un sistema con Linux preinstalado o no, o incluso un sistema usado. Compruebe si su hardware está listado en las referencias citadas anteriormente. Haga saber a su vendedor (si lo hay) que está comprando un equipo para instalar Linux. Apoye a los fabricantes de hardware que ofrecen compatibilidad con Linux.
Algunos fabricantes de hardware simplemente no nos dirán cómo escribir controladores para su hardware, o no nos permiten acceder a la documentación sin un acuerdo de no divulgación que nos impediría publicar el código fuente del controlador, uno de los elementos esenciales del software libre. Debido a que no se nos ha ofrecido el acceso a documentación útil sobre estos dispositivos, sencillamente no funcionan con Linux.
En muchas situaciones hay estándares (o al menos estándares de hecho) que describen la forma en que un sistema operativo y los controladores de sus dispositivos se comunican con un cierto tipo de dispositivos. Todos los dispositivos que cumplen tal estándar (de hecho) se pueden utilizar con un único controlador genérico de dispositivo, y no se requiere ningún controlador específico de dispositivo. Esto funciona muy bien para algunos tipos de hardware (como por ejemplo “dispositivos de interfaz humana (HID)” USB como teclados, ratón y otros, y dispositivos de almacenamiento USB como discos flash USB y lectores de tarjeta de memoria) y prácticamente todos los dispositivos vendidos en el mercado cumple con estándares.
Desafortunadamente, en otros campos, entre ellos el de las impresoras, este no es el caso. Aunque hay muchas impresoras que pueden funcionar con un pequeño conjunto de lenguaje de control estándar (de hecho) sin problemas en cualquier sistema operativo, hay varios modelos que solo aceptan órdenes de control privativos que no se detallan en ninguna documentación, y por ello no se pueden utilizar en sistemas operativos libres, o solo se pueden utilizar con un controlador de código propietario proporcionado por el proveedor.
Incluso si hay un controlador de código propietario proporcionado por el fabricante para un dispositivo de hardware al comprar el producto, la vida útil del dispositivo está limitado a la disponibilidad del controlador. Actualmente, los ciclos de un producto son más cortos, y no es extraño que tras un breve período después de finalizar la producción del dispositivo, el fabricante no ofrezca más actualizaciones del controlador. Si el antiguo controlador de código propietario no funciona después de una actualización del sistema, un dispositivo funcionalmente perfecto se vuelve inútil por la falta un controlador, y en este caso nada se puede hacer. Por ello, debe evitar comprar hardware propietario en primer lugar, sin importar el sistema operativo con el que lo vaya a utilizar.
Puede ayudar a mejorar esta situación animando a fabricantes de hardware propietario para publiquen la documentación y otros recursos necesarios para que podamos proporcionar controladores libres para su hardware.