2012-07-25 10 views
5

Ich habe ein Raspberry Pi gekauft, mit einer 300 MHz CPU, aber es hat eine ziemlich gute GPU. Es kann sogar XBMC ausführen. Ich möchte dafür eine GUI programmieren, die reaktionsschnell und gut aussehen muss, während die verfügbare Hardware optimal genutzt wird (was leider nicht allzu gut ist ...). Der Raspberry Pi läuft mit Debian minimal, und ich habe das X Windowing System darauf gelegt, der Rest liegt bei mir zum code.Bestes leichtes, responsives GUI-Framework Linux

Was ist der beste Weg, um darin einzutauchen? Ich habe bereits in HTML5 und jQuery (über Python und PyWebkit) geschaut, aber sie scheinen zu CPU-intensiv zu sein (es sei denn, jemand weiß, wie man (Py) WebKit die GPU anstelle der CPU verwendet).

Um Verwirrung zu vermeiden, wird dieses System an Fernseher und dergleichen angeschlossen, und wird in erster Linie auf Home Entertainment ausgerichtet sein. Ich möchte nicht, dass dies ein Desktop- oder Desktop-ähnliches System ist, ich möchte nur wissen, was euch auf der Raspberry Pi-Box glatt vorgeht, damit ich meine Benutzeroberfläche auf diesem Framework programmieren kann.

+0

Ich stolperte das erste Mal, als Sie "Leichtgewicht" und "X11" sagten. Diese beiden widersprechen sich gegenseitig :-) –

+0

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

+0

Ich habe tatsächlich in Qt geschaut, aber ich weiß nicht viel über all diese (Animationen, hochauflösende Bilder, etc.). Danke für den Link. Aaron, was empfiehlst du anstelle von X11? Ich bin immer in Verbesserungen :) – Robbietjuh

Antwort

5

Nachdem ich eine benutzerdefinierte Nicht-Desktop-Benutzeroberfläche auf unterpowerbarer Hardware (litl.com) erstellt und sowohl auf GTK als auch auf Clutter gehackt hatte, würde ich die Frage leicht neu formulieren.

Das Hauptproblem ist, dass Sie die GPU verwenden müssen, anstatt "leicht" zu sein - normalerweise, wenn etwas sagt, es ist leicht, das bedeutet nur, dass es nicht viele Funktionen oder etwas hat. Zu vage ein Wort. Der Schlüssel ist GPU.

Der schwierige Teil über die Verwendung der GPU ist ein funktionierender Treiber. Ich weiß nicht, worauf sich die Himbeer-Pi-Leute hier konzentriert haben. Für ARM im Allgemeinen ist die Verwendung von Android die sicherste Methode, um einen funktionierenden Treiber zu erhalten. vielleicht nicht die Android-Benutzeroberfläche, sondern ihre Treiber und Grundgerüst, dann ersetzen Sie die Benutzeroberfläche.

X11 Treiber, wenn sie existieren, sind oft auf ARM defekt. Dies ist das wahre Problem mit X, anstatt leicht gegen Schwergewicht. Mit kaputt, ich meine vielleicht der Treiber irgendwie bootet und einen Desktop läuft, aber es ist langsam in wichtigen Fällen oder fehlende Dinge wie Hardware-Video-Decodierung.

Kurze Antwort: Verwenden Sie das Framework (und das Fenstersystem) mit dem besten 3D-Treiber, der die von Ihnen benötigten Funktionen unterstützt, z. B. Videodecodierung.Nochmals, ich habe mir Raspberry Pi nicht angesehen, aber ich wette, es gibt nur eine oder zwei Möglichkeiten, die dieses Kriterium erfüllen.

+0

Vielen Dank für Ihren Vorschlag. Das ist genau die Art von Antwort, die ich brauchte :) – Robbietjuh

0

Wenn Sie die GUI selbst programmieren, dann hängt "gutaussehend" nur von Ihren Designfähigkeiten ab. Kein UI-Framework kann ohne Ihre Hilfe "gut aussehende" Benutzeroberflächen erstellen.

Und ich kann nicht wirklich "X11" und "leicht" unter einem Hut bekommen. Wenn du wirklich etwas brauchst, das dir nicht im Weg steht, schau dir ein Spielframework wie SDL an.

Wenn Sie die meiste Arbeit für Sie erledigen möchten, dann haben Sie einen Preis zu zahlen und dieser Preis kommt in Form von Leistung. In diesem Fall empfehle ich X11 + Qt. Qt ist nicht das leichteste UI-Framework, aber es ist das, in dem die meisten Leute am produktivsten sind und es wirklich versucht, nett zu der Hardware zu sein.

+0

Ich plante alles selbst zu entwerfen, es ist ein Hobby-Projekt, also habe ich genug Zeit dafür :) Ich werde mir SDL anschauen, das Problem ist im Grunde, dass es ein Viele GUI-Systeme und Frameworks da draußen, also dachte ich, ihr könnt mir ein bisschen helfen, was ich am besten für diesen Zweck nutzen sollte :-) Danke nochmal – Robbietjuh

0

Je nachdem, wofür Sie eigentlich die UI benötigen.

Wenn Sie Monitor anschließen wollen und reich UI haben - X11 + LXDE ist vielleicht der leichteste Combo (oder etwas schwerer Xfce) - und Sie haben Standard-Desktop-

Wenn Sie es aus der Ferne für bestimmte Aufgaben zugreifen möchten - wahrscheinlich wird eine Apache/PHP-Website für Sie arbeiten.

Wenn Sie Ya-Window-Manager erstellen möchten, aber ohne X - SDL wird wahrscheinlich tun. Aber es wird nur Ihre UI-Anwendungen wegen nicht-Standard-WM laufen.

+0

Ich möchte nicht, dass es ein Desktop-ähnliches System ist, wie du scheinst es zu empfehlen. Ich möchte die GUI von Grund auf neu erstellen, aber ich brauche ein Framework, auf dem ich aufbauen kann. Das System (und die GUI) wird im Wohnzimmer, auf Fernsehgeräten und dergleichen verwendet. Es muss leicht sein, damit es reibungslos auf dem Raspberry Pi laufen kann. – Robbietjuh

+0

Sie werden also Video aus dem Gerät verwenden? Dann wahrscheinlich SDL mit Framebuffer-Ausgang und alle benutzerdefinierten Anwendungen sind Ihre Wahl. – durilka