Autore Topic: [NOS] Driver  (Letto 2740 volte)

AmigaCori

  • Visitatore
[NOS] Driver
« il: 29 Dicembre 2011, 11:16:27 »
Continuate, anche partendo da cose gia' dette nel thread generico su NsaOS in merito ai driver. :)
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re: [NOS] Driver
« Risposta #1 il: 29 Dicembre 2011, 18:18:28 »
Citazione da: "dsar"
Ora veniamo ai driver: Io sono contrario al concetto di driver appunto per i problemi da voi esposti, ma sono favorevole a delle interfacce lato firmare/bios. Il concetto è già presente, ovvero la possibilità di avere un driver lato UEFI e il sistema operativo comunica con la periferica tramite EUFI per mezzo di un'interfaccia fissa (uguale per ogni brand).

Questo sarebbe il top; purtroppo noi non possiamo farci niente: i PC "normali" (che di sicuro sono il nostro target principale) hanno solo il BIOS, che è diventato obsoleto cosa, 20 anni fa? :lol:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re: [NOS] Driver
« Risposta #2 il: 29 Dicembre 2011, 20:46:32 »
Considerando che un OS ha cicli di sviluppo decennali, potremmo puntare direttamente su UEFI fin da subito. Molte motherboard moderne ne sono dotate, e pensando su scala decennale supportare il BIOS per macchine ad uso desktop oggi non ha senso.

Tuttavia le macchine ARM (come i tablet e alcuni netbook) non hanno UEFI, ma un firmware custom che non è molto diverso dal BIOS. Quindi legare la struttura del kernel mani e piedi all'UEFI creerebbe tutta una serie di problemi di portabilità.
I driver, per quanto brutti e puzzolenti, ci vogliono e vanno gestiti. Anche se usassimo UEFI avremmo comunque uno strato di driver (di più alto livello) da gestire, quindi il problema non si sposta di una virgola.
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

AmigaCori

  • Visitatore
Re: [NOS] Driver
« Risposta #3 il: 29 Dicembre 2011, 22:11:13 »
Ok, ma il concetto di dsar di comunicare con l'HW tramite UEFI senza passare per dei driver...e' applicabile?, il futuro sara' cosi'?
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re: [NOS] Driver
« Risposta #4 il: 29 Dicembre 2011, 22:23:32 »
Citazione da: "AmigaCori"
Ok, ma il concetto di dsar di comunicare con l'HW tramite UEFI senza passare per dei driver...e' applicabile?, il futuro sara' cosi'?

I driver li devi fare lo stesso, però anzichè essere device-specific saranno "category-specific". Cioè un driver unico per tutte le schede di rete, uno per tutte le schede audio, ecc...
Chiaramente, vista la natura eterogenea delle periferiche di un computer, ci saranno sempre dei casi particolari, quindi la possibilità di implementare anche driver a basso livello (andando a ravanare sui registri di configurazione di tale periferica) ci vuole.
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

AmigaCori

  • Visitatore
Re: [NOS] Driver
« Risposta #5 il: 29 Dicembre 2011, 22:29:19 »
Pero' mi era parso di capire che la cosa fosse cosi', quasi cosi' gia' ora per un po' tutte le perifercihe tranne...per le schede video :/ e' quello il nostro problema, quindi lo stesso concetto sarebbe applicabile alle schede video?, intendo in pratica piu' che in toeria perche' magari ci sono dei dettagli sul funzionamento che variano da marca a marca e non sono descrivibili con dei driver "generici".
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re: [NOS] Driver
« Risposta #6 il: 29 Dicembre 2011, 22:44:56 »
Citazione da: "AmigaCori"
Pero' mi era parso di capire che la cosa fosse cosi', quasi cosi' gia' ora per un po' tutte le periferiche tranne...per le schede video :/
Perchè al giorno d'oggi le schede video sono il componente più complesso di un PC, con un'interfaccia che varia da modello a modello (la CPU, altro dispositivo complesso, ha un'interfaccia [quasi] standard, cioè l'ISA x86).
Tutte le altre periferiche hanno dei chipset comuni, o che simulano qualche chip famoso e diffuso; per questo funzionano quasi sempre con driver generici.

Una scheda video senza driver dedicati simula un VGA, o un framebuffer un poco più complesso passando per il VBE, ma niente accelerazione 2D, 3D che sono tutte cose specifiche per ogni chipset.

C'è poi tutta una categoria di dispositivi "esterni" che ha bisogno di driver, come stampanti e dispositivi "speciali".

Cmq voglio chiedere: l'UEFI prevede il caricamento e inizializzazione del firmware dai dispositivi collegati come fa il BIOS per il PCI ?
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

AmigaCori

  • Visitatore
Re: [NOS] Driver
« Risposta #7 il: 29 Dicembre 2011, 23:45:05 »
@Z80Fan
Quindi purtroppo e' come temevo...per ora i driver sono troppo legati all'OS :(

Pero' che soluzione proporresti?, sappiamo benissimo che un OS minuscolo come NOS non puo' presentarsi a Nvida o ATI e dirgli "fammi i driver" :D quindi l'unico modo e' riciclare quelli che sfornano per Windows...come si fa?  :mrgreen:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re: [NOS] Driver
« Risposta #8 il: 29 Dicembre 2011, 23:51:41 »
La mia niubbaggine cronica (=non bastonatemi troppo  :D ) in questo campo mi spinge a riformulare una domanda già posta nel thread generico e che mi era parso di capire che la soluzione fosse fattibile:
Non possiamo usare i driver come le applicazione e le personalities?
La personality carica il driver fatto per tal-OS e noi siamo a posto, in questo modo i driver non sarebbero più un problema perchè potremmo sfruttare quelli già esistenti e quelli che verranno.
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re: [NOS] Driver
« Risposta #9 il: 29 Dicembre 2011, 23:59:08 »
Immaginavo che fosse un lavoraccio, ma picchiare la testa contro il muro dei driver credo che sia peggio, a parte le situazioni dove si potrebbero creare driver generici.
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re: [NOS] Driver
« Risposta #10 il: 30 Dicembre 2011, 00:00:25 »
Citazione da: "AmigaCori"
Pero' che soluzione proporresti?, sappiamo benissimo che un OS minuscolo come NOS non puo' presentarsi a Nvida o ATI e dirgli "fammi i driver" :D quindi l'unico modo e' riciclare quelli che sfornano per Windows...come si fa?  :mrgreen:
Allora: diciamo che per il momento potremmo accontentarci dei driver open-source, che anche se non sono il massimo in prestazioni, funzionano bene lo stesso. Usando Gallium3D come avevo accennato nel thread precedente secondo me può rivelarsi una scelta vincente, e anche se i Big non useranno questa interfaccia, la possiamo usare noi come la nostra interfaccia per i driver video.

Se vuoi proprio avere uno dei driver proprietari, si può riciclare il blob nVidia dal driver per Linux: la maggior parte del codice (quello nel blob) è lo stesso della controparte Windows (infatti i due sistemi generano prestazioni praticamente identiche usando il driver proprietario).
Ho detto quello di Linux, perchè ha uno strato open-source che serve solo a linkare il kernel al blob (il quale esporta simboli assolutamente criptici); in qualche modo si potrebbe prendere questo strato e, se non è troppo Linux-dependent, modificarlo per "attaccarlo" alle nostre interfacce.
Non so come sia la situazione per i Catalyst.

Citazione da: "Allanon"
La mia niubbaggine cronica (=non bastonatemi troppo  :D ) in questo campo mi spinge a riformulare una domanda già posta nel thread generico e che mi era parso di capire che la soluzione fosse fattibile:
Muhahaha non avrai mai la tua risposta! :twisted:

Citazione da: "Allanon"
Non possiamo usare i driver come le applicazione e le personalities?
La personality carica il driver fatto per tal-OS e noi siamo a posto, in questo modo i driver non sarebbero più un problema perchè potremmo sfruttare quelli già esistenti e quelli che verranno.
Risposta breva: certo, tutto si può fare! :D
Però (mi sembra di averlo già scritto) scrivere uno strato di compatibilità per un OS ben "stagionato" come Windows è una bella impresa, non aspettarti di scriverlo in un paio di settimane, anche avendo 100 programmatori ;).
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re: [NOS] Driver
« Risposta #11 il: 30 Dicembre 2011, 00:06:21 »
Citazione da: "Z80Fan"
Però (mi sembra di averlo già scritto) scrivere uno strato di compatibilità per un OS ben "stagionato" come Windows è una bella impresa, non aspettarti di scriverlo in un paio di settimane, anche avendo 100 programmatori .
Non c'è nulla di "già pronto" da cui possiamo attingere e modificare per i nostri usi?
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re: [NOS] Driver
« Risposta #12 il: 30 Dicembre 2011, 00:10:28 »
Citazione da: "Allanon"
Non c'è nulla di "già pronto" da cui possiamo attingere e modificare per i nostri usi?
ReactOS, ma non so a che punto sono, ne quali delle varie interfacce hanno implementato (Windows ha almeno 4 diverse interfacce per i driver, 3 delle quali obsolete ma che tocca supportare perchè ci sono ancora tantissimi driver che le usano)
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Tags: