Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Language Bindings
  4. Writing directly to the Frame Buffer with PySide/PyQt
QtWS25 Last Chance

Writing directly to the Frame Buffer with PySide/PyQt

Scheduled Pinned Locked Moved Unsolved Language Bindings
9 Posts 2 Posters 5.6k 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.
  • J Offline
    J Offline
    jars121
    wrote on last edited by
    #1

    I have a headless Linux OS, with no X Server or window management configured. Can anyone offer any suggestions as to how I could write my QWidgets, etc. directly to the Frame Buffer?

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

      Hi and welcome to devnet,

      Take a look at the Qt for Embedded Linux and the various backends it proposes.

      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
      • J Offline
        J Offline
        jars121
        wrote on last edited by
        #3

        Thanks for that SGaist. Can you recommend any reading/source which is Qt4-compatible? My project is in PySide, so I imagine I won't have access to many of the Qt5-based backends.

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

          Either go with PySide2 or Qt4 for Embedded Linux.

          I'd recommend the former for new project since Qt 4 has reached end of life.

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

          J 1 Reply Last reply
          0
          • SGaistS SGaist

            Either go with PySide2 or Qt4 for Embedded Linux.

            I'd recommend the former for new project since Qt 4 has reached end of life.

            J Offline
            J Offline
            jars121
            wrote on last edited by
            #5

            @SGaist said in Writing directly to the Frame Buffer with PySide/PyQt:

            Either go with PySide2 or Qt4 for Embedded Linux.

            I'd recommend the former for new project since Qt 4 has reached end of life.

            Thanks SGaist :)

            Since my last post, I've done some further reading and am considering using PyQt5 instead of PySide on this particular project. I am however quite confused as to the setup of PyQt5; the PyQt site says the GPL version of PyQt installs the LGPL version of Qt automatically. I.e. there is no need to build Qt yourself. However, my understanding is that I need to configure the Qt installation for my platform and requirements (e.g. EGLFS enabled). My primary concern is ensuring the application will run and display without an X environment; is this enabled as standard under Qt5.x and PyQt5, or do I need to build Qt explicitly for this?

            PySide2 seems to be compatible with some of the earlier versions of Qt5.x, so hopefully PySide2 offers Frame Buffer display support.

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

              No, you have to compile Qt for your target and the PySide/PyQt against that version of Qt.

              One thing that should be clear, the backend used to paint your application has nothing to do with PyQt or PySide but Qt itself, thus you can develop your application on your desktop and then test it on your target.

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

              J 1 Reply Last reply
              0
              • SGaistS SGaist

                No, you have to compile Qt for your target and the PySide/PyQt against that version of Qt.

                One thing that should be clear, the backend used to paint your application has nothing to do with PyQt or PySide but Qt itself, thus you can develop your application on your desktop and then test it on your target.

                J Offline
                J Offline
                jars121
                wrote on last edited by
                #7

                @SGaist said in Writing directly to the Frame Buffer with PySide/PyQt:

                No, you have to compile Qt for your target and the PySide/PyQt against that version of Qt.

                One thing that should be clear, the backend used to paint your application has nothing to do with PyQt or PySide but Qt itself, thus you can develop your application on your desktop and then test it on your target.

                Thanks SGaist, your help has been very much appreciated.

                I think I understand the process now. I've contacted Qt to try and make sense of the licensing, and will hopefully be giving PyQt5 with cross-compiled Qt a go in the very near future.

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

                  PyQt5 is either GPL or Commercial, so if you want to make a closed source application with PyQt5 you have to buy a commercial licence from them.

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

                  J 1 Reply Last reply
                  0
                  • SGaistS SGaist

                    PyQt5 is either GPL or Commercial, so if you want to make a closed source application with PyQt5 you have to buy a commercial licence from them.

                    J Offline
                    J Offline
                    jars121
                    wrote on last edited by
                    #9

                    @SGaist said in Writing directly to the Frame Buffer with PySide/PyQt:

                    PyQt5 is either GPL or Commercial, so if you want to make a closed source application with PyQt5 you have to buy a commercial licence from them.

                    This project is for an embedded device, which I believe carries its own particular considerations. I've not downloaded anything for the time being, as I need to read up on cross compiling of Qt anyway.

                    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