![]() |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
1 Attachment(s)
Quote:
Download this http://bit.ly/GBnvrD I dont know how to make a JAD file, so I dload JADMaker here http://bit.ly/GBo70s and run it on my PC. Then, I transfert both files to the N900 ... et voila but it's not that easy to use for chat as I expected. |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
It works but on the N9 typing is a great pain :/
|
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
or... N950 ftw! |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Or N900 and avoid stupid problems/OS'es ;)
|
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
need upgrade this support java !!!!
|
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
@DavyP I would like to add a request for the sources too, I'm quite sure freemangordon and others can help you to improve this !
|
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
My apologies for not having been able to clean up my sources earlier
and making them available online. I have been pretty busy the last two weeks with other work. I have put a first part of the sources online at: http://davy.preuveneers.be/phoneme/public/maemo/src/ At the moment this is only the Qt4 front end. You also need phoneME compiled as a library to create the full package. I will try to upload these instructions tomorrow. Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
It still consumes about 5Mb root space, any plans to move files to opt?
|
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
Before, I used dlopen and dlsym routines to load the libcvm.so from the phoneme dir in /opt, but this was a mess as I had to create function pointers for all relevant methods. If I can find a way to build the phoneME Qt4 front end and also have it look for libcvm.so in other directories than /usr/lib etc. then this is issue is solved. PS: I am fully aware of the LD_LIBRARY_PATH environment variable, but I do not consider this as a proper solution. Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Some more details for the build instructions are available here:
http://davy.preuveneers.be/phoneme/?q=node/35 I am well aware that these instructions are not for the faint of heart. I hope to simplify the build process when I have a bit more spare time. Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Small follow-up:
The build instructions for the library have been greatly simplified but I have to check whether the method I used before to produce libcvm.so is completely compatible with the one mentioned on the website. I am not familiar with scratchbox to try and set up a build environment, but if someone wants to have a go it, I might be able to help with resolving the last remaining issues. Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
Sorry if you've already answered, but where are the checkout/build instructions for libcvm? |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Thank you DavyP.
sharing the code and buildinstructions is great. If you want to build libcvm with scratchbox for crosscompiling, just change the first line of your build script from export CVM_TARGET_TOOLS_PREFIX=/opt/arm-2011.09/bin/arm-none-linux-gnueabi- to export CVM_TARGET_TOOLS_PREFIX=/scratchbox/compilers/cs2007q3-glibc2.5-arm7/bin/arm-none-linux-gnueabi- So, building the cvm application works, but compiling Qt4 cvm application gives the following errors: build/main.o: In function `resetFrameBufferSize(int, int)': /tmp/build_phoneme//Downloads/cvm/src/main.cpp:229: undefined reference to `resizeFrameBuffer' /tmp/build_phoneme//Downloads/cvm/src/main.cpp:231: undefined reference to `resizeFrameBuffer' build/main.o: In function `cvm_exec()': /tmp/build_phoneme//Downloads/cvm/src/main.cpp:146: undefined reference to `cvm_main' build/main.o: In function `main': /tmp/build_phoneme//Downloads/cvm/src/main.cpp:618: undefined reference to `initPixmap' /tmp/build_phoneme//Downloads/cvm/src/main.cpp:620: undefined reference to `initPixmap' /tmp/build_phoneme//Downloads/cvm/src/main.cpp:624: undefined reference to `initDrawChars' /tmp/build_phoneme//Downloads/cvm/src/main.cpp:626: undefined reference to `initPlatform' /tmp/build_phoneme//Downloads/cvm/src/main.cpp:628: undefined reference to `initGPS' any ideas? |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
http://davy.preuveneers.be/phoneme/?q=node/34 or go to http://davy.preuveneers.be/phoneme and choose in the menu Maemo/MeeGo -> Build instructions Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
This library should contain the methods for which you get the errors. However, the build instructions do not include support for GPS and audio and stuff. The initPlatform and initGPS are used for those purposes. Maybe it is better if I create a slightly trimmed down front-end so that I first get you all started with compiling the basics, without pulling in external dependencies like the customized Location API I got from another project. Thanks for the scratchbox tip. I have built phoneME with this toolchain before, but used this cross-compiler: http://www.scratchbox.org/download/f...-1-i386.tar.gz I never set up the scratchbox build environment as explain over here http://www.developer.nokia.com/Commu..._for_beginners I installed the Qt SDK as the above website claimed this would be the best way forward. Anyway, I had some problems with the toolchain of the Qt SDK to build phoneME. That is why I relied on the CodeSourcery toolchain, and used the Qt SDK ones to build the frontend. If I can build both with scratchbox, I might be able to have a fully integrated build (without the need for creating a separate library). I'd say keep an eye on my build webpage the next couple of days to see if there are any updates on how to build this thing. Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
one with "export CVM_BUILD_SO=true" has just more errors: lib/libcvm.so: undefined reference to `pcsl_string_cat' ... lib/libcvm.so: undefined reference to `pcsl_file_getusedspace' |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
As I have not included a detailed explanation on how to add external dependencies for Location API support, just disable call to initGPS() in the main.cpp source file of the Qt4 front end application. This time, the libcvm.so library compiles and after commenting the initGPS() call, I don't get any undefined references anymore. However, I cannot currently test my build on a N900, as I don't have the device with me. This is all for now, folks. Cheers, Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
gcc when compiling cvm. This means the cvm application will now look for the libcvm.so library in /opt/phoneme/bin rather than in /usr/lib I uploaded a new build: http://davy.preuveneers.be/phoneme/public/maemo/deb/ Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Thanks for the latest update.
I don't know, were there any changes in Opera Mini landscape/portrait mode or auto-rotation, but on N9, it's still the same. After start OM is in landscape mode and no auto rotation. |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
1 Attachment(s)
libcvm.so and cvm build according to the instructions.
libcvim.so build in Ubuntu 10.04.4 LTS with -mfloat-abi=softfp -mfpu=vfp -mcpu=cortex-a8 , cvm build in scratchbox trying opera-mini: Nokia-N900:/opt/phoneme# $PWD/bin/cvm -Xmx12m -Dmicroedition.profiles=MIDP-2.0 -Dsun.midp.library.name=midp -Dsun.midp.home.path=$PWD/midp/midp_linux_fb_gcc -Dcom.sun.midp.mainClass.name=com.sun.midp.main.Cdc MIDletSuiteLoader sun.misc.MIDPLauncher -suitepath opera-mini-6.5.26955-advanced-en-us.jar -1 Browser ERROR! Bad CNI/KNI method return type for com.sun.midp.chameleon.skins.resources.LoadedSkinD ata.finishReadingSkinFile()I java.lang.NoClassDefFoundError: javax.microedition.io.file.FileSystemListener at java.lang.Class.loadSuperClasses(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknow n Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Unknow n Source) at java.net.URLClassLoader.findClass(Unknown Source) at sun.misc.MIDletClassLoader.loadFromUrl(Unknown Source) at sun.misc.MIDletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at Browser.startApp(Unknown Source) at javax.microedition.midlet.MIDletTunnelImpl.callSta rtApp(Unknown Source) at com.sun.midp.midlet.MIDletPeer.startApp(Unknown Source) at com.sun.midp.midlet.MIDletStateHandler.startSuite( Unknown Source) at com.sun.midp.main.AbstractMIDletSuiteLoader.startS uite(Unknown Source) at com.sun.midp.main.AbstractMIDletSuiteLoader.runMID letSuite(Unknown Source) at com.sun.midp.main.CdcMIDletSuiteLoader.main(Unknow n Source) at sun.misc.MIDPLauncher.main(Unknown Source) at sun.misc.CVM.runMain(Unknown Source) MIDlet suite has unexpectedly quit. javax.microedition.io.file.FileSystemListener REPORT: <level:2> <channel:1000> MIDlet suite has unexpectedly quit. javax.microedition.io.file.FileSystemListener QThread: Destroyed while thread is still running trying microemu-demo: Nokia-N900:/opt/phoneme# $PWD/bin/cvm -Xmx12m -Dmicroedition.profiles=MIDP-2.0 -Dsun.midp.library.name=midp -Dsun.midp.home.path=$PWD/midp/midp_linux_fb_gcc -Dcom.sun.midp.mainClass.name=com.sun.midp.main.Cdc MIDletSuiteLoader sun.misc.MIDPLauncher -suitepath microemu-demo.jar -1 org.microemu.midp.examples.simpledemo.SimpleDemoMI Dlet ERROR! Bad CNI/KNI method return type for com.sun.midp.chameleon.skins.resources.LoadedSkinD ata.finishReadingSkinFile()I The result looks ugly :)(see attachment), trying to select menus leads to canvs moving, cvm segfaults on exit. Otherwise seems functional. I can bet cvm source is not the latest :p running test.sh gives no errors: *CONGRATULATIONS: test Test completed with 411 tests passed and 0 failures *Output lines starting with a * should be checked for correctness *They can be compared to src/share/javavm/test/TestExpectedResult |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Since Germany has switched to summer time (CEST) this weekend, the time in Railnavigator is off by one hour (which would then correspond to CET). This is slightly annoying because all query values use the current time as the default ...
Could there be a bug in the time zone handling? (I've checked Railnavigator with Microemulator, and there it works as expected) |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
On the N9 emulator, the midlets also start in landscape mode when the device is positioned in portrait mode. I cannot test auto-rotate with the emulator, though if I remember correctly, some people claimed auto-rotation worked for them (I might be wrong). I presume you have the same issue with other midlets beyond Opera Mini (e.g. microemu-demo)? The only easy fix I can think of is adding another entry in the midlet settings that would rotate the midlet in the other direction. Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
finishReadingSkinFile error. However, this error is not critical. The FileSystemListener error appears because you do not have JSR 75 support yet. The build instructions I gave are without additional JSRs. I will add those details later on. Regarding the dragging: yes, this is an annoying "feature" and you actually cannot disable it. So for my builds, when compiling I actually look for a particular subversion commit in the original subversion repository that added this feature, and then I undo those changes. I will see if I can make a patch for that and add it to the list. About the ugly results: I forgot the fact that for current high resolution devices the original background bitmaps (the blue ones) and fonts are way too small. So I doubled the size of the bitmaps and use those instead. That is why you only see half of the text in top and bottom blue bars. That is why I usually have two builds: one for low resolution devices (e.g. 320x240) and high resolution devices (e.g. 800x480 and up). I will probably create another package that you have to unpack on top of the subversion sources and patches. Despite all this, I am glad to see you got a build working. The issues you mention are not unknown to me. I will address them on my website. Once again, thanks for testing! Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
cvm command line parameters. In Android, the front-end application (running in Dalvik VM) takes the current timezone offset (in msec) constructs the above GMT based timezone, and passes that along when calling cvm. This means I have to do something similar in Qt4. Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
I added two more patches on my website to fix the dragging problem, and the CNI/KNI skin error.
I also included 2 additional packages with resized skin bitmaps and JSR 75 sources (with instructions on how to enable this JSR). Warning: I have not done any thorough testing. Regards, Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
1 Attachment(s)
Quote:
Quote:
But as long as I add: export USE_JSR_75=true export JSR_75_DIR=$WORK_DIR/jsr75 export JSR_75_PIM_HANDLER_IMPL=java to my build script, libcvm.so no longer compiles. There are lots of error messages for missing classes, see the attachment |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
I would suggest to leave out JSR 75 support for the time being. I will try to address this issue when I add instructions for including JSR 179 (Location API) support. I still need to clean up this part. Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Hi Davy,
Been testing this without issue since the move to .deb install. Thats why I've been a bit quiet of late :) Is it possible to get cvm to request packet data access on demand? When the connection drops or autodisconnects and I try to reload a page, I have to manuall y go to connections and connect again since I have set it to prompt for connection. Otherwise it is working fine :) |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
I actually had some fun disassembling the device. I bought a new digitizer to replace the scratched screen at Tmart.com for 8 EUR, but unfortunately it is missing the metal frame at the back with the 6 screw holes and I cannot seem to separate the metal frame from the original one. Should anyone have some tips where to buy this instead, they are most welcome :-). Regarding your problem: I presume you are talking about 3G connections? This is not trivial because there are different ways of network connectivity (WiFi, 3G, USB). On Windows Mobile, there is something called ConnectionManager to take care of this. I have no idea if Maemo has APIs to do just that. Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
Re location API - I don't think using Qt mobility is the best solution for n900, Qt is a memory hungry animal. There are better solutions AFAIK: http://wiki.maemo.org/Documentation/...ng_liblocation I think I can help a lot on that side, we can just agree on the interface you need, and I will implement it in a .so file, so you won't need scratchbox or anything to use native Maemo5 GPS support. The same is with multimedia support, but lets leave that for now. I would really appreciate if you could give me some hints on how to workaround missing parts that prevent me from having the fully functional libsvm.so build (to the point your build is functional, of course) |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
Quote:
http://wiki.maemo.org/Documentation/...o_Connectivity |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
|
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
I actually used liblocation before to support GPS functionality, but since this library was not available on MeeGo, but Qt Mobility was on Maemo, I chose that one for both. Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
modifications) to fix the build issues with JSR75 as well as addon packages for JSR179 and JSR135. The build you can produce with these updates should be the same as my own builds. Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
The rotation will cause some overhead I am sure. It is the quickest fix for the N9 as I have not been able to properly support rotation (as I would have to use QML for that). Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
If you change your Internet Connection settings to Always ask, and try to open a MicroB browser window you will get prompted which connection or APN to use (WiFi, 3G etc)- getting the same functionality available in PhoneME would be great!
I have started putting Opera Mini through its paces by opening multiple tabs.. this isn't something I do all the time since the back/forward buttons are lightening fast compared to other browsers. After 4 tabs are open processor load hits maximum and display goes jerky, closing them makes no difference so i just close the browser and open another copy and resume from where I left off in the History. Like I said I don't use tabbed browsing often, but I thought I'd let you know where performance is getting hit. I do find I am using Opera Mini more than MicroB since I am now without a car and use 2G for bus journeys due to patchy 3G cover, so thank you again for your efforts in bringing PhoneMe to this platform.. also if Freemangordon and other members of the community are willing to help then things are looking good :) |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
Quote:
with a max Java heapspace of 12MB. Maybe Opera is using a lot to store and cache all its content, and increasing this limit a bit would help to open up more tabs. Cheers, Davy |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
@DavyP - thanks for the last patches, now opera runs. In short - everything is fine :)
I've played a little bit with cvm code and the result so far: JBenchmark2, no overclock, charger connected, using max score from several runs: landscape: DavyP cvm - 862 freemangordon cvm - 874 portrait: DavyP cvm - 760 freemangordon cvm - 774 not and impressive speedup (only about 2%) :D , but yet Next thing I will do is to try to get rid of that memcpy(by passing cvm allocated buffer as screen buffer to libcvm), it should give us additional performance boost. Again, thanks a lot for making this port to maemo and sharing your experience with us. EDIT: any chance to PM me a link to download JBenchmark, google finds a site when a registration is needed, but I don't want my inbox full with spam. |
Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
After first batch of optimization, maybe it will be time for extras-devel?
|
All times are GMT. The time now is 12:14. |
vBulletin® Version 3.8.8