A Lightweight Modern Window System Independent of FPU, 2D Accelerators, and GPUs

Time
2025年8月10日 10:15 ~ 10:45
Speaker
Wei-Hsin Yeh
Room
TR213
Collaborative Notes
https://hackmd.io/HyRY9qWdle
MandarinIntermediate
System Software

Abstract

Mado is an open-source library that brings advanced window system features to smaller devices. With embedded systems now featuring high-resolution displays and powerful CPUs, sophisticated graphical user interfaces can be realized even in the smallest devices. Although CPU power has increased dramatically within a given power budget, these small systems still face severe memory constraints. This unique environment presents interesting challenges for graphical system design and implementation.

Drawing from ideas used in modern window systems for larger environments, Mado provides overlapping translucent windows, anti-aliased graphics, drop shadow, animations, and scalable fonts within a memory budget of several kilobytes. Mado also supports TinyVG, enabling efficient rendering of vector graphics with a minimalistic set of drawing functions, without compromising visual quality. Mado embeds window management directly into the toolkit, supporting resizing, moving, and minimizing without external control. The toolkit automatically constructs suitable decorations for each window as regular toolkit objects, and the normal event dispatch mechanism directs window management activities.

This highly integrated architecture empowers developers to build visually appealing and interactive interfaces even within tight memory constraints, all while maintaining a lean system structure.

Attendees can expect to learn:

  1. Key techniques for achieving functionalities of modern window systems without relying on FPU, 2D accelerators, or GPU hardware.
  2. Improved methods for Bézier curve computation.
  3. Practical methods for implementing blur and visual effects on resource-limited platforms.
  4. How to build maintainable and extensible interactive components using a hierarchical event model.

Mado: https://github.com/sysprog21/mado

About the Speaker

Wei-Hsin Yeh

Wei-Hsin Yeh

我今年 23 歲,在台灣大學資工所讀碩士一年級。感興趣的領域是自然語言處理、電腦視覺與電腦圖學。 我的個性很活潑,喜歡跟別人聊天認識人。 會開始做 Mado 這個專案,是由於它是一個視窗系統可以顯示出各種幾何圖案的組合,且這個專案涉及大量的數學。 在做這個專案後,開始對 open source 感興趣,因為做專案認識了很多平時生活不會有交集的人。