SlideShare a Scribd company logo
Qt on Real Time OSs
... or how to get your Qt app on QNX and friends   10/09/09
Contents

• Some Basics
  – CPU, Operating System, Windowing System

• Hardware Acceleration
• Deeper look into...
  – QNX
  – VxWorks
  – INTEGRITY




                                              2
Contents




           Some Basics




                         3
Qt for RTOS

• Qt for RTOS ports are Community Supported
• Not all Qt modules available
• Qt APIs available unmodified (code once...)
  (with few exceptions that are documented in
  platform notes)




                                                6
Embedded vs. Desktop

• Qt Embedded can be fine-tuned for size
  – configure options, e.g. -no-script
  – feature macros, e.g. QT_NO_FILEDIALOG




                                            4
Integration

• Before we can start developing, the following
  must be considered:
  – CPU Architecture
  – Operating System
  – Windowing System




                                                  6
Contents




           CPU Architecture




                              7
Classic layer diagram




                     QtCore

                Opera)ng	
  System

                      CPU




                                     8
Classic layer diagram + atomics




                      QtCore
       Atomic
    Operations   Opera)ng	
  System

                       CPU




                                      9
Classic layer diagram + atomics II




             Atomics    QtCore

                       INTEGRITY

                         CPU




                                     10
Summary CPU Architecture

• Qt is CPU agnostic on operating systems that
  feature atomic operations
   – INTEGRITY, Windows CE

• Otherwise, Qt has built-in support for...
   – x86_64, i386, ARM, MIPS, PowerPC, SuperH, ...

• Optional: Blend and Blit optimizations (using
  iwMMXt, SSE, ...)




                                                     11
Contents




           Operating Systems




                               12
Classic layer diagram (again)




                      QtCore

                 Opera)ng	
  System

                    Hardware




                                      13
OS dependencies

• Qt Embedded is self-contained
  – Build system is bootstrapped
  – Requires libc, pthread, some math functions
  – No other external library dependencies (like STL)




                                                        14
Classic OS diagram



                               QtCore




   Linux   Windows   Solaris      Mac	
  OS	
  X   Symbian   RTOS...

                          Hardware




                                                                       15
Classic OS diagram (simplified)



                   QtCore




         POSIX              Win32

                 Hardware




                                    16
Operating System

• Qt supports
  – Win32 (*_win.cpp files)
  – POSIX (*_unix.cpp files)
     • Exception: Some native calls instead of POSIX for
       optimization or deeper integration
       (for example on Symbian, Mac OS X)




                                                           17
Operating System - Summary
• QtCore runs well on a POSIX compliant OS/RTOS
• Amount of required POSIX functionality varies (e.g.
  QT_NO_FILESYSTEM)
• Subsystems (e.g. file system) can be replaced by
  native calls if necessary




                                                        18
Contents




           Windowing Systems




                               19
Classic layer diagram with GUI



                           QtGui

             QtCore       Windowing	
  System

                      Opera)ng	
  System

                         Hardware




                                                20
Windowing Systems

                                 QtGui




      X11             S60                Windows                    Mac	
  OS	
  X




                                                                            ???
   Linux    Solaris    Symbian     Windows         Mac	
  OS	
  X         RTOS...

                            Hardware




                                                                                     21
Introducing QWS

• Qt contains it's own Windowing System:
  “Qt Windowing System” (QWS)
• Contains a compositing window manager
• Requires direct access to graphics card and input
  devices (mouse/touchscreen, keyboard/keypad)




                                                      22
Classic layer diagram with GUI



                           QtGui

             QtCore              QWS
                                           Screen	
  Drivers
                      Opera)ng	
  System   Input	
  Drivers
                         Hardware




                                                               23
QWS vs. OS


                   QWS




                         Drivers???




             Opera)ng	
  System

                Hardware




                                      24
QWS diagram with gfx output


                                     QWS




    DirectFB         LinuxFB        Custom    VNC      Virtual	
  FB




               Opera)ng	
  System

                  Hardware                   Network      qvW




                                                                       25
QVFB screenshot




                  26
Embedded Windowing Systems

                              QtGui




            X11                               QWS




  Linux   Solaris   Symbian     Windows   Mac	
  OS	
  X   RTOS...

                         Hardware




                                                                     27
QWS vs. X11

• X11
  – asynchronous client-server architecture, IPC
  – requires additional window manager process
  – complex due to lots of (optional) extensions
• QWS
  – self-contained
  – single process mode possible



                                                   28
Contents




           Hardware Acceleration




                                   29
HW Acceleration in Qt

• Qt supports OpenVG and OpenGL ES >= 2.0
• Both allow HW accelerated 2D [or 3D] painting
• However, both APIs don't define the interface to
  the Windowing System




                                                     30
Embedded Windowing Systems

                           QtGui




              X11                        QWS

              ???                        ???

                    Opera)ng	
  System
     OpenVG                               OpenGL	
  (ES)
                       Hardware




                                                           31
EGL to the rescue

• EGL is the glue layer between Windowing
  Systems and hardware acceleration
  (http://www.khronos.org/egl/)




                                            32
Embedded Windowing Systems

                               QtGui




   EGL            X11                        QWS

                                             ???

                        Opera)ng	
  System
         OpenVG                               OpenGL	
  (ES)
                           Hardware




                                                               33
Something still missing for QWS

• EGL is still relying on an underlying windowing
  system
• Works for X11, but not (out of the box) for QWS
• OpenKODE with KDui extension required




                                                    34
Something still missing (2)

• OpenKODE with KDui extension is its own
 windowing system
• So is QWS




                                            35
Something still missing (3)

• OpenKODE with KDui extension is its own
 windowing system
• So is QWS
• #%^!@#!!




                                            36
Introducing Lighthouse

• Lighthouse is the new QWS
• Lighthouse is not its own windowing system
• Instead, features plug-in architecture for
  integrating existing windowing systems


        WARNING! WORK IN PROGRESS




                                               37
Embedded Windowing Systems

                               QtGui




   EGL            X11                        Lighthouse        EGL	
  +	
  KD




                        Opera)ng	
  System
         OpenVG                               OpenGL	
  (ES)
                           Hardware




                                                                                38
Summary Windowing System

• QWS works well with non accelerated displays
   – HW acceleration possible, but tricky
• Lighthouse works best with existing windowing
  systems (KDgui) with OpenGL (ES) or OpenVG
• X11 works best if the infrastructure already exists
  for the target board, or if co-existence with other
  X11 applications is required



                                                        39
Summary Integration

• Before writing an application, we need to...
   – consider the atomic operation support
   – consider the feature set
   – consider the windowing system
   – consider the hardware acceleration
• If that's done, it's write once, deploy everywhere




                                                       40
Contents




           Demo




                  41
Contents




           A Deeper Look Into...
                  QNX




                                   42
QNX

• QNX port is community supported
  – About 5 occurrences of conditional Q_OS_QNX code

• Several successful deployments
  – QWS without HW acceleration

• No Photon integration
  – Photon is a windowing system → collides with QWS

• Photon's X11 server not recommended
  – Doesn't feature Xrender, poor rendering quality


                                                       43
QWS diagram on QNX


                                           QWS




             io-­‐display         Custom          VNC

 Experimental!


                            QNX

                      Hardware                   Network




                                                           44
QNX - limitations

• No QSystemSemaphore, QSharedMemory
  – SYSV style semaphores and shared memory missing
    from QNX

• No QProcess support
  – Starting a process in a thread not supported

• QWS has single process GUI support only
• No Qt3Support



                                                      45
QNX

• How to build (see Platform Notes - QNX)
  –   -xplatform unsupported/qws/qnx-i386-g++

  –   -embedded i386

  –   -no-qt3support

  –   -qt-gfx-qnx

  –   -qt-mouse-qnx

  –   -qt-kbd-qnx

  –   -no-exceptions

  –   ...




                                                43
Contents




           A Deeper Look Into...
                VxWorks




                                   46
VxWorks

• VxWorks port is community supported
  – About 60 VxWorks specific code changes

• Several successful deployments
  – X11 with OpenGL acceleration




                                             47
QtGui diagram on VxWorks


                 QtGui




                  X11

                VxWorks

                Hardware




                           48
VxWorks - limitations

• No QSystemSemaphore, QSharedMemory
  – No SYSV style semaphores, shared memory

• No QLibrary
  – No plugins

• Only one QApplication per system
  – VxWorks has flat address space

• No Qt3Support



                                              49
QNX

• How to build (see Platform Notes - VxWorks)
  –   -xplatform unsupported/qws/vxworks-simpentium-g++

  –   -embedded vxworks

  –   -exceptions

  –   -no-qt3support

  –   ...




                                                          43
Contents




           A Deeper Look Into...
               INTEGRITY




                                   50
INTEGRITY

• Only a subset of Qt supported
• Port currently only available on request




                                             51
Contents




           Thank you :)
           (Questions?)




                          52

More Related Content

PDF
Software Development Best Practices: Separating UI from Business Logic
 
PPTX
ALSS14: Xen Project Automotive Hypervisor (Demo)
PPTX
Linux Kernel Booting Process (1) - For NLKB
PPTX
Building the World's Largest GPU
PDF
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
DOC
Menginstallasi Sistem Operasi Berbasis Text
PDF
Android-Audio-HAL-Overview-Flow-WithHIDL-
PDF
Power Management from Linux Kernel to Android
Software Development Best Practices: Separating UI from Business Logic
 
ALSS14: Xen Project Automotive Hypervisor (Demo)
Linux Kernel Booting Process (1) - For NLKB
Building the World's Largest GPU
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
Menginstallasi Sistem Operasi Berbasis Text
Android-Audio-HAL-Overview-Flow-WithHIDL-
Power Management from Linux Kernel to Android

What's hot (20)

PDF
Smart NIC
PDF
PDF
LevelDB 간단한 소개
PPTX
Linux Device Tree
PDF
Spi drivers
PPTX
The State of CXL-related Activities within OCP
PDF
KSQL in Practice (Almog Gavra, Confluent) Kafka Summit London 2019
PDF
LCA13: Xen on ARM
PDF
Kdump and the kernel crash dump analysis
PDF
RHEL8 Kernel Management Manual in Korean
PDF
Cellular technology with Embedded Linux - COSCUP 2016
PDF
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
PDF
LCU13: An Introduction to ARM Trusted Firmware
PPTX
PPT
Epoll - from the kernel side
PPTX
Linux Device Driver’s
PDF
Xvisor: embedded and lightweight hypervisor
PPT
Linux Crash Dump Capture and Analysis
PDF
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
PDF
kdump: usage and_internals
Smart NIC
LevelDB 간단한 소개
Linux Device Tree
Spi drivers
The State of CXL-related Activities within OCP
KSQL in Practice (Almog Gavra, Confluent) Kafka Summit London 2019
LCA13: Xen on ARM
Kdump and the kernel crash dump analysis
RHEL8 Kernel Management Manual in Korean
Cellular technology with Embedded Linux - COSCUP 2016
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
LCU13: An Introduction to ARM Trusted Firmware
Epoll - from the kernel side
Linux Device Driver’s
Xvisor: embedded and lightweight hypervisor
Linux Crash Dump Capture and Analysis
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
kdump: usage and_internals
Ad

Similar to Qt on Real Time Operating Systems (20)

PDF
Embedded Linux
PDF
OSCON: System software goes weird
PPT
PDF
Linux container & docker
PDF
Ansible docker
PDF
KubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
PPT
Embedded Linux Talk Uni Forum
PDF
2. Vagin. Linux containers. June 01, 2013
PDF
ODP
Fedora Virtualization Day: Linux Containers & CRIU
PDF
下午3 intel fenghaitao_mee_go api and application development
PDF
Qt 6 Chat - Are You Ready?
 
PDF
K vector embedded_linux_workshop
PDF
Rapid prototyping with open source
PDF
Low fat virtualization for embedded systems
ODP
Engage 2019 - SUSE Linux and Container update
PDF
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
ODP
Kvm and libvirt
PDF
QtQuick Day 1
PDF
Module 4 Embedded Linux
Embedded Linux
OSCON: System software goes weird
Linux container & docker
Ansible docker
KubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
Embedded Linux Talk Uni Forum
2. Vagin. Linux containers. June 01, 2013
Fedora Virtualization Day: Linux Containers & CRIU
下午3 intel fenghaitao_mee_go api and application development
Qt 6 Chat - Are You Ready?
 
K vector embedded_linux_workshop
Rapid prototyping with open source
Low fat virtualization for embedded systems
Engage 2019 - SUSE Linux and Container update
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
Kvm and libvirt
QtQuick Day 1
Module 4 Embedded Linux
Ad

More from account inactive (20)

ODP
PDF
KDE Plasma for Mobile Phones
PDF
Shipping Mobile Applications Using Qt for Symbian
PDF
The Future of Qt Widgets
PDF
Scripting Your Qt Application
PDF
Special Effects with Qt Graphics View
PDF
Developments in The Qt WebKit Integration
PDF
Qt Kwan-Do
PDF
Development with Qt for Windows CE
PDF
Translating Qt Applications
PDF
Qt Creator Bootcamp
PDF
Qt Widget In-Depth
PDF
Qt State Machine Framework
PDF
Mobile Development with Qt for Symbian
PDF
How to Make Your Qt App Look Native
PPT
Animation Framework: A Step Towards Modern UIs
PDF
Using Multi-Touch and Gestures with Qt
PDF
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
PDF
The Mobility Project
PDF
Copy Your Favourite Nokia App with Qt
KDE Plasma for Mobile Phones
Shipping Mobile Applications Using Qt for Symbian
The Future of Qt Widgets
Scripting Your Qt Application
Special Effects with Qt Graphics View
Developments in The Qt WebKit Integration
Qt Kwan-Do
Development with Qt for Windows CE
Translating Qt Applications
Qt Creator Bootcamp
Qt Widget In-Depth
Qt State Machine Framework
Mobile Development with Qt for Symbian
How to Make Your Qt App Look Native
Animation Framework: A Step Towards Modern UIs
Using Multi-Touch and Gestures with Qt
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
The Mobility Project
Copy Your Favourite Nokia App with Qt

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Transforming Manufacturing operations through Intelligent Integrations
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Sensors and Actuators in IoT Systems using pdf
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PPTX
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
PDF
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
Spectral efficient network and resource selection model in 5G networks
CIFDAQ's Market Insight: SEC Turns Pro Crypto
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Reach Out and Touch Someone: Haptics and Empathic Computing
NewMind AI Weekly Chronicles - August'25 Week I
Review of recent advances in non-invasive hemoglobin estimation
Transforming Manufacturing operations through Intelligent Integrations
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
“AI and Expert System Decision Support & Business Intelligence Systems”
Sensors and Actuators in IoT Systems using pdf
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
MYSQL Presentation for SQL database connectivity
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
The Rise and Fall of 3GPP – Time for a Sabbatical?

Qt on Real Time Operating Systems

  • 1. Qt on Real Time OSs ... or how to get your Qt app on QNX and friends 10/09/09
  • 2. Contents • Some Basics – CPU, Operating System, Windowing System • Hardware Acceleration • Deeper look into... – QNX – VxWorks – INTEGRITY 2
  • 3. Contents Some Basics 3
  • 4. Qt for RTOS • Qt for RTOS ports are Community Supported • Not all Qt modules available • Qt APIs available unmodified (code once...) (with few exceptions that are documented in platform notes) 6
  • 5. Embedded vs. Desktop • Qt Embedded can be fine-tuned for size – configure options, e.g. -no-script – feature macros, e.g. QT_NO_FILEDIALOG 4
  • 6. Integration • Before we can start developing, the following must be considered: – CPU Architecture – Operating System – Windowing System 6
  • 7. Contents CPU Architecture 7
  • 8. Classic layer diagram QtCore Opera)ng  System CPU 8
  • 9. Classic layer diagram + atomics QtCore Atomic Operations Opera)ng  System CPU 9
  • 10. Classic layer diagram + atomics II Atomics QtCore INTEGRITY CPU 10
  • 11. Summary CPU Architecture • Qt is CPU agnostic on operating systems that feature atomic operations – INTEGRITY, Windows CE • Otherwise, Qt has built-in support for... – x86_64, i386, ARM, MIPS, PowerPC, SuperH, ... • Optional: Blend and Blit optimizations (using iwMMXt, SSE, ...) 11
  • 12. Contents Operating Systems 12
  • 13. Classic layer diagram (again) QtCore Opera)ng  System Hardware 13
  • 14. OS dependencies • Qt Embedded is self-contained – Build system is bootstrapped – Requires libc, pthread, some math functions – No other external library dependencies (like STL) 14
  • 15. Classic OS diagram QtCore Linux Windows Solaris Mac  OS  X Symbian RTOS... Hardware 15
  • 16. Classic OS diagram (simplified) QtCore POSIX Win32 Hardware 16
  • 17. Operating System • Qt supports – Win32 (*_win.cpp files) – POSIX (*_unix.cpp files) • Exception: Some native calls instead of POSIX for optimization or deeper integration (for example on Symbian, Mac OS X) 17
  • 18. Operating System - Summary • QtCore runs well on a POSIX compliant OS/RTOS • Amount of required POSIX functionality varies (e.g. QT_NO_FILESYSTEM) • Subsystems (e.g. file system) can be replaced by native calls if necessary 18
  • 19. Contents Windowing Systems 19
  • 20. Classic layer diagram with GUI QtGui QtCore Windowing  System Opera)ng  System Hardware 20
  • 21. Windowing Systems QtGui X11 S60 Windows Mac  OS  X ??? Linux Solaris Symbian Windows Mac  OS  X RTOS... Hardware 21
  • 22. Introducing QWS • Qt contains it's own Windowing System: “Qt Windowing System” (QWS) • Contains a compositing window manager • Requires direct access to graphics card and input devices (mouse/touchscreen, keyboard/keypad) 22
  • 23. Classic layer diagram with GUI QtGui QtCore QWS Screen  Drivers Opera)ng  System Input  Drivers Hardware 23
  • 24. QWS vs. OS QWS Drivers??? Opera)ng  System Hardware 24
  • 25. QWS diagram with gfx output QWS DirectFB LinuxFB Custom VNC Virtual  FB Opera)ng  System Hardware Network qvW 25
  • 27. Embedded Windowing Systems QtGui X11 QWS Linux Solaris Symbian Windows Mac  OS  X RTOS... Hardware 27
  • 28. QWS vs. X11 • X11 – asynchronous client-server architecture, IPC – requires additional window manager process – complex due to lots of (optional) extensions • QWS – self-contained – single process mode possible 28
  • 29. Contents Hardware Acceleration 29
  • 30. HW Acceleration in Qt • Qt supports OpenVG and OpenGL ES >= 2.0 • Both allow HW accelerated 2D [or 3D] painting • However, both APIs don't define the interface to the Windowing System 30
  • 31. Embedded Windowing Systems QtGui X11 QWS ??? ??? Opera)ng  System OpenVG OpenGL  (ES) Hardware 31
  • 32. EGL to the rescue • EGL is the glue layer between Windowing Systems and hardware acceleration (http://www.khronos.org/egl/) 32
  • 33. Embedded Windowing Systems QtGui EGL X11 QWS ??? Opera)ng  System OpenVG OpenGL  (ES) Hardware 33
  • 34. Something still missing for QWS • EGL is still relying on an underlying windowing system • Works for X11, but not (out of the box) for QWS • OpenKODE with KDui extension required 34
  • 35. Something still missing (2) • OpenKODE with KDui extension is its own windowing system • So is QWS 35
  • 36. Something still missing (3) • OpenKODE with KDui extension is its own windowing system • So is QWS • #%^!@#!! 36
  • 37. Introducing Lighthouse • Lighthouse is the new QWS • Lighthouse is not its own windowing system • Instead, features plug-in architecture for integrating existing windowing systems WARNING! WORK IN PROGRESS 37
  • 38. Embedded Windowing Systems QtGui EGL X11 Lighthouse EGL  +  KD Opera)ng  System OpenVG OpenGL  (ES) Hardware 38
  • 39. Summary Windowing System • QWS works well with non accelerated displays – HW acceleration possible, but tricky • Lighthouse works best with existing windowing systems (KDgui) with OpenGL (ES) or OpenVG • X11 works best if the infrastructure already exists for the target board, or if co-existence with other X11 applications is required 39
  • 40. Summary Integration • Before writing an application, we need to... – consider the atomic operation support – consider the feature set – consider the windowing system – consider the hardware acceleration • If that's done, it's write once, deploy everywhere 40
  • 41. Contents Demo 41
  • 42. Contents A Deeper Look Into... QNX 42
  • 43. QNX • QNX port is community supported – About 5 occurrences of conditional Q_OS_QNX code • Several successful deployments – QWS without HW acceleration • No Photon integration – Photon is a windowing system → collides with QWS • Photon's X11 server not recommended – Doesn't feature Xrender, poor rendering quality 43
  • 44. QWS diagram on QNX QWS io-­‐display Custom VNC Experimental! QNX Hardware Network 44
  • 45. QNX - limitations • No QSystemSemaphore, QSharedMemory – SYSV style semaphores and shared memory missing from QNX • No QProcess support – Starting a process in a thread not supported • QWS has single process GUI support only • No Qt3Support 45
  • 46. QNX • How to build (see Platform Notes - QNX) – -xplatform unsupported/qws/qnx-i386-g++ – -embedded i386 – -no-qt3support – -qt-gfx-qnx – -qt-mouse-qnx – -qt-kbd-qnx – -no-exceptions – ... 43
  • 47. Contents A Deeper Look Into... VxWorks 46
  • 48. VxWorks • VxWorks port is community supported – About 60 VxWorks specific code changes • Several successful deployments – X11 with OpenGL acceleration 47
  • 49. QtGui diagram on VxWorks QtGui X11 VxWorks Hardware 48
  • 50. VxWorks - limitations • No QSystemSemaphore, QSharedMemory – No SYSV style semaphores, shared memory • No QLibrary – No plugins • Only one QApplication per system – VxWorks has flat address space • No Qt3Support 49
  • 51. QNX • How to build (see Platform Notes - VxWorks) – -xplatform unsupported/qws/vxworks-simpentium-g++ – -embedded vxworks – -exceptions – -no-qt3support – ... 43
  • 52. Contents A Deeper Look Into... INTEGRITY 50
  • 53. INTEGRITY • Only a subset of Qt supported • Port currently only available on request 51
  • 54. Contents Thank you :) (Questions?) 52