# Canvas patch: we need testers!
Source: [https://monadicsheep.org/blog/call-for-canvas-patch-testers.html](https://monadicsheep.org/blog/call-for-canvas-patch-testers.html)
2026 June 29
The[Canvas patch](https://monadicsheep.org/blog/hello.html)is almost done\. Except that we need more testing, specifically for its MS Windows port\. \(Though testers on other operating systems like GNU/Linux and MacOS are also welcome\.\)
Since we don't have any computers running MS Windows, we are not sure if the code is actually correct\.
Please follow the following instructions for testing it on MS Windows\. You can discuss the results or ask us questions at[MonadicSheep Emacs Fork's Issue tracker](https://codeberg.org/MonadicSheep/emacs/issues), \#phi\-mu\-lambda on Libera IRC \([open webchat in browser](https://web.libera.chat/?nick=CanvasTester?#phi-mu-lambda)\), or on the fediverse \(tag the post with \#emacs\)\.
## 1\.Building GNU Emacs on MS Windows
1. Install[MSYS2](https://www.msys2.org/)by following the official instructions mentioned there\.
2. Open a MSYS2 UCRT64 session terminal\.
3. In the bash prompt, run the following command to get the canvas patch source code\. ``` git clone https://codeberg.org/MonadicSheep/emacs ```
4. Now, change directory to emacs source checkout, by running the following command\.
5. Now, run the following command to build Emacs\. This may take a while depending on your hardware\.
6. Once that is done, you should be able to start emacs with the following command\.
## 2\.Testing
Evaluate the following in`\*scratch\*`\(Using`C\-c C\-c`keybinding\)\.
```
(defun make-rect (width height pixel)
(make-vector (* width height) pixel))
(setq rect-canvas-vec (make-rect 250 250 #xFFFF0000))
(setq rect-canvas `(image :type canvas
:data-width 250
:data-height 250
:data ,rect-canvas-vec))
(insert (propertize "#" 'display rect-canvas))
(defvar rect-canvas-timer nil)
(let ((i 0))
(setq rect-canvas-timer
(run-with-timer
0 0.016
(lambda ()
(if (< i (* 20 250))
(progn
(aset rect-canvas-vec (+ (* 115 250) i) #xFF0000FF)
(canvas-refresh rect-canvas t)
(setq i (1+ i)))
(cancel-timer rect-canvas-timer))))))
```
You should be able to see something like this\.
[Licensing](https://monadicsheep.org/license.html)
Last built on: 2026\-06\-29
Commit:[c842bc2](https://codeberg.org/MonadicSheep/website/src/commit/c842bc2fc3acfea94e0a6e9ac45018fe9206b06e)
A developer ports the classic game DOOM to run inside Emacs using a native module and a Canvas API patch, requiring a custom-patched Emacs build and a WAD file.
A developer's Emacs performance patch, assisted by GLM 5.2, was rejected by GNU due to a policy against LLM-assisted contributions, sparking criticism of the policy's effect on honesty.
A recipe and patch set for building GNU Emacs on macOS with a native Liquid Glass frame effect inspired by Ghostty, adding NSGlassEffectView support and new frame parameters for transparency and blur.