Existem diversos fabricantes que lançam sistemas com Debian ou outras distribuições de GNU/Linux pré-instalado. Poderá ter que pagar mais pelo privilégio, mas, pelo menos compra alguma paz de espírito, dado que terá a certeza que o seu hardware é bem suportado por GNU/Linux.
Quer esteja a comprar um sistema com Linux já incluído, ou mesmo um sistema usado, é importante que verifique se o seu hardware é suportado pelo kernel Linux. Veja se o seu hardware está listado na referência mencionada anteriormente. Não se esqueça de mencionar ao vendedor (se existir) que está a comprar uma máquina para utilizar com Linux. Suporte comerciantes de hardware amigáveis para com Linux.
Alguns fabricantes de hardware simplesmente não nos dizem como escrever controladores para o seu hardware. Outros não nos permitem aceder à documentação sem assinar um contrato de não divulgação que nos impediria de lançar o código fonte do controlador, que é dos elementos centrais do software livre. Como não nos é dado acesso a documentação utilizável sobre estes dispositivos, estes simplesmente não funcionam sob o Linux.
Em muitos casos existem standards (ou pelo menos alguns standards de-facto) que descrevem como um sistema operativo e os seus controladores de dispositivos comunicam com uma certa classe de dispositivos. Alguns dispositivos conforme tal standard (de facto) podem ser utilizados com um único controlador genérico e não são necessários controladores específicos. Com alguns tipos de hardware (e.g. USB “Human Interface Devices”, i.e. teclados, ratos, etc., e dispositivos de armazenamento USB tais como pens USB e leitores de cartões de memória) isto funciona muito bem e praticamente todos os dispositivos no mercado estão de acordo com o standard.
Noutros campos, entre eles e.g. impressoras, infelizmente não é o caso. Enquanto que muitas impressoras podem ser endereçadas através de um pequeno conjunto de linguagens de controlo standard (de facto) e por isso podem funcionar sem problemas em qualquer sistema operativo, existem alguns modelos que apenas compreendem comandos de controlo proprietários para os quais não existe documentação utilizável e por isso não podem ser utilizados em sistemas operativos livres e apenas podem ser utilizados com controladores não abertos fornecidos pelos fabricantes.
Mesmo que exista um controlador de código-fonte fechado fornecido pelo fabricante para tal hardware ao comprar o dispositivo, a vida útil do dispositivo é limitada pela disponibilidade do controlador. Atualmente os ciclos de lançamento dos produtos são mais curtos e não é raro que após pouco tempo o dispositivo deixe de ser fabricado e já não haja mais atualizações de controladores pelo fabricante. Se o antigo controlador de código fechado já não funcionar após uma atualização do sistema, um dispositivo perfeitamente utilizável torna-se obsoleto pela falta de controladores e não há nada que possa ser feito neste caso. Por isso, e em primeiro lugar, deve evitar comprar hardware fechado, independentemente do sistema operativo que utilize.
Pode ajudar a melhorar esta situação encorajando os fabricantes de hardware fechado a lançar documentação e outros recursos necessários para podermos disponibilizar controladores livres para o hardware.