Newsgroup: it.comp.os.dibattiti
Titolo: Perchè in Windows si ed in Linux no!

Non e' una critica ma solo una curiosita'.
Premetto che ne so più di Linux che di Windows.
Il quesito è inerente la gestione delle periferiche attraverso gli
opportuni drivers.
Se ho un dirpositivo xyz recentissimo e mai previsto su un PC di cui
la casa produttrice mi ha fornito i drivers per WindowsXP (per
esempio), l'installazione in Windows XP non presenta problemi. Se lo
stesso dispositivo deve funzionare in Linux, anche avendo il pesso i
codice (modulo) che permette di farlo funzionare devono essere
soddisfatte contemporaneamente una serie di condizioni che potrebbero
con buona probabilità impedirmi di installarlo:
1) Il kernel deve essere esattamente quello per cui tale modulo è
stato previsto.
2)Il kernel deve essere ricompilato per prevedere l'utilizzo ti tale
dispositivo e quindi deve essere stato riservato un major number ed
minor number per un dispositivo che non esisteva ancora.
Ergo in Linux non posso mai installare dispositivi nati dopo il
rilascio della versione del kernel che sto utilizzando e questa è una
limitazione notevole.
Come si rimedia al problema?

 Come si rimedia al problema?
Ti cerchi un kernel che preveda quel driver. Non vorrei sbagliare, ma
i driver di XP rognano un po' se messi su NT 3.1.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 <icq:241572242>
But still I fear, and still I dare not
Laugh at the mad man (The Prophet's song)

 minor number per un dispositivo che non esisteva ancora.
Fonte? Non mi risulta questa cosa ne` ricordo di aver mai letto nulla
di simile.
-- 
 Francesco Romani - Ikitt  | Describe your vision, the meaning is missing |
*** mailserver: 
freemail.it
| Won't anybody listen?                        |
   >>> La questione brevetti software: 
http://www.softwarelibero.org
 <<<


Attenzione! i drivers che tu usi con XFree86 non sono propriamente 
drivers ma veri e propri programmi utente (almeno questo è quello che ho 
capito io) cioè il server grafico vero e proprio.
Quelli che intendo io per drivers sono parti del kernel associate ai 
device files. La scheda grafica, solitamente, è vista come un 
dispositivo a "caratteri" che viene utilizzato opportunamente dal server 
grafico (quello che tu chiami driver).
Alemno questo è ciò che ho capito io.

 capito io) cioè il server grafico vero e proprio. [...]
Si, ma per usare nvidia_drv.o devi avere il modulo del kernel della 
NVidia, *necessariamente*.
Questo driver infatti usa i device /dev/nvidia[0-9] ed /dev/nvidiactl 
che sono gestiti dal modulo nvidia (devi abilitare anche l'agpgart).
PS. Quota meglio! :)


 PS. Quota meglio! :)
E' qui che sorge la mia domanda: come fai a dire al kernel che quando 
utilizzi /dev/nvidia[0-9] il dirver associato è nvidia_drv.o ?
Grazie.

 Grazie.
Non è il kernel che lo deve sapere. Il modulo crea questi device e ne 
permette l'uso chiaramente. Il driver per xfree li utilizza.
Tu non devi fare nulla.


 
Allora, riassumendo, funziona cosě: quando lanci xFree86 lui si occupa 
di caricare dinamicamente il driver nvidia_drv.o. Questo driver ha una 
funzione init() (come molti dei driver in formato modulo) che registra 
nel kernel il driver per il dispositivo con major number m dove m non č 
utilizzato da nessun altro dispositivo della dir /dev/ che non sia 
/dev/nvidia[0-9].
Finalmente ci siamo arrivati :-)
Ciao.

 Come si rimedia al problema?
Per prima cosa sarebbe auspicabile che il produttori di hw rilasciassero
le specifiche del loro hw, consentendo almeno a chi fosse interessato
di scrivere driver GPL evitando il problema delle versioni del kernel.
Se rilasciassero loro stessi i driver GPL sarebbe ancora meglio.
Non credo che costituisca nessuna minaccia alla loro "proprietà
intellettuale", anzi venderebbero più hw.
Un driver si scrive una volta sola, di schede se ne vendono a milioni.
La manutenzione sarebbe anch'essa facilitata e peserebbe di meno sui
produttori.
Secondo me è solo questione di un cambio di mentalità, non ci sono
insormontabili ostacoli tecnici o giuridici.
-- 
Lorenzo

 stupendamente).
come lo installi NWN ? c'e' un cd apposta ?
-- 
'ao
Guercio
Linux User #287721
http://it.geocities.com/bones_ciccio

del kernel 2.4.x, ricompilo raramente[1])
Ora, dal 2.4.18, prima ne rilasciavano uno al mese se non di piu'.
Ciao
-- 
Francesco

 come lo installi NWN ? c'e' un cd apposta ?
Non per Neverwinter Nights (Shadow of Undrentide ha l'installazione 
windows e linux).
Vai sul sito, scarica il client. Fai tutto quello che ti dice ma, 
attento, al posto di copiare *tutto*, crea tutte le directory e fai 
symlinks ad ogni file. Risparmi qualche giga. Funziona tutto, single e 
multi.


 Ora, dal 2.4.18, prima ne rilasciavano uno al mese se non di piu'.
Claro, ricordo in particolare la situazione 2.4.10/16 che e` stata parecchio
frustrante (almeno per me)... ma 'e` stata', appunto: ho il brutto 
vizio di vivere nel presente ;)
(questo era anche piu` o meno quanto volevo dire in [1])


 Come si rimedia al problema?
bah .. senza andare lontano la redhat si e' fissata che nel kernel non
devono esserci pre-compilati alcuni moduli del "frame buffer" (come
diversi altri) e cosi' diventa uno sbattimento
-- 
Ciao,
Massimiliano Adamo
* * * *
Linux make Oracle unbreakable