Sistem Linux (dan beberapa open source unix lainnya) memperlakukan driver dengan sangat berbeda dari cara kerja OS Windows.
Dalam sistem Windows (terutama pra-Windows 10), kernel OS menyediakan antarmuka perangkat lunak biner yang stabil yang dapat digunakan untuk menulis driver, dan antarmuka tersebut (dengan pengecualian) dijamin tidak akan berubah di seluruh siklus dukungan dari versi Windows yang diberikan. Ini mendukung driver yang ditulis dan disediakan oleh pihak ketiga, mereka biasanya akan bekerja untuk setidaknya satu versi Windows di seluruh siklus dukungan itu. Kelemahannya adalah bahwa antarmuka driver ini sulit untuk diperbaiki atau diperbaiki dalam siklus hidup itu, dan lebih menyukai distribusi biner dari driver yang (selain politik!) Seringkali membatasi dukungan multi-platform yang konsisten.
Kernel Linux memang memiliki antarmuka driver yang berubah yang hanya ditentukan secara ketat pada tingkat kode sumber, dan bias terhadap ketidakmampuan dan konsistensi multi-platform. Ini berarti, kecuali jika driver "penerjemah" tambahan yang menawarkan antarmuka biner khusus dan stabil digunakan, biner driver khusus untuk kernel build yang tepat. Seseorang dapat "menipu" biner driver agar mungkin kompatibel dengan beberapa lusin versi kernel yang tepat pada satu platform, tetapi upaya untuk mempertahankannya (sebagai penawaran biner) akan menjadi tidak ekonomis. Bias ini juga diinginkan secara politis di komunitas kernel linux, karena mereka berpura - pura driver biner sumber tertutup dapat melakukan jauh lebih buruk daripada firmware jahat pada perangkat berkemampuan busmasteringanggap kode sumber tertutup sebagai terlalu tidak dipercaya dan terlalu menjijikkan untuk membuatnya berjalan dengan hak istimewa kernel. Dengan demikian, driver perangkat open source untuk semua perangkat keras utama disediakan dalam paket kernel itu sendiri, dengan opsi kedua adalah metode yang relatif mudah digunakan untuk mendistribusikan driver luar sebagai tarball sumber, untuk dikompilasi dengan kernel yang diinstal.
Beberapa driver linux lainnya (misalnya driver grafis X11 klasik, driver scanner, driver printer) tidak ditangani sebagai bagian dari kernel, tetapi sebagai bagian dari beberapa perangkat lunak userspace yang menyediakan fungsionalitas sebagai layanan sistem yang luas (XOrg, Sane, Ghostscript. ..) - ini juga cenderung spesifik dan sebagian besar didistribusikan dengan versi tertentu dari perangkat lunak userspace yang relevan.