[Release] Updated Development Tools for BlackBerry 10
-
- So what happens now ??
I'm not that techie so can you simply tell me what's going on
Sent from BlackBerry Passport 03-17-21 01:43 AMLike 0 - The new GCC toolchain allows dedicated hackers to compile recent Qt 5 (which can't be built with the original toolchain anymore as it requires modern toolchain).
Qt5 comes with the legacy QtWebKit and (possibly) the more advanced and recent QtWebEngine (which is basically the engine used by Chromium).
Those are Web rendering engines: the most important building block of a webbrowser.
One can then build a shell around those render engines to get a recent and native webbrowser for BB10.
Paperbird is a possible candidate as it is open source.
Tldr: it would allow us to ditch the original browser-engine comes with BB10 and replace it with a modern one.
This would not influence any other browser on the device.
Hope it is clear now.03-17-21 05:43 AMLike 4 - The new GCC toolchain allows dedicated hackers to compile recent Qt 5 (which can't be built with the original toolchain anymore as it requires modern toolchain).
Qt5 comes with the legacy QtWebKit and (possibly) the more advanced and recent QtWebEngine (which is basically the engine used by Chromium).
Those are Web rendering engines: the most important building block of a webbrowser.
One can then build a shell around those render engines to get a recent and native webbrowser for BB10.
Paperbird is a possible candidate as it is open source.
Tldr: it would allow us to ditch the original browser-engine comes with BB10 and replace it with a modern one.
This would not influence any other browser on the device.
Hope it is clear now.
It will be better if we can get a modern and updated browser.
Sent from BlackBerry Passport 03-17-21 05:47 AMLike 0 - The new GCC toolchain allows dedicated hackers to compile recent Qt 5 (which can't be built with the original toolchain anymore as it requires modern toolchain).
Qt5 comes with the legacy QtWebKit and (possibly) the more advanced and recent QtWebEngine (which is basically the engine used by Chromium).
Those are Web rendering engines: the most important building block of a webbrowser.
One can then build a shell around those render engines to get a recent and native webbrowser for BB10.
Paperbird is a possible candidate as it is open source.
Tldr: it would allow us to ditch the original browser-engine comes with BB10 and replace it with a modern one.
This would not influence any other browser on the device.
Hope it is clear now.
Sent from BlackBerry Passport 03-17-21 07:19 AMLike 0 -
-
I'll be updating the site with details of my progress in a day or two. However, I can say that there are a couple of missing libraries that make the prospect of using Qt5 to build a browser more distant than I'd have hoped. In fact, the two most important libraries are the ones that need most work to be adapted to BB10 (OpenSSL and WebEngine). Of course, getting things to actually be seen, heard and touched on the device is important too...
The QtCore compiles successfully with C++17 enabled so it's pretty solid proof that the compiler is stable. Looking at the big picture, however, missing just 2-4 pieces is a monumental achievement. Building a working platform requires a large number of individual libraries (https://doc.qt.io/qt-5/licenses-used-in-qt.html), so it is no surprise that BlackBerry chose to work with Qt. The work the Qt Company has done to gather all the necessary pieces, adapt each library's build process, maintain them and provide their own stable, comprehensive, cohesive system foundation is just brilliant!
Getting things to appear on the device didn't turn out to be the easy peasy affair I had hoped, but I'm enjoying the journey. Keep calm and carry on.03-17-21 08:57 AMLike 0 -
https://github.com/BerryFarm/berrymuch
Probably you can reuse the patches.
Hope it helps.03-17-21 09:14 AMLike 0 - I was not expecting this at all! I just added some environment variables and....
I'm putting this project on hold for now, but there's a lot to look forward to when I get back to it. Cheers everyone!03-21-21 07:30 PMLike 3 - Nice job and great results.
Will you enlight us what we're the required env vars?
I will look into this whole stuff as soon as I return to my desktop computer (planned in middle of april).
Keep up the good job!03-22-21 02:22 AMLike 0 - Did you used a static build for this program? How is the load times? Loading a complete different Qt lib set could have a negative influence on the loading time.
Hoe did you deployed the binary to the phone? Did you generated a signed bar file or started the program from Terminal?03-22-21 03:45 AMLike 0 - Hi. These are the environment variables I used:
Code:<env var="LD_LIBRARY_PATH" value="app/native/lib"/> <env var="QML_IMPORT_PATH" value="app/native/qml"/> <env var="QML2_IMPORT_PATH" value="app/native/qml"/> <env var="QT_PLUGIN_PATH" value="app/native/plugins"/> <env var="QT_QPA_FONTDIR" value="app/native/lib/fonts"/> <env var="QT_QPA_PLATFORM" value="qnx"/>
Yes, it takes a long time to load because I just copied everything, but there are instructions on how to save the libraries in the "devuser" folder so the binary can be smaller:
https://wiki.qt.io/Custom_Qt_on_BlackBerry_devices
I used Momentics to upload it, so it's all in development mode. I think the libraries can just be copied into the devuser folder without signing, so you'd only sign the executable. I haven't tried it, though.03-22-21 12:01 PMLike 0 - Hi. These are the environment variables I used:
Code:<env var="LD_LIBRARY_PATH" value="app/native/lib"/> <env var="QML_IMPORT_PATH" value="app/native/qml"/> <env var="QML2_IMPORT_PATH" value="app/native/qml"/> <env var="QT_PLUGIN_PATH" value="app/native/plugins"/> <env var="QT_QPA_FONTDIR" value="app/native/lib/fonts"/> <env var="QT_QPA_PLATFORM" value="qnx"/>
Yes, it takes a long time to load because I just copied everything, but there are instructions on how to save the libraries in the "devuser" folder so the binary can be smaller:
https://wiki.qt.io/Custom_Qt_on_BlackBerry_devices
I used Momentics to upload it, so it's all in development mode. I think the libraries can just be copied into the devuser folder without signing, so you'd only sign the executable. I haven't tried it, though.
Sent from BlackBerry Passport 03-22-21 12:36 PMLike 0 - No, the device comes with Qt4 afaik, we can't change that without breaking the whole OS. And we have no write permission to do that on the device.
But the programs can supply an own Qt version so they can use that instead of the system provided one.
Maybe the devuser account can be a solution, but as far as I remember the devuser account have a time limit. Have to research that topic.03-22-21 01:13 PMLike 0 - Yeah, it would be nice to have a single installation of the libraries. I don't think there would be a problem if they were saved in the shared folder, e.g. "shared/misc/qt5" or "shared/misc/qusr/lib/qt5." This way, any app would be able to use third-party libraries and utilities in misc/qusr/{bin, etc, lib, share...}. Just an idea...03-22-21 03:46 PMLike 0
- Yep, I tought about the same solution.
It makes the resulting binaries smaller but one have to put the files into the current location.
Also we should consider to put the libs to the SD card as they are faster than the onboard (mmc?) storage.
I have no BB development background, can't programs access eachother files? I assume they are sandboxed, but it would be nice to make a "placeholder" bár which would install the libs only and the other programs could use them. Maybe (just maybe) there is a way to accomplish this. Shared resources or smth...03-22-21 04:15 PMLike 0 -
- Hi there! Sorry I let the site lapse. I stepped away from this work for a while, but I'm still committed to future BB10 development.
With the BlackBerry infrastructure going down, I've not been able to get native code running, but there might be (very challenging) ways to do so.
For now, new Android apps work. Web packages (in a self-contained folder) will also work, and it might (just maybe?) be possible to access native APIs this way.
I'll be getting the site back up in a short while.
Thanks for your interest. Code signing is the challenge. It has always been a bit of a hassle, but I believe that there are still people out there who would at least tinker with an accessible toolchain and OS.01-14-22 02:27 PMLike 0 - Hi there! Sorry I let the site lapse. I stepped away from this work for a while, but I'm still committed to future BB10 development.
With the BlackBerry infrastructure going down, I've not been able to get native code running, but there might be (very challenging) ways to do so.
For now, new Android apps work. Web packages (in a self-contained folder) will also work, and it might (just maybe?) be possible to access native APIs this way.
I'll be getting the site back up in a short while.
Thanks for your interest. Code signing is the challenge. It has always been a bit of a hassle, but I believe that there are still people out there who would at least tinker with an accessible toolchain and OS.
Really need a fix for that one, just so anyone that wipes or reinstalls their OS, will be able to even use native BB10 apps. (never mind the few that get locked out of setup and have to jump through hoops each time the reboot their phone).
I think the future is Android Apps...
Can someone make a BAR to APK converter?Last edited by Dunt Dunt Dunt; 01-14-22 at 02:56 PM.
01-14-22 02:38 PMLike 0 - Code signing and ability to get around the inability to sideload BAR files...
Really need a fix for that one, just so anyone that wipes or reinstalls their OS, will be able to even use native BB10 apps. (never mind the few that get locked out of setup and have to jump through hoops each time the reboot their phone).
I think the future is Android Apps...
Can someone make a BAR to APK converter?01-14-22 06:02 PMLike 0 -
-
-
I've also written CMake toolchain file so that we will be able to migrate from Momentics to more recent IDE (VS, CLion or QtCreator). If you're interested and would like to cooperate, join tg channel in the link above.01-16-22 12:44 PMLike 0
- Forum
- BlackBerry 10 Phones & OS
- BlackBerry 10 OS
[Release] Updated Development Tools for BlackBerry 10
Similar Threads
-
Please need help with old Blackberry 8703e (on verizon),
By rkjohnsjr in forum BlackBerry 87xx SeriesReplies: 11Last Post: 02-28-21, 08:16 PM -
Sleep Noise: playing colored noise for better sleep
By Alexey Gurevski in forum BlackBerry 10 AppsReplies: 2Last Post: 02-28-21, 08:02 AM
LINK TO POST COPIED TO CLIPBOARD