You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+37-2Lines changed: 37 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -79,7 +79,13 @@ Install [Pixman](https://pixman.org/) before selecting the corresponding rendere
79
79
* macOS: `brew install pixman`
80
80
* Ubuntu Linux / Debian: `sudo apt install libpixman-1-dev`
81
81
82
-
In the meantime, ensure that you choose a graphics backend and install the necessary packages beforehand.
82
+
`Mado` supports multiple graphics backends. Choose one based on your deployment scenario:
83
+
- SDL: Cross-platform desktop development with hardware acceleration
84
+
- Linux framebuffer (fbdev): Direct hardware access for embedded Linux
85
+
- VNC: Remote display via Virtual Network Computing protocol
86
+
- Headless: Testing and automation without display output
87
+
88
+
### Backend-Specific Dependencies
83
89
84
90
For SDL backend, install the [SDL2 library](https://www.libsdl.org/).
85
91
* macOS: `brew install sdl2`
@@ -93,13 +99,29 @@ $ tools/build-neatvnc.sh
93
99
For Linux framebuffer backend, install `libudev` and `libuuid`:
94
100
* Ubuntu Linux / Debian: `sudo apt install libudev-dev uuid-dev`
95
101
102
+
For the headless backend, no additional dependencies are required. This backend uses shared memory for rendering and can be controlled programmatically via `headless-ctl`.
103
+
104
+
For detailed information about each backend's features, use cases, and configuration options, see [docs/backends.md](docs/backends.md).
105
+
96
106
### Configuration
97
107
98
-
Configure via [Kconfiglib](https://pypi.org/project/kconfiglib/), you should select either SDL video, the Linux framebuffer, or VNC as the graphics backend.
108
+
`Mado` uses [Kconfiglib](https://github.com/sysprog21/Kconfiglib) for flexible build configuration. Choose from multiple graphics backends: SDL, Linux framebuffer, VNC, or headless (for testing/automation).
109
+
110
+
For interactive configuration with a terminal menu:
99
111
```shell
100
112
$ make config
101
113
```
102
114
115
+
For quick scripted configuration (recommended for most users):
For detailed configuration options and advanced usage, see [docs/kconfig-usage.md](docs/kconfig-usage.md).
124
+
103
125
### Build and execution
104
126
105
127
Build the library and demo program:
@@ -139,6 +161,19 @@ $ ./demo-vnc
139
161
This will start the VNC server. You can use any VNC client to connect using the specified IP address (default is `127.0.0.1`) and port (default is `5900`).
140
162
The IP address can be set using the `MADO_VNC_HOST` environment variable, and the port can be configured using `MADO_VNC_PORT`.
141
163
164
+
To run demo program with the headless backend (for testing/automation):
0 commit comments