Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Building Qt for ARMv6l
Forum Updated to NodeBB v4.3 + New Features

Building Qt for ARMv6l

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
24 Posts 5 Posters 9.4k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Offline
    G Offline
    Gutemberg
    wrote on last edited by Gutemberg
    #1

    Hello,

    I'm looking to build Qt applications for this device: PAX S920 -> www.pax.com.cn/Upload/百富产品/Mobile/S920_ENG-14033279322.pdf

    This device is an ARMv6l where the processor has no VFP/FPU and has no HW acceleration for GFX, so all we have is access to /dev/fb linux framebuffer device which doesn't have X11 or any kind of Window Manager.

    The final objective is to have Qt and QtWebKit running on this device in a full-screen application where it has nothing more than a browser control rendering HTML web apps.

    I've read numerous tutorials and docs about building Qt and QtWebkit but none of them, worked for this device. I've tried to hire multiple contractors to do that work but none made progress.

    Can someone point me to correct steps, docs or any tutorial in order to achieve the following:

    • Build Qt for ARMv6l
    • Make sure it work with linux framebuffer (/dev/fb) without dependencies on X11 and any dependency with OpenGL (since there is no HW acceleration)
    • Build QtWebKit

    The major reason I'm looking for QTWebKit instead of QtWebEngine is because QTWebEngine is based on Chromium which has the following problems for my case:

    • Bigger footprint than WebKit
    • Chromium is based on V8, which requires VFP/FPU so it doesn't work on our device
    • Unless QtWebEngine implement something else (like the Ozone layer on Chromium), Chromium doesn't support linux Framebuffer

    Here is basic information about the device:

    http://imageshack.com/a/img923/9276/3Zl3xf.png

    I really appreciate any help.

    Thank you!

    Best regards,
    Gutemberg

    1 Reply Last reply
    0
    • mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #2

      hi
      (note)
      the link PAX S920 dont seem to work,.

      G 1 Reply Last reply
      0
      • G Offline
        G Offline
        Gutemberg
        wrote on last edited by
        #3
        This post is deleted!
        1 Reply Last reply
        0
        • mrjjM mrjj

          hi
          (note)
          the link PAX S920 dont seem to work,.

          G Offline
          G Offline
          Gutemberg
          wrote on last edited by
          #4

          @mrjj Thank you! Idk why if I embed the link it doesn't work. Just added the plain link and it looks that work :)

          Do you have any suggestions for the problem?

          Thanks

          mrjjM 1 Reply Last reply
          0
          • G Gutemberg

            @mrjj Thank you! Idk why if I embed the link it doesn't work. Just added the plain link and it looks that work :)

            Do you have any suggestions for the problem?

            Thanks

            mrjjM Offline
            mrjjM Offline
            mrjj
            Lifetime Qt Champion
            wrote on last edited by mrjj
            #5

            @Gutemberg
            Yes that a bit odd. I wonder if the 百富产品 play a part.

            Sadly Im not into arm. However I briefly discussed the case with our
            local Qt Champion and he expressed concern if the device has enough horsepower
            to handle webkit. (64 MB ram is not much). Just wanted to mention it.

            G 1 Reply Last reply
            0
            • mrjjM mrjj

              @Gutemberg
              Yes that a bit odd. I wonder if the 百富产品 play a part.

              Sadly Im not into arm. However I briefly discussed the case with our
              local Qt Champion and he expressed concern if the device has enough horsepower
              to handle webkit. (64 MB ram is not much). Just wanted to mention it.

              G Offline
              G Offline
              Gutemberg
              wrote on last edited by
              #6

              @mrjj it does. I have it running from other providers (i.e. www.ekioh.com) and it run just fine. It does all we want. No VFP/FPU and run perfectly on linux framebuffer. The problem is their license model...

              mrjjM 1 Reply Last reply
              0
              • G Gutemberg

                @mrjj it does. I have it running from other providers (i.e. www.ekioh.com) and it run just fine. It does all we want. No VFP/FPU and run perfectly on linux framebuffer. The problem is their license model...

                mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by mrjj
                #7

                @Gutemberg
                ok so u seen a Qt that worked fine on the same spec device?
                Well that should guarantee that u most likely can have the same.
                Do you know if it was Qt 4 or 5?

                G 1 Reply Last reply
                0
                • mrjjM mrjj

                  @Gutemberg
                  ok so u seen a Qt that worked fine on the same spec device?
                  Well that should guarantee that u most likely can have the same.
                  Do you know if it was Qt 4 or 5?

                  G Offline
                  G Offline
                  Gutemberg
                  wrote on last edited by Gutemberg
                  #8

                  @mrjj Qt 5.

                  Also, its not intended to run full blow websites and neither video or other multimedia content on our device.

                  The idea is that application developers can code the apps using modern web frameworks hence why we want a modern web engine. It is just "simple" payment applications with small screens, hence the small resource usage on those "sites".

                  mrjjM 1 Reply Last reply
                  0
                  • G Gutemberg

                    @mrjj Qt 5.

                    Also, its not intended to run full blow websites and neither video or other multimedia content on our device.

                    The idea is that application developers can code the apps using modern web frameworks hence why we want a modern web engine. It is just "simple" payment applications with small screens, hence the small resource usage on those "sites".

                    mrjjM Offline
                    mrjjM Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on last edited by
                    #9

                    @Gutemberg
                    Ok. it sounds reasonable.
                    Good luck with it. sounds like interesting project.

                    G 1 Reply Last reply
                    0
                    • mrjjM mrjj

                      @Gutemberg
                      Ok. it sounds reasonable.
                      Good luck with it. sounds like interesting project.

                      G Offline
                      G Offline
                      Gutemberg
                      wrote on last edited by
                      #10

                      @mrjj Thanks... I hope someone can jump in here and bring me help building Qt for it... So far found no concrete document for that. But thanks

                      mrjjM 1 Reply Last reply
                      0
                      • G Gutemberg

                        @mrjj Thanks... I hope someone can jump in here and bring me help building Qt for it... So far found no concrete document for that. But thanks

                        mrjjM Offline
                        mrjjM Offline
                        mrjj
                        Lifetime Qt Champion
                        wrote on last edited by
                        #11

                        @Gutemberg
                        well its seems to be mutiple disciplines into play as u want a custom Qt with very tight requirements but I bet
                        hard work and lots of asking here will enable u to build it.

                        Is it for a commercial product line or just a for fun project?

                        G 1 Reply Last reply
                        0
                        • mrjjM mrjj

                          @Gutemberg
                          well its seems to be mutiple disciplines into play as u want a custom Qt with very tight requirements but I bet
                          hard work and lots of asking here will enable u to build it.

                          Is it for a commercial product line or just a for fun project?

                          G Offline
                          G Offline
                          Gutemberg
                          wrote on last edited by
                          #12

                          @mrjj It is for a commercial project. At first we are aiming this PAX device since it is the more "flexible" device in the payment industry but we want to get other players supported as well (like Verifone, Ingenico, etc.).

                          Like I said, I tried to hire people just to build Qt for the device but no success. I found lots of people that know QML and development FOR Qt but none that actually cross compiled it for an embedded device.

                          1 Reply Last reply
                          0
                          • tomasz3dkT Offline
                            tomasz3dkT Offline
                            tomasz3dk
                            wrote on last edited by tomasz3dk
                            #13

                            Hi. Basically if you want to crosscompile qt you can do this in 2 ways:

                            1. If you have a proper toolchain and rootfs with development files, you can download qt sources and crosscompile it. I think that a good point to start is with begginsers guide for raspberry pi. Probably you will have to change some options in qmake.conf for this processor.
                            2. Build your own image and sdk with yocto project.

                            Qt Company have also Qt for device creation so you can ask them directly about commercial version for this device.
                            There are not much information about this device on internet (sdk, linux version etc..) so for now i can't help more.

                            G 1 Reply Last reply
                            1
                            • tomasz3dkT tomasz3dk

                              Hi. Basically if you want to crosscompile qt you can do this in 2 ways:

                              1. If you have a proper toolchain and rootfs with development files, you can download qt sources and crosscompile it. I think that a good point to start is with begginsers guide for raspberry pi. Probably you will have to change some options in qmake.conf for this processor.
                              2. Build your own image and sdk with yocto project.

                              Qt Company have also Qt for device creation so you can ask them directly about commercial version for this device.
                              There are not much information about this device on internet (sdk, linux version etc..) so for now i can't help more.

                              G Offline
                              G Offline
                              Gutemberg
                              wrote on last edited by Gutemberg
                              #14

                              @tomasz3dk Thanks for get back. We cannot create an image for the device. We can only create applications for it. And yes, we have a toolchain with sysroot here. Tutorials like that one is one of the multiple ones around the web that points to specific PI build. There is no docs or tutorial for general ARM devices.

                              I updated the post with basic information of the device processor.

                              Thanks

                              tomasz3dkT 1 Reply Last reply
                              0
                              • G Gutemberg

                                @tomasz3dk Thanks for get back. We cannot create an image for the device. We can only create applications for it. And yes, we have a toolchain with sysroot here. Tutorials like that one is one of the multiple ones around the web that points to specific PI build. There is no docs or tutorial for general ARM devices.

                                I updated the post with basic information of the device processor.

                                Thanks

                                tomasz3dkT Offline
                                tomasz3dkT Offline
                                tomasz3dk
                                wrote on last edited by
                                #15

                                @Gutemberg I don't see informations about processor in your first post ;)

                                G 1 Reply Last reply
                                0
                                • tomasz3dkT tomasz3dk

                                  @Gutemberg I don't see informations about processor in your first post ;)

                                  G Offline
                                  G Offline
                                  Gutemberg
                                  wrote on last edited by
                                  #16
                                  This post is deleted!
                                  mrjjM 1 Reply Last reply
                                  0
                                  • G Gutemberg

                                    This post is deleted!

                                    mrjjM Offline
                                    mrjjM Offline
                                    mrjj
                                    Lifetime Qt Champion
                                    wrote on last edited by mrjj
                                    #17

                                    @Gutemberg
                                    Hi upload is broken here at forum ;(
                                    please use external site and paste link here.

                                    G 1 Reply Last reply
                                    0
                                    • mrjjM mrjj

                                      @Gutemberg
                                      Hi upload is broken here at forum ;(
                                      please use external site and paste link here.

                                      G Offline
                                      G Offline
                                      Gutemberg
                                      wrote on last edited by mrjj
                                      #18

                                      @mrjj thanks!

                                      @tomasz3dk here is the CPU info http://imageshack.com/a/img923/9276/3Zl3xf.png

                                      1 Reply Last reply
                                      0
                                      • G Offline
                                        G Offline
                                        Gutemberg
                                        wrote on last edited by
                                        #19

                                        Ok good news!

                                        I got Qt 5.8-beta compiled (didn't tried QtWebkit yet and previous versions don't compile, dunno why)! -> I'll post a complete step-by-step here once I got everything to work.

                                        Sent to the device just the libQt5Core and a HelloWorld app that just write a line to the console I built with QtCreator and this is the output:

                                        /data/opt/helloconsole $ ./HelloConsole
                                        A newer kernel is required to run this binary. (__kernel_cmpxchg64 helper)
                                        

                                        Any idea on what can be? As the image I posted here, the kernel is 3.0.56...

                                        Thanks

                                        jsulmJ 1 Reply Last reply
                                        1
                                        • G Gutemberg

                                          Ok good news!

                                          I got Qt 5.8-beta compiled (didn't tried QtWebkit yet and previous versions don't compile, dunno why)! -> I'll post a complete step-by-step here once I got everything to work.

                                          Sent to the device just the libQt5Core and a HelloWorld app that just write a line to the console I built with QtCreator and this is the output:

                                          /data/opt/helloconsole $ ./HelloConsole
                                          A newer kernel is required to run this binary. (__kernel_cmpxchg64 helper)
                                          

                                          Any idea on what can be? As the image I posted here, the kernel is 3.0.56...

                                          Thanks

                                          jsulmJ Offline
                                          jsulmJ Offline
                                          jsulm
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #20

                                          @Gutemberg said in Building Qt for ARMv6l:

                                          __kernel_cmpxchg64

                                          Does this happen with a plain C++ hello world application without Qt?
                                          Here something about this issue: http://uhurumkate.blogspot.de/2014/07/a-newer-kernel-is-required-to-run-this.html
                                          It should work with kernel >= 3.1

                                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                                          G 1 Reply Last reply
                                          1

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved