2012-07-25 10 views
5

Ho acquistato un Raspberry Pi, dotato di una CPU da 300 Mhz, ma ha una GPU piuttosto buona. Può persino eseguire XBMC. Voglio programmare una GUI per questo, che deve essere reattiva e di bell'aspetto, pur utilizzando l'uso ottimale dell'hardware disponibile (che non è troppo bello, purtroppo ..). Il Raspberry Pi esegue Debian minimamente, e ho inserito X Windowing System su di esso, il resto spetta a me codificare.Miglior framework leggero e reattivo della GUI Linux

Qual è il modo migliore per immergersi in questo? Ho già esaminato HTML5 e jQuery (tramite Python e PyWebkit), ma sembrano avere un uso intensivo della CPU (a meno che qualcuno non sappia come ottenere (Py) WebKit utilizzare la GPU, anziché la CPU).

Per evitare confusione, questo sistema sarà collegato a televisori e simili e sarà principalmente indirizzato all'home entertainment. Non voglio che questo sia un sistema desktop o desktop, vorrei solo sapere cosa pensate che i vostri dipendenti funzionino senza problemi sulla scatola Raspberry Pi, così da poter programmare la mia interfaccia utente su quel framework.

+0

Mi sono imbattuto per la prima volta quando hai detto "leggero" e "X11". Questi due tipi si contraddicono a vicenda :-) –

+0

X11 API, GTK, QT/Qtopia, WxWidgets? Vedi anche - http://www.linuxjournal.com/article/9403 –

+0

Ho, in effetti, esaminato Qt, ma non ne so molto su tutte queste (animazioni, immagini ad alta risoluzione, ecc.). Grazie per il link. Aaron, cosa mi consigliate invece di X11? Sono sempre in miglioramento :) – Robbietjuh

risposta

5

Avendo realizzato un'interfaccia utente personalizzata non desktop su hardware underpowered (litl.com) e avendomi fatto un bel po 'su GTK e Clutter, avrei riformulato leggermente la domanda.

Il problema principale è DEVE usare la GPU piuttosto che essere "leggero" - di solito quando qualcosa dice che è leggero significa semplicemente che non ha molte funzionalità o qualcosa del genere. Una parola troppo vaga. La chiave è GPU.

La parte difficile dell'utilizzo della GPU è un driver funzionante. Non so a cosa le persone del raspberry pi si siano concentrate qui. Per ARM in generale il modo più affidabile per ottenere un driver funzionante potrebbe essere l'utilizzo di Android; forse non l'interfaccia utente Android di serie ma i loro driver e framework di base, quindi sostituire l'interfaccia utente.

I driver X11, se presenti, sono spesso danneggiati su ARM. Questo è il vero problema con X, piuttosto che leggero rispetto ai pesi massimi. In caso contrario, voglio dire che forse il driver è un po 'scaricabile e gestisce un desktop, ma è lento nei casi importanti o manca qualcosa come la decodifica video hardware.

Risposta breve: utilizzare il framework (e il sistema di finestre) con il miglior driver 3D che supporta le funzionalità necessarie, come la decodifica video.Ancora una volta, non ho guardato il pi greco, ma scommetto che ci sono solo una o due scelte che soddisfano questo criterio.

+0

Grazie per il suggerimento. Questo è esattamente il tipo di risposta di cui avevo bisogno :) – Robbietjuh

0

Se si programma la GUI da sé, quindi "bello" dipende solo dalle proprie capacità di progettazione. Nessun framework UI può creare interfacce utente "di bell'aspetto" senza il tuo aiuto.

E non riesco davvero a ottenere "X11" e "leggero" sotto un unico cappello. Se hai davvero bisogno di qualcosa che non ti intralci, guarda un framework di gioco come SDL.

Se si desidera la maggior parte del lavoro svolto per voi, allora avete un prezzo da pagare e quel prezzo si presenta sotto forma di prestazioni. In tal caso, suggerisco X11 + Qt. Qt non è il più leggero framework UI, ma è quello in cui la maggior parte delle persone è più produttiva e cerca davvero di essere gentile con l'hardware.

+0

Stavo progettando di progettare tutto da solo, è una sorta di progetto per hobby, quindi ho abbastanza tempo per farlo :) Darò un'occhiata a SDL, il problema è che fondamentalmente c'è un molti sistemi e framework GUI là fuori quindi ho pensato che potreste aiutarmi un po 'su quale sarebbe meglio usare per questo scopo :-) Grazie ancora – Robbietjuh

0

A seconda di cosa è effettivamente necessario per l'interfaccia utente.

Se si desidera collegare il monitor e hanno ricca interfaccia utente - X11 + LXDE è forse il combo più leggero (o leggermente più pesante Xfce) - e si dispone di desktop standard

Se si desidera accedere da remoto per compiti specifici - probabilmente un sito web apache/php funzionerà per te.

Se si desidera creare ya-window-manager ma senza X-SDL probabilmente lo farà. Ma eseguirà solo le tue app di interfaccia utente a causa di wm non standard.

+0

Non voglio che sia un sistema desktop-like, come sembra che tu suggerisca. Voglio fare la GUI da zero, ma avrò bisogno di un framework su cui basarmi. Il sistema (e la GUI) saranno utilizzati in salotto, su televisori e simili. Deve essere leggero per poter funzionare senza problemi sul Raspberry Pi. – Robbietjuh

+0

Quindi stai per utilizzare il video dal dispositivo? Quindi probabilmente SDL con output framebuffer e tutte le applicazioni personalizzate sono a tua scelta. – durilka