Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. [Solved] -platform and linuxfb documentation

[Solved] -platform and linuxfb documentation

Scheduled Pinned Locked Moved Mobile and Embedded
20 Posts 5 Posters 26.8k Views
  • 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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #2

    Hi,

    Did you look at "this":http://qt-project.org/doc/qt-4.8/qt-embedded-displaymanagement.html ?

    Hope it helps

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    0
    • I Offline
      I Offline
      img_man
      wrote on last edited by
      #3

      Ah, kind of helps. I don't see any examples about how to select a different frame buffer?

      I tried
      ./app -platform linuxfb -display "LinuxFb:/dev/fb1"

      But it still displays on /dev/fb0...

      1 Reply Last reply
      0
      • I Offline
        I Offline
        img_man
        wrote on last edited by
        #4

        I should also note this is for QTv5.1

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #5

          I think you are missing tty= before /dev/fb1

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • I Offline
            I Offline
            img_man
            wrote on last edited by
            #6

            Thanks for the help, but I don't think that's quite right. tty=<device> specifies the device file for a certain console "/dev/tty0", not the frame buffer.

            Reading the code (qlinuxfbscreen.cpp) it's looking for the parameter fb=

            I was able to correctly use a different frame buffer by calling it like so

            ./app -platform linuxfb:fb="/dev/fbX"

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #7

              Oups, sorry ! I've mixed the two while writing the message. Glad you found out !

              If this solves your problem don't forget to update the thread's title to solved so other forum users may know a solution has been found :)

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • R Offline
                R Offline
                ryanghost
                wrote on last edited by
                #8

                hi img_man,

                I used ./app -platform linuxfb:fb=”/dev/fbX” but I got segmentation fault error. My qt version is 5.0.1.

                By the way, in qt4.8 there is a way to combine 2 fb devices into a single screen using qws. In qt5+ qws is replaced by qpa. Do you know how to do the same thing on qt5?

                1 Reply Last reply
                0
                • I Offline
                  I Offline
                  img_man
                  wrote on last edited by
                  #9

                  fbX is just an example, you need to insert the correct number for X. List (ls -la) your /dev directory and find the correct frame buffer.

                  If there are two frame buffers in /dev, they may already be blended by your hardware.

                  Perhaps you've already done that, in which case, I would suggest trying something easy, like 'cat /dev/urandom > /dev/fb0'. Which should populate your screen with (psuedo) random pixel data. Does it work?

                  1 Reply Last reply
                  0
                  • R Offline
                    R Offline
                    ryanghost
                    wrote on last edited by
                    #10

                    hi img_man,

                    bq. fbX is just an example, you need to insert the correct number for X. List (ls -la) your /dev directory and find the correct frame buffer.
                    --> I know but it does not work even with fb0. I also tried in Qt5.1, it does work but display position is incorrect and touch input dies.

                    bq. If there are two frame buffers in /dev, they may already be blended by your hardware.
                    --> I think they are not blended since I used QDesktop instance to check number of screen and available geometry. Only one screen is recognized.

                    bq. Perhaps you’ve already done that, in which case, I would suggest trying something easy, like ‘cat /dev/urandom > /dev/fb0’. Which should populate your screen with (psuedo) random pixel data. Does it work?
                    --> yes, it does.

                    1 Reply Last reply
                    0
                    • R Offline
                      R Offline
                      ryanghost
                      wrote on last edited by
                      #11

                      Hi img_man,

                      Even if it works then I can only switch the display output for the entire app. What I would like is to create an app that can manipulate its output itself. Lets take an example: a video playback app which has a list of video files displayed on the first screen. When one file is selected, its content is played on the second screen.

                      Hope you can help me with this and thank you very much for your reply!

                      1 Reply Last reply
                      0
                      • I Offline
                        I Offline
                        img_man
                        wrote on last edited by
                        #12

                        Interesting. So, you have at least one frame buffer that is full screen, you can write to it, but your app stops when you try to launch it?

                        I've struggled with seg faults in QT also. One thing that's helped me is to make sure that all the QT libraries (or at least links to the libraries) are in /usr/lib. If QT tries to start and can't find the libraries it needs, it will fail.

                        You also need to have the platform directory in your app directory, with the correct platform libraries in it that you wish to use.

                        Not sure about touch input, I haven't tried that yet.

                        Does your /dev directory show two frame buffers? Are you using two displays?

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          Sidii
                          wrote on last edited by
                          #13

                          Hello All,

                          I tried the same thing [QT Version: 5.2.1]. Here is my actual command:

                          ./gui_qt -platform linuxfb:fb="/dev/fb0"

                          but i got following error:

                          This application failed to start because it could not find or load the Qt platform plugin "linuxfb".

                          Reinstalling the application may fix this problem.
                          Aborted (core dumped)

                          Kindly help me out. Thanks
                          Sid

                          1 Reply Last reply
                          0
                          • I Offline
                            I Offline
                            img_man
                            wrote on last edited by
                            #14

                            Hi Sidii,

                            I haven't used qt in a little while now, but I seem to recall that there's an undocumented requirement that the platform plugins you intend to use must be located in a folder named "platform", located in the same folder as your app. These can be links, instead of a direct copy of the plugin from your install directory.

                            I may have the folder name wrong, but it should be easy to find it in your install directory and copy it to your app directory (or make a soft link).

                            The directory structure, for instance, should look like

                            app_name
                            platforms
                            platforms/linuxfbplugin_name

                            Sorry if I forget some of the details on the naming conventions qt uses, but I think you should be able to extrapolate my meaning.

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              Sidii
                              wrote on last edited by
                              #15

                              Thanks a lot img_man :)
                              I will try and will update you.

                              1 Reply Last reply
                              0
                              • S Offline
                                S Offline
                                Sidii
                                wrote on last edited by
                                #16

                                Dear img_man,

                                I created a folder called platforms. This has 3 files: libqlinuxfb.so, libqminimal.so and libqoffscreen.so.

                                Now when i start my application with following command:

                                @ ./gui_qt -platform linuxfb:fb=/dev/fb0@

                                I get following error:

                                This application failed to start because it could not find or load the Qt platform plugin "linuxfb".

                                Available platform plugins are: linuxfb, minimal, offscreen.

                                Reinstalling the application may fix this problem.
                                Aborted (core dumped)

                                Any idea whats going wrong??

                                1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  Sidii
                                  wrote on last edited by
                                  #17

                                  Also please note that i am developing the QT application in another machine and then transferring it to another machine to test it. What all extra things i need in the test machine apart from platforms folder??

                                  Thanks in advance.

                                  1 Reply Last reply
                                  0
                                  • S Offline
                                    S Offline
                                    Sidii
                                    wrote on last edited by
                                    #18

                                    Thanks a lot img_man !!
                                    My code is now working.

                                    1 Reply Last reply
                                    0
                                    • J Offline
                                      J Offline
                                      JCAndle
                                      wrote on last edited by
                                      #19

                                      I have a similar issue except I don't get the line saying what IS available.

                                      export LD_LIBRARY_PATH=/home/isaw/Qt/lib:/home/isaw/Qt/plugins/platforms:/$LD_LIBRARY_PATH

                                      /home/isaw/iBaseQtWidget
                                      /home/isaw/fonts/... (not configured)
                                      /home/isaw/lib/... libQt5xxxxx.so.5.3.2
                                      /home/isaw/plugins/...
                                      .../platform/... libqlinuxfb.so, libqminimal.so, and libqoffscreen.so

                                      Linux 2.6.21 on Arm920t processor.

                                      1 Reply Last reply
                                      0
                                      • J Offline
                                        J Offline
                                        JCAndle
                                        wrote on last edited by
                                        #20

                                        my add-on issue solved by http://qt-project.org/forums/viewthread/46640/

                                        1 Reply Last reply
                                        0

                                        • Login

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