Skip to content

Commit 0f38309

Browse files
committed
Refine the prerequisites
1 parent 11665d3 commit 0f38309

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

README.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,23 @@ benefiting the entire application stack.
6565
`Mado` is built with a minimalist design in mind. However, its verification
6666
relies on certain third-party packages for full functionality and access to all
6767
its features. We encourage the development environment to be installed with all optional
68-
packages, including [libjpeg](https://www.ijg.org/), [libpng](https://github.com/pnggroup/libpng)
69-
and [pixman](https://pixman.org/).
68+
packages, including [libjpeg](https://www.ijg.org/) and [libpng](https://github.com/pnggroup/libpng).
69+
* macOS: `brew install jpeg libpng`
70+
* Ubuntu Linux / Debian: `sudo apt install libjpeg-dev libpng-dev`
71+
72+
The renderer implementation can either use the built-in pixel manipulation or be based on [Pixman](https://pixman.org/).
73+
The built-in renderer is simple and performs adequately on platforms without SIMD instructions,
74+
such as RISC-V processors without vector extensions.
75+
However, for modern CPU architectures with extensive ISA extensions, Pixman offers faster pixel manipulation.
76+
Install [Pixman](https://pixman.org/) before selecting the corresponding renderer implementation.
77+
* macOS: `brew install pixman`
78+
* Ubuntu Linux / Debian: `sudo apt install libpixman-1-dev`
7079

7180
In the meantime, ensure that you choose a graphics backend and install the necessary packages beforehand.
7281

7382
For SDL backend, install the [SDL2 library](https://www.libsdl.org/).
74-
* macOS: `brew install sdl2 jpeg libpng pixman`
75-
* Ubuntu Linux / Debian: `sudo apt install libsdl2-dev libjpeg-dev libpng-dev libpixman-1-dev`
83+
* macOS: `brew install sdl2`
84+
* Ubuntu Linux / Debian: `sudo apt install libsdl2-dev`
7685

7786
For the VNC backend, please note that it has only been tested on GNU/Linux, and the prebuilt [neatvnc](https://github.com/any1/neatvnc) package might be outdated. To ensure you have the latest version, you can build the required packages from source by running the script:
7887
```shell

0 commit comments

Comments
 (0)