element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum Graphics programming with the R-Pi
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 1 reply
  • Answers 1 answer
  • Subscribers 663 subscribers
  • Views 747 views
  • Users 0 members are here
  • graphics
  • r-pi
  • programming
  • raspberry_pi
  • raspberry-pi
Related

Graphics programming with the R-Pi

SGarciaV
SGarciaV over 8 years ago

Hi all!

 

I have a crazy idea. I am wondering whether it is possible to use the R-Pi as a display device for an embedded system (ES). My idea is for this ES to use a monitor connected to the R-Pi as its screen for both text and graphics (mostly graphics). The ES would send the data to be displayed, perhaps as commands, to the R-Pi who in turn would process the request and display whatever the ES sent over.

 

I believe that it would be necessary to program the graphics engine on the R-PI, but maybe outside of the Linux GUI environments. It needs to be as fast as possible, although I imagine the ES to be (much?) slower than the R-Pi, so the graphics only have to be fast enough to stay ahead of the data sent over.

 

Is such an endeavor feasible? What resources would be helpful? (Documentation)

 

Thanks!

Sgarcia

  • Sign in to reply
  • Cancel
  • balearicdynamics
    0 balearicdynamics over 8 years ago

    Hello Salvador,

     

    yes I think it is possible and there are a couple of solutions. The right choice depends on the kind of graphics you need and what kind of approach you want to manage, including your kind of knowledge.

    By a general point of view you can consider that the Bitscope microBitscope micro USB oscilloscope can work perfectly on the Raspberry PI (take a look to this post I wrote in past Essential Raspberry Pi Peripherals #5 The Pi-Scope lab tool  ). I cite this as this application demonstrates the high quality graphic performances and potential of the Raspberry PI. Running the Bitscope micro on a Raspberry PI B3 is a great experience.

     

    First solution

    One solution - the more complex - can be done using Python + Qt + PyQt and where needed C++. Following this strategy you can setup the graphic engine in Qt/C++ environment or basing the UI and graphic display engines on Qt/QML. Considering to start with the last Pixel distribution of the Raspberry Jessie Debian distribution most of the basic environment setup has been already done. To be honest I am sure this solution will work fine but until now I have found the second solution (below) a bit easier and very fast. Anyway for complex and very structured graphics, nice interface design and high customisation level Qt environment remain the most interesting and complete development environment.

     

    Pros

    The big advantage is that Qt is 100% multi-platform so you can develop and test the engine on desktop, no matter if Linux, Windows or OSX then run the same architecture and sources on your PI device. You can find  a lot of examples and engines on the Internet and probably you don't need to spend a big effort on developing your own components.

     

    Cons

    You should plan to develop in mixed-language environment. In second instance you need more space on the device storing more than a native environment (Qt libraries are already part of the raspbian distribution but some more components should be installed)

     

    Note: deciding to adopt this solution it is essential to setup before the Qt environment on the Rapsberry PI to be sure what is the last updated version of Qt/QML to synchronise the same development environment on your development machine, supposing a desktop.

     

    Second solution

    The second solution that will give you a comparable performance and graphic quality respect the Qt environment but has the advantage to work in a - almost - single language environment.

    You can use Kivy a graphic language just for the UI design and any kind of graphic representation that can be included easily in a full Python environment. I am developing a couple of complex projects in this environment and the results are very good also controlling the 7 inches touch scree: touch, gestures, graphics and images.

    Kivy should be setup on the PI but it is not so difficult to do. It is not a casuality that in many points of the Kivy documentation many parallelism are cited respect the Qt/QML behaviour. A bit outdated article with installation instructions of the Kivy framework on the Raspberry PI can be found here: Essential Raspberry Pi Peripherals #3: The kivy framework for small display and touch screens I have done a new setup recently (a couple of weeks ago) and it works find also on the last version of the Raspbian distributions. Most of the issues mentioned in this document have been superseded and the installation is easier and more stable.

     

    Pros

    Developing in a single-language environment - Python

    Fast learning curve and good documentation

    Manages very well any kind of graphic and UI

    Screen and resolution independent as well as Qt/QML

    It is multi-platform as well as Qt so the graphic features and behaviours can be developed and tested on the development machine

     

    Cons

    In a similar way of the QML language under Qt the best performances of Kivy can be obtained using the Kivy scripting language (managed by Python) that should be studied

    Not difficult to do, the Kivy installation should be done from scratch on the Raspberry PI

    Python usage of the Kivy framework should be studied almost in depth to get the best results.

     

    I hope that his can help you to make your scenario more clear.

     

    Enrico

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube