damn, det var lidt af en række spørgsmål?
Ok, jeg prøver at give fyldestgørende svar...
Det er lettere at skrive drivere til *nix end til MS, fordi al sourcekoden er offentlig, modsat MS, der giver et sæt standarder at arbejde ud fra, og så må du håbe det virker.
Når sourcen er offentlig, er det derfor muligt for koderen at forudse precis hvordan systemet vil reagere.
Grunden til at de store HW producenter ikke laver drivere til *nix er/kan være flere...
den mest normale er at *nix ikke er særligt udbredt, vi snakker om en 4-5% af markedet for styresystemer, og af disse 4-5% vil jeg tro at max 2% er workstations, resten er servere.
I tilfælde af servere, er der oftest ikke brug for så meget 'gejl' der snakker vi om basis hardware, IDE & SCSI controllere, basis grafik osv. alle de 'sjove' dimser vil så ca. ligge på en markedsandel på højst 2% for *nix, og det er ikke billigt at have en flok kodere til at sidde & skrive drivere.
En anden grund er at der fra ver. 1 af hardware skal være drivere til MS, og afterfølgende versioner kan de oftest nøjes med at 'lappe' på driverne, hvor hvis *nix pludselig skal på, så skal de begynde fra bunden.
En anden ting er at det er ikke velset at udgive kode til *nix uden at det er Open Source, og ved at gøre det, giver du pludselig alle mulighed for at se din sourcekode til driveren, det er en del af de store firmaer ikke så glade for.
Dog er det gode ved *nix det store koder-community, så kommer der hardware som er interessant for *nix-folket, vil der altid være en gruppe der skriver en god driver til det.
For at finde ud af hvad der er kompatibelt, skal du først finde dig en distro (RedHat, Suse, Debian, ect.) og så kigge på deres www for at finde ud af hvad de har med, forskellige distro'er understøtter forskelligt, men generelt er at hvis der er lavet en driver, kan man oftest få den til at virke på de fleste distro'er.
Håber det hjælper?
:)