Un database per la compatibilità hardware?
In Opinioni, Risponde pollycoke :) il 29/04 @ 16:42 trackbackFiandri mi ha posto una questione che forse merita un chiarimento:
Ciao Felipe, sono un tuo lettore.
Ho pensato ad una cosa che forse potrebbe servire a migliorare la funzionalità di Ubuntu o di altre distribuzioni Linux ed avevo sottoposto la cosa nel forum di Ubuntu. Sono stato stroncato, ma questo non è un problema: il problema è che secondo me le obiezioni non rispondono in modo esauriente al quesito, e d’altra parte se la mia idea funzionasse anche solo un po’ potrebbe, credo, rendere più comoda la vita a molte persone.
Da infelice possessore di un Asus M50 (scheda grafica ATI Radeon 3650) ho notato che uno dei problemi principali che si incontrano con Ubuntu – suppongo con Linux in generale – è la compatibilità hardware. Dopo l’installazione si devono di solito fare mille ricerche in wiki, forum, eccetera e una volta trovati i comandi necessari, li si copia diligentemente sul terminale e si aspetta l’immancabile errore di Ubuntu. Risultato: tempo, fatica e paura di avere dimenticato o sbagliato qualcosa o, nel peggiore dei casi, computer che non funziona.
E se il patrimonio di conoscenze, comandi, impostazioni, lo si potesse apprendere direttamente in fase di installazione, prendendo solo quello che serve? Ho immaginato una versione minima di Ubuntu, capace di offrire un’interfaccia grafica essenziale ed una connessione ad internet, che sottoponga l’interessato ad un questionario sull’hardware della propria macchina. Ma si potrebbe fare di più: si potrebbe indicare direttamente marca e modello del PC e Ubuntu potrebbe installare automaticamente tutto quello che occorre.
Non voglio rubarti tempo, ma il tuo è uno dei luoghi nei quali secondo me si parla di open source in modo più aperto, intelligente e competente, e mi piacerebbe sapere che cosa ne pensi (ovviamente sei libero di estendere la discussione a tutti, anzi!). Se invece non hai voglia o modo di leggere o di rispondere, nessun problema: immagino che tenere aggiornato un blog, e magari conciliare tutto questo col lavoro, tenga molto impegnati. In tutti i casi, grazie dell’attenzione.
Un saluto cordiale
Grazie per la riflessione, Fiandri. Mi sono preso la libertà di sintetizzare leggermente la tua idea, che si trova anche sul forum di Ubuntu in una discussione intitolata “pazza idea”1. Spero che il significato resti comprensibile e provo a dare una mia risposta, suddividendo la questione:
1. La compatibilità hardware
Il problema è oggettivo e reale, ma non riguarda solo Ubuntu, o GNU/Linux. Anche Windows e MacOS devono vedersela con l’hardware, ma con loro in certi casi si nota di meno perché: il primo gode sempre del supporto dei produttori, che distribuiscono driver aggiuntivi apposta per sopperire alle mancanze, il secondo supporta un set ridotto di dispositivi e di hardware. Detto questo, anche installare Windows, specie su portatili, presenta le sue brave rogne.
Tutti i sistemi operativi basati su kernel Linux invece esplorano una terza via, la più difficile: cercano la compatibilità con tutto e cercano di ottenerla anche senza il supporto dei produttori hardware. Questo porta ad una situazione un po’ paradossale per cui da una parte “Linux supporta più dispositivi di ogni altro sistema operativo“, dall’altra però quei relativamente pochi dispositivi che non supporta al 100% sono purtroppo i più sensibili per l’utenza comune (vedi le schede video, appunto).
2. Critiche alla soluzione proposta
La tua soluzione è che una Ubuntu minimale s’impossessi del tuo PC e intavoli affabilmente una discussione su quale hardware hai comprato, per poi andare a recuperare da Internet e installare solo i driver necessari al corretto funzionamento della macchina. Ecco qualche punto di debolezza:
- Non sempre la connessione ad Internet è garantita o disponibile… o supportata :D Questo comunque lo si potrebbe risolvere usando supporti più capienti (es. DVD).
- Questionario? Al 90% dei casi chi compra un PC non ha la più pallida idea di che hardware ci sia dentro. In genere i PC sono spesso un mistero anche per chi li costruisce: uno stesso componente interagisce in maniera differente in base al PC, anche a causa di motivi storici (es. la cabala delle IRQ)
- Un database centralizzato che contenesse tutta questa mole di informazioni, possibili combinazioni e conflitti e che allo stesso tempo mettesse d’accordo cose mutevoli come rilasci di driver credo che attualmente non sia proponibile.
3. La terribile soluzione
La soluzione ideale trama minacciosa nell’ombra già da anni ed è “La Distro Finale”2. I pollycokers veterani rabbrividiranno perché la conoscono e ne hanno dovuta paura al solo nominarla. Chi non la conosce ancora faccia un bel respiro, clicchi sul link con il necessario rispetto e impari a temerla da adesso.
4. Ok, la soluzione
Tornando con i piedi per terra invece, si può dire che una versione più realistica di quel che dici sia già integrato sia in Ubuntu che in tutte le altre distribuzioni maggiori a partire dal 2004 circa, anche se non è nato esattamente per questo scopo. Si chiama “Project Utopia” ed è l’integrazione tra Udev, Hal, Dbus più vari ed eventuali, sostanzialmente vari livelli di identificazione e astrazione dell’hardware. È grazie a Project Utopia se connettendo un mouse questo viene subito utilizzato, un’operazione che fino a qualche anno fa era pura speculazione :)
Le ultime propaggini di Project Utopia convolgono anche PackageKit, il livello di astrazione per la compatibilità dei vari gestori di pacchetti non ancora del tutto maturo ma molto promettente. Grazie a ciò, connettendo una stampante il sistema stesso può lanciare il comando d’installazione del software necessario al suo funzionamento, aspettando solo che l’utente immetta l’eventuale password (in base alle impostazioni di PolicyKit per installare nuovo software). Il tutto automaticamente e senza porre alcun questionario ;)
Che un giorno questa tecnologia possa essere espansa per fornire anche un’installatore che creai un set di pacchetti ad hoc per ogni singola macchina, resta una prospettiva tutta da verificare. Credo in ogni caso di aver fornito una risposta alla considerazione di Fiandri. L’idea di fondo non è così pazza come potrebbe sembrare, ma sicuramente da realizzare con molti distinguo, con tempi che non ci è dato sapere e soprattutto con vantaggi che tutto sommato non sono poi così ovvi.
5. La discussione
Il sistema operativo perfetto resta una prerogativa dei nostri sogni più umidicci: girandomi intorno non vedo niente che ci assomigli. Considerando tutto, però, credo che la questione posta si risolva in pochi punti essenziali:
- Supporto da parte dei produttori hardware.
- Coerenza e interazione da parte dei distributori.
- Coscienza che il software libero è patrimonio di noi tutti.
Possiamo sicuramente partire da una base certa: entrembi i punti essenziali sono anche tre tendenze in costante crescita. Abbiamo sempre più supporto strategico da parte di aziende che fino a qualche anno fa ci snobbavano, sempre più coerenza e unità d’intenti da parte delle grosse aziende che vivono di software libero e infine, grazie al lavoro di sviluppatori, traduttori, artisti, distributori, LUG, blog, forum e insomma della comunità intera, sempre più coscienza che sostenere il software libero è anche un ottimo investimento sul nostro futuro.
Credo di essermi lasciato prendere un po’ la mano, ma è questa la giusta prospettiva per dare una risposta a tutti i Fiandri che si avvicinano al software libero.
|
— Note all'articolo:
- Non riesco più a scacciare quella stupida melodia dalla testa, l’ho mentalmente riarrangiata perfino in versione Ska e Nu Metal mentre scrivevo -.- [↩]
- Una delle pagine di pollycoke a cui sono più affezionato in assoluto :) [↩]
— Pagine forse correlate:
Commenti »
LOL non avevo mai letto “la distro finale” bellissimo :))
vorrei aggiungere che se i produttori hardware si decidessero una buona volta a creare 10 prodotti a testa ma progettati e realizzati BENE invece che 10000 modelli ciascuno diversi tutti per una stupidaggine e fatti tutti male FORSE non ci troveremmo in questa situazione!!! questo consumismo all'eccesso ha rotto le cocones!
Sono commosso; ora ci ragiono su (non che serva a molto, ma insomma uno ci prova)
:)
@bLax: Quoto alla grande!
@Fiandri: la tua idea non è poi così pazza come sembra, anzi. Rimane il fatto che (per me) sia già miracoloso quanto la comunità in generale fa per rendere “usabile” Linux. Se penso che per installare una banalissima stampante nel 1997 (sigh, mi vengono i brividi di commozione… forse solo celebrale ;)… ) ci impiegai una notte intera ed alla fine non mi funzionava lo stesso (…). Oggi ci metti un minuto e generalmente in un modo o nell'altro la stampante la usi egregiamente.
Francamente ho ammirazione per quanti lavorano alacremente in questi progetti e purtroppo in tanti, se non tutti, molte volte ci dimentichiamo che ci stanno regalando molto, moltissimo.
Comunque, al solito, Felipe è stato chiarissimo ed il quotone ci sta tutto anche per lui…
Mi permetto di commentare essendo tra gli stroncatori.
Come già detto non è l'idea ad essere sbagliata, ma semplicemente la possibilità pratica di realizzarla che è, per come è stata posta in origine, inesistente!
Quel che si può fare (appunto Hal/Dbus/Udev/Packagekit) lo si sta già facendo, se non viene fatto di più è perchè probabilmente (anzi sicuramente) non è possibile.
Però finchè non ci si arriva credo che ogni modello conosciuto di pc o laptop dovrebbe avere la sua pagina in un wiki che adesso è così:
https://wiki.ubuntu.com/LaptopTestingTeam/Packa...
Potrebbe diventare:
wiki.ubuntu.com/Laptop/PackardBellMX36
oppure
wiki.ubuntu.com/Desktop/Hp342L
e lì si dovrebbero riversare tutte le soluzioni hack workaround etc. per ogni singola release.
Così uno si può iscrivere al feed e se per esempio esce una soluzione per far rifunzionare quel tasto che nella release precedente andava a meraviglia lo si potrebbe sapere in tempo reale.
guarda te che la distro finale è semplicemente ubuntu :D
con una versione piuttosto recente di ubuntu si ha una compatibilità molto alta con hardware di vario genere, escluso l'”hardware esotico” (come lo chiamo io (vedi D&D)) tipo cellulari strani etc etc
ormai la chimera del mal supporto delle schede video è superata (o quasi)
sk intel = no problem
sk invidia = usando i driver closed no problem
sk ati = quelle vecchie usi i driver open (magari perdi il 3d) quelle nuove usi quelli closed
ho detto quasi per i problemi sulle ati ma entro 1 anno saranno risolti anche quelli….
molto spesso ho l'idea che non si veda nel passato… fino a quanto tempo fa era molto macchinoso vedere il contenuto di una pennetta usb e richiedeva comandi nel terminale? e oggi lo faccio meglio di windows…
l'unica vera preoccupazione sarebbe sulla struttura perche cambiare quella richiederebbe la riscrittura di gran parte di gnu/linux.
ma abbiamo la miglior architettura tra i 3 sistemi operativi piu diffusi e questo prima o poi farà la differenza
l'unica cosa da fare è aspettare e, magari, contribuite in qualcunque modo: dalle traduzioni al codice, al design o a idee teoriche o al marketing ….
Ciao a todos, credo che in pratica si tratti del classico problema del cane che si morde la coda, mi spiego meglio.
Il problema alla base è che i produttori di hardware non rilasciano i driver per GNU/Linux (o linux, dipende dal dispositivo) perchè dal loro punto di vista GNU/Linux non ha abbastanza market share.
Alcuni utenti spesso non usano GNU/Linux perchè _convinti_ che non funzionino i dispositivi su GNU/Linux, e quindi non usando GNU/Linux non fanno si che il supporto da parte dei produttori migliori.
1) Credo che serva un _database centrale_ dove sia possibile stabilire con certezza il grado di supporto di ogni cosa possibile ed immaginabile, stile UbuntuHLC ma indipendente dalla distribuzione. Già ora queste informazioni sono sparse per internet ma così si alimenta il mito che le cose non funzionino con GNU/Linux.
2) Bisogna che si “sfruttino” i partner commerciali delle varie società che orbitano all'interno dell'universo Free Software/Open Source e che questi partner quando fanno un dispositivo devono rilasciare i driver _E_ devono mettere in evidenza che quel dispositivo funziona su Windows XP/Windows Vista/Mac OS X e GNU/Linux, mi spiace ma ci serve il bollino col pinguino :P!
3) Perchè CA**O aziende che investono un botto di soldi per sviluppare i driver per GNU/Linux non metto un bollino sulla confezione dei loro prodotti? HP scrive i driver per le sue stampanti, e sulle confezioni nisba, nVidia e AMD sviluppano i driver per le loro schede video (in realtà questo è un discorso leggermente diverso) e sulle confezioni nisba, etc, etc…
Ma quanto sono conciso! Ho compato una stampante HP, l'ho accesa e non ho dovuto fare _niente_ per farla funzionare, su windows non credo l'installazione sia altrettando banale! (visto che ci siamo spammo http://xoen.wordpress.com/2009/04/28/stampante-... , scusa Felipe :P)
ATTENZIONE : Non cliccate sul link in basso, contiene materiale doppiamente “pornografico”.
In sostanza è di questo ( http://monduz.netsons.org/wordpress/wp-content/... ) che GNU/Linux ha bisogno, marketing!
Scusa Felipe, non ho potuto resistere :P.
fosse del tutto vero per le schede grafiche… Jaunty ha dei brutti bug con le Intel, che verranno risolti solo con Karmic… Purtroppo le regressioni sono sempre in agguato.. :”(
Ogni cosa, dal software all'hardware porta ad una sola questione: quanto si è padroni della propria macchina?
C'è chi è ignorante, ed è libero, non se ne preoccupa, e usa Windows e l'hardware non è importante. C'è chi è libero, ma per scelta, che si pone domande. Quanto cosa domandarsi cos'è supportato e cosa no?
E secondo te come campa un'azienda che fa 10 prodotti e si inquadra in un ambito liberista più completo e “sano” economicamente in cui non si investe continuamente in innovazione?
Sarei proprio curioso di saperlo. Non è che l'informatica è solo ad appannaggio di gente che fa finta di fare cose e propone gimp, blender, ardour e kdenlive a gente che ci deve lavorare seriamente…
Se mi riesci a spiegare come quadrano i conti per un'azienda producendo solo 10 prodotti ciascuno con una dimostrazione matematicamente rigorosa ammetto che sono un cretino totale. In caso contrario…
Saluti
Quoto michel. L'idea così come proposta evidentemente, da quello che dicono Felipe e Marcello, è troppo onerosa e non realizzabile, ma per lo meno un sistema per organizzare e rendere più reperibile il materale che spesso è disperso, a mio parere, dovrebbe essere pensato.
Ora vorrei documentarmi un po' su questo Project Utopia, fermo restando che, ovviamente, la soluzione è La Distro Finale
:D
http://www.ubuntuhcl.org/
http://kmuto.jp/debian/hcl/
Anche io vorrei un database ufficiale dei dispositivi supportati,
perché quando devo comprare un nuovo hw, devo perdere ore
per sapere se mi funzionerà o no! le notizie spesso ci sono,
ma sono frammentate in vari siti! che barba… :(
@pecora
grazie per i link
di nulla.
cmq esistono anche altri siti. uno mi pare sia linuxsi.com, oppure sul sito di cups per sapere quali stampanti siano supportate e come, anche fedora dovrebbe avere un database simile, e molte distro han una pagina che mostra su quali portatili quella distro funziona, io spesso cerco nel wiki di gentoo (pur non amando io per nulla quella distro, chi la usa scrive la doc perfettamente, risulta spesso molto utile).
oppure esiste anche tux-mobile o qualcosa di simile…
insomma, la richiesta del post non è una cosa stupida, e nemmeno tanto nuova.
(anche quando ho cominciato io, nel ~1995 esisteva qualcosa del genere, e all'epoca era fondamentale, oggi va sostanzialmente tutto)
volevo farti conoscere il progetto smolt, un database hardware, mantenuto da fedora, e al quale anche openSUSE partecipa: http://smolt.fedoraproject.org/
http://www.linux-laptop.net/ e mai avuto problemi
una cosa che avwvo dimenticato: dopo un'installazione, aprire un baco su installatio-report spedisce i log al database, aiutando a creare i vari database sull'hardware.
Volevo rendervi partecipi di un ragionamento che ho fatto oggi assemblando un pc e che secondo me, con il classico meccanismo degli esempi, rende ancora più l'idea di quanto il mercato del sofware sia viziato.
Quando assembli un pc ti rendi subito conto come tutti i pezzi possono essere connessi fra di loro, anche se sono di marche differenti senza problema. Questo accade perchè da quando esiste il pc IBM compatibile (che tra l'altro ritengo essere la vera causa del successo di Microsoft) si sono create delle specifiche aperte di interoperabilità. Nessuna azienda che produce hardware per pc si azzarderebbe a fare prodotti che girano solo se connessi a quelli di un altro specifico produttore o a quelli che produce lei stessa : sarebbe semplicemente un suicidio.
Questo non avviene però nel mondo software! Avviene l'esatto contrario : il meccanismo delle specifiche aperte per l'hardware alle quali si attengono i produttori e grazie alle quali fanno in modo che essi lavorino a quanto pare, per loro non deve essere applicato anche al sofware.
A prescdere dal fenomeno Linux :
Se una nuova azienda decide di fare schede di memoria o chiavette usb o una webcam o chissà cos'altro, basta che prelevi il materiale aperto disponibile in internet e si metta acotruire il suo hardware in modo che possa essere connesso ad un pc IBM compatibile. Il tutto senza alcun problema.
Se una nuova azienda di software decide di fare un programma che giri su di un pc IBM compatibile e non vuole essere dipendente dall'uso di sofware di terze parti come quelli Microsoft farebbe molta più fatica a realizzarlo. Forse pagando fior di quattrini ai vari colossi dell'hardware potrebbe farsi dare le specifiche!
Voglio dire : se una nuova azienda decidesse di fare concorrenza frontale sui sistemi operativi al colosso di Redmond (questo le varie organizzazioni anti-trust ne dovrebbero tenere conto) anche se avesse il potenziale per farsi valere grazie alla qualità del suo prodotto come accade normalemente in un mercato sano, questo non potrebbe avvenire, perchè tantissimi produttori non rilasciano alcuna specifica.
Ciao