Announcement

Collapse
No announcement yet.

Do Linux Arm version support 64bit GUI?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Do Linux Arm version support 64bit GUI?

    Hi,

    I've installed LinuxArm version and can have bit_cmd_line_aarch64 activate my key and run in command line mode on my platform.
    But I would like to run the graphic 2D/3D tests as well. However, the gui seems to support 32-bit arm only.
    Is there any way I can make GUI run on my arm64 linux(Debian base Ubuntu 20.04)? If not now, any plan to support it?

    BR
    CY

  • #2
    We support 64bit on all platforms (to be honest that's 99% of the market nowadays).

    What was the error you are getting and what hardware are you using?

    Comment


    • #3
      Hi David,

      Thanks for the prompting response. The hardware is an embedded Qualcomm QCS6490 dev kit. I'm running it on a Yocto Ubuntu 20.04 baked by Qualcomm.
      To clarify, I have no problem run it in 64-bit. But only in CMDLINE mode, but graphical one. And from the manual P13, it suggests command line mode cannot run 2D/3D tests. So I'd like to find a way to launch GUI one. (The gui itself doesn't matter that much, the point is the ability to test graphics)

      https://www.passmark.com/downloads/BIT_Linux_Help.pdf
      "The command line version of BurnInTest does not have a Graphical User Interface and as such does not require any graphical libraries to be installed but require ncurses to display information. This also means it is missing some of the tests from the GUI version, the 2D and 3D tests"

      Here is everything I got in BurnInTest_Linux_ARM.tar.gz.
      --
      sh-5.0# ls /root/burnintest_arm/
      BITCertificateTemplate.html advnet_endpoint_arm memtest_aarch64
      BITErrorClassification.txt bit_cmd_line_aarch64 memtest_arm
      BiTLog2 bit_cmd_line_arm plugin_example
      BurnInTest_Linux_CLI_EULA.txt bit_gui_arm readme.txt
      LastUsed.cfg cmdline_config.txt savedkey.dat
      Memtest.log help
      advnet_endpoint_aarch64 key.dat​
      --

      I'll expect bit_gui_arm to be the graphical version.
      But it's a 32bit binary from file command:

      --
      sh-5.0# file bit_gui_arm
      bit_gui_arm: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, BuildID[sha1]=795f996af0dea3ef635bff6278ef60d08e1ed6b4, for GNU/Linux 3.2.0, stripped​
      --

      Am I missing anything?
      Thanks
      CY

      Comment


      • #4
        Sorry it's at manual Section 13 P64 not P13.

        Comment


        • #5
          It was the case that all 64bit machines would also run 32bit binaries. So it was no problem having a mix of 64bit and 32bit binaries on a 64bit machine. (64bit was only ever really required for tasks that needed more than 4GB of RAM, and a simple GUI didn't need this).

          I am guessing that your Ubuntu version has stopped including 32bit libraries. So breaking backwards compatibility with 32bit applications.​

          It might be possible to install the 32bit libraries.
          Running a slightly older version of Ubuntu might also help.

          But I just did a bit more checking:
          bit_gui_arm built with a Yocto linux toolchain using Qt 5.15, will only work on limited systems based on this toolchain. Due to some 64-bit libraries used in the GUI not being available or incompatible, we are not able generate the GUI for 64-bit arch​ on ARM. So at the time we built this, Qt (the graphics API we use on Linux) was broken on 64bit ARM Yocto, and we couldn't get it working. As you are probably aware, Linux has never ending compatibility issues. This was a few years ago however. Things might have improved now, we should probably have another look at it.

          Comment


          • #6

            Yes, it seems my Ubuntu is arm64-only. Qcom only ships with Ubuntu 20.04 or 22.04, so no older releases for me to try.

            Still I gave a try earlier to add armhf to dpkg architecture and install missing deps, including the interpreter, curl4 and more.
            I can now run bit_cmd_line_arm as well.
            Unfortunately, after installed qt5-default, bit_qui_arm still failed to launch on my dev kit.
            ```
            ./bit_gui_arm
            ./bit_gui_arm: symbol lookup error: ./bit_gui_arm: undefined symbol: _ZN8QPainter13drawRoundRectEiiiiii, version Qt_5​
            ```
            I thought it was due to the qt version mismatch, which Ubuntu stable Qt was 5.12.8 instead of 5.15.
            However, I then tried your linux x86_64 version on my workstation, which is also Ubuntu 20.04.
            Surprisingly, BurnInTest run with the same qt 5.12.8 just fine there. Weird.

            Hope your toolchain inspection could have some good news.

            Comment


            • #7
              Hi David,

              Since I found that Ubuntu 22.04 do contain QT 5.15. After I added jammy repo into apt source and reinstall qtbase5-dev:armhf, I can now run GUI no problem. Thanks for the hints!

              But allow me one more question, only 2D graphics is tested now; the 3d test isn't show up. I should already have arm version opengl installed as the manual suggested, anything else is required?
              Thanks.


              Comment


              • #8
                Hi David,
                Never mind, I just found the 3D test check box.
                Thanks again for the support.

                Comment


                • #9
                  After I added jammy repo into apt source and reinstall qtbase5-dev:armhf
                  This is so Linux. Thanks for the info.

                  Despite using Unix / Linux on and off for 40 years I had to look this up.

                  If you had the actual commands for this it might be interesting.

                  For others reading this:

                  "Jammy" refers to the codename for Ubuntu 22.04 LTS (Long Term Support), which was released in April 2022.​

                  The APT source is a configuration file or list that tells the system where to find software packages. These sources are typically defined in /etc/apt/sources.list or in separate files under /etc/apt/sources.list.d/​

                  Repo is a repository is a server that stores software packages. These packages can be installed, updated, or removed using a package manager like apt.​

                  qtbase5-dev is the development package for Qt 5, a popular cross-platform application​n framework, in particular for creating user interfaces.

                  armhf​ stands for ARM hard-float, which is a variant of the ARM architecture that uses hardware floating-point operations. (as apparently there is some ARM hardware that doesn't support floating point operations in the CPU hardware).

                  Comment


                  • #10
                    Sure, for someone facing similar problem and happened to run a Debian-like distro (having the apt command).
                    May try something similar as follow:

                    ```
                    dpkg --add-architecture armhf
                    add-apt-repository 'deb http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted universe multiverse'
                    apt reinstall -y qtbase5-dev:armhf
                    ```

                    Comment

                    Working...
                    X