Customizing Qt to create first class graphical experiences on highly customized hardware
summary
Describes hacking Qt to run on devices with no GPU or framebuffer by writing a custom kernel framebuffer driver, an EGL native pixmap integration and a Qt platform plugin that maps rendering into physical memory, yielding a 60 Hz tear-free analog clock across two 4K screens. Shows a separate port that fakes OpenGL to build QtQuick then implements a threaded software renderer on a 36-core tiled CPU and a triple-buffering via IPC scheme to get smooth multi-screen animation.
AI-written summary · about
chapters (44)
- 0:00Intro
- 0:40Agenda
- 1:15Introduction
- 2:52What does Cisco build
- 3:44Selecting hardware
- 4:42Reducing memory footprint
- 5:19Cisco Csquare 620
- 7:48No new UX
- 8:31The beginning of the saga
- 9:40Making our own display driver
- 11:06Creating a pixmap surface
- 11:54Creating a textmap surface
- 12:13Creating our own display driver
- 14:06Integrate with VPS
- 15:01Analog Clock
- 16:33Cisco SX80
- 18:30Tiled DX
- 19:49MK Specs
- 21:14MK Implementation
- 21:51Custom Tool Chain
- 23:54Custom Qt
- 24:58Context Factory
- 28:42Graphical Interface
- 30:52Overdraw Optimization
- 32:19Custom Painting
- 32:36Custom Paint Engine
- 32:56Dual Screen 60fps
- 33:46Cisco Room Kit
- 35:11Animations
- 36:27Multiscreen animation
- 37:18Rendering to multiple screens
- 38:22Scene Graph
- 39:03Bypassing Rendering
- 39:33Callback
- 39:51Open Source
- 40:29Color Space
- 41:42Shader Effect
- 43:12Canvas
- 45:16Embedded Systems
- 47:00The inevitable saturation rule
- 48:53The hardware
- 51:15Customization
- 51:39Commercial success
- 52:14Running off with cool ideas
related talks
28mUsing Qt Quick with low end devices (eg i.MX6)
01h 00mHow to optimise Qt Quick 2 applications for maximum performance
01h 10mPerformance: Do Graphics the Right Way
52mAccelerating Qt WebKit Applications
51mAccelerated 2D and 3D Graphics in Qt 6
30m3D-Programming Using Qt Quick on N9, Part 2
01h 02mCreating Performant Qt Quick Apps
39m3D programming using Qt Quick on N9, Part1
