Java and Qtframebuffer....

Spamkiller

Grünschnabel
Hallöchen,
da ich bereits großartige Hilfe im Forum bekommen habe, habe ich es geschafft, auf einer Art Ebook Reader eine Version von Java 7 SE Embedded zu laufen zu bringen.

Ich halte mich fürs Erste etwas knapp an Details, sonst wird der erste Post zu umfangreich ;-)

Folgendes jedoch zur Umgebung: Es läuft eine Java SE Embedded VM, wie gesagt. Das System ist eine Linux Variante auf der ich vollen Zugriff habe.
Die Applikationen auf dem Reader sind mit einem QTFramework erstellt. Sämtliche GUI Programme laufen also über den QTFramebuffer.

Jetzt möchte ich aber auch irgendwann in der Lage sein, mit meinem Java eine GUI zu basteln. Swing etc. fällt natürlich hier heraus, da die JVM headless ist.

Die Frage ist jetzt, wie kann ich den Framebuffer aus Java heraus benutzen. Kennt Ihr dafür Lösungsansätze?

Ich habe mir bisher die Pfoten wund gegoogelt. Ich bin auf eine Java VM gestoßen die Kaffe heißt. Dort ist oft die Rede davon, dass diese mit dem Framebuffer arbeiten kann. Derzeit experimentiere ich noch herum um diese VM auf dem Reader mal laufen zu lassen.

Vielen Dank schonmal für evtl. Antworten. Vielleicht hat ja schonmal jemand so ein Problem gelöst.
 
Danke für das Stichwort. Das scheint genau in die Richtung zu gehen die ich brauche.
Ich habe am Wochenende mal ein Testprojekt gebaut, dass ich jetzt mal auf dem Gerät starten werde.
Mal sehen ob das Ding QTJambi mag.

...to be continued...
 
Okay es ist völlig klar was jetzt passiert ist:
Das Testprojekt beinhaltet die QT Jambi Libraries für Linux.
Da ich aber auf einem ARM 5 Prozessor arbeite knallt es beim laden der nativen Programmteile:

Code:
java -cp ".:qtjambi-linux32-gcc-4.6.3.jar:qtjambi-4.6.3.jar:qtjambi-util-4.6.3.jar" Test

Code:
Loading library: 'libQtCore.so.4'...
 - using deployment spec

        at com.trolltech.qt.internal.NativeLibraryManager.loadNativeLibrary(NativeLibraryManager.java:431)
        at com.trolltech.qt.internal.NativeLibraryManager.loadQtLibrary(NativeLibraryManager.java:355)
        at com.trolltech.qt.Utilities.loadQtLibrary(Utilities.java:145)
        at com.trolltech.qt.Utilities.loadQtLibrary(Utilities.java:141)
        at com.trolltech.qt.QtJambi_LibraryInitializer.<clinit>(QtJambi_LibraryInitializer.java:56)
        ... 2 more
Caused by: java.lang.UnsatisfiedLinkError: /tmp/QtJambi_root_arm_4.6.3_gcc-20100616-0803/lib/libQtCore.so.4    : /tmp/QtJambi_root_arm_4.6.3_gcc-20100616-0803/lib/libQtCore.so.4: cannot open shared object file: No such     file or directory (Possible cause: can't load IA 32-bit .so on a ARM-bit platform)
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1928)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1825)
        at java.lang.Runtime.load0(Runtime.java:792)
        at java.lang.Runtime.load(Runtime.java:780)
        at com.trolltech.qt.internal.NativeLibraryManager.loadLibrary_helper(NativeLibraryManager.java:458)
        at com.trolltech.qt.internal.NativeLibraryManager.loadNativeLibrary(NativeLibraryManager.java:426)
        ... 6 more

Jetzt gilt es eine Library von QT Jambi zu finden, die für ARM 5 Prozessoren kompiliert wurde.
 
Also folgende Probleme habe ich:
- QT Jambi wird ohne weiteres nicht funktionieren. Ich müsste die C++-Teile des Projekts selbst kompilieren. Das geht aber (so wie ich das einschätze) nicht ohne tiefer gehende Anpassungen.
- QT Jambi finde ich auch nicht als Binaries die auf einem ARM 5 laufen würden.

Eine andere Möglichkeit, eine Java GUI zu bauen habe ich nicht gefunden. C++ ist im Moment für mich keine Alternative, da ich das erst noch lernen müsste xD

Also falls noch jemand eine Idee hat, wäre ich für weitere Hilfe sehr dankbar.
 
Hmm, irgendwie sieht die herangehensweise in den Beispielen ziemlich C lastig aus. Ich meine wenn ich nachher eh die gui in C basteln muss, dann kann ich das Projekt rein theoretisch direkt in C implementieren.

Mir gefällt irgendwie die Vorstellung dass sich QT Jambi einfach für einen ARM 5 Prozessor cross-kompilieren lässt. Leider sieht das allerdings auch ekelig aus, da das Projekt schon ein Jahr (oder länger) tot ist. Der Vorteil wäre jedoch, dass ich mich um die Portierung von QT Jambi nur einmal kümmern müsste.

Das wird - bis jetzt jedenfalls - eine riesen Bastelei.
Ich hoffe ich oder jemand anders findet vllt. einen komfortableren Weg.
 
Zurück