1. passportowner's Avatar
    03-17-21 01:07 AM
  2. lucifer_morninstar's Avatar
    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 AM
  3. passportowner's Avatar
    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 AM
  4. lucifer_morninstar's Avatar
    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.
    Ah! Thanks for the reply I get it now.
    It will be better if we can get a modern and updated browser.


    Sent from BlackBerry Passport 
    03-17-21 05:47 AM
  5. lucifer_morninstar's Avatar
    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.
    Hey brother one more question...how can we use this compiler with blackberryNDK or Momentics???

    Sent from BlackBerry Passport 
    03-17-21 07:19 AM
  6. passportowner's Avatar
    Bbndk is Momentics.
    Idk yet, you could as the author.
    03-17-21 08:51 AM
  7. DidactiCOde-leo's Avatar
    Hey brother one more question...how can we use this compiler with blackberryNDK or Momentics???
    Hi. The goal is to be able to use the new compiler with more current IDE's of your own choosing. Qt also includes Qt Creator which is a great IDE with built-in QNX integration and a Qt GUI designer; essentially a more modern Momentics. The original would still be there when needed.

    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 AM
  8. passportowner's Avatar
    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...
    OpenSSL port is available at BerryMuch:

    https://github.com/BerryFarm/berrymuch

    Probably you can reuse the patches.

    Hope it helps.
    03-17-21 09:14 AM
  9. DidactiCOde-leo's Avatar
    I was not expecting this at all! I just added some environment variables and....

    [Release] Updated Development Tools for BlackBerry 10-bb10-qt5-640x480.jpg

    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 PM
  10. passportowner's Avatar
    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 AM
  11. passportowner's Avatar
    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 AM
  12. DidactiCOde-leo's Avatar
    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"/>
    The Qt build creates shared libraries and I just copied them (QtCore and QtGui) into the "lib" folder. The "plugins" and "qml" folders are full copies from the Qt installation. I also copied dejavu font into the "font" folder. I think, maybe, probably... missing fonts was the key. I added the QPA plugin path because Qt was complaining, even though the mkspec specified "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 PM
  13. lucifer_morninstar's Avatar
    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"/>
    The Qt build creates shared libraries and I just copied them (QtCore and QtGui) into the "lib" folder. The "plugins" and "qml" folders are full copies from the Qt installation. I also copied dejavu font into the "font" folder. I think, maybe, probably... missing fonts was the key. I added the QPA plugin path because Qt was complaining, even though the mkspec specified "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.
    You Mean by using this guide we can update the Qt5 files on our device???

    Sent from BlackBerry Passport 
    03-22-21 12:36 PM
  14. passportowner's Avatar
    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 PM
  15. DidactiCOde-leo's Avatar
    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 PM
  16. passportowner's Avatar
    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 PM
  17. SnakeSpider's Avatar
    Hey @DidactiCOde-leo, you alive? The site is seemingly dead.
    01-12-22 03:34 PM
  18. DidactiCOde-leo's Avatar
    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 PM
  19. Dunt Dunt Dunt's Avatar
    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.
    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?
    Last edited by Dunt Dunt Dunt; 01-14-22 at 02:56 PM.
    01-14-22 02:38 PM
  20. brookie229's Avatar
    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?
    From what I've heard, it's not that difficult to make a BAR to APK converter........but who wants to?
    01-14-22 06:02 PM
  21. Ben xfg's Avatar
    From what I've heard, it's not that difficult to make a BAR to APK converter........but who wants to?
    It may become a have to.
    01-14-22 06:43 PM
  22. conite's Avatar
    From what I've heard, it's not that difficult to make a BAR to APK converter........but who wants to?
    It would be impossible if the app is in fact native.
    01-14-22 06:50 PM
  23. brookie229's Avatar
    It would be impossible if the app is in fact native.
    Oh yeah- I got that backward!
    01-14-22 07:25 PM
  24. SnakeSpider's Avatar
    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.
    It's possible to run unsigned code from term48, but without GUI (https://github.com/BerryFarm/berrymuch). If you have expired signing token, try changing your date. I've heard from people that it works.
    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 PM
49 12

Similar Threads

  1. Please need help with old Blackberry 8703e (on verizon),
    By rkjohnsjr in forum BlackBerry 87xx Series
    Replies: 11
    Last Post: 02-28-21, 08:16 PM
  2. Sleep Noise: playing colored noise for better sleep
    By Alexey Gurevski in forum BlackBerry 10 Apps
    Replies: 2
    Last Post: 02-28-21, 08:02 AM
LINK TO POST COPIED TO CLIPBOARD