name shrub/neuswc
description slighly less simple wayland compositing library
last change 2026-09-02
clone url
https://srcdump.net/shrub/neuswc.git

commit briefs

361fa39
shrub  ·  2026-09-02
85a3c83
shrub  ·  2026-09-02
de1782b
shrub  ·  2026-09-01
b541f39
shrub  ·  2026-08-13
caeb604
shrub  ·  2026-08-10
ac63183
shrub  ·  2026-08-06
fa87d67
shrub  ·  2026-08-06
dacca88
shrub  ·  2026-08-05
1c43452
shrub  ·  2026-08-05

tree

readme

neuswc

neuswc is a fork of swc created by wayland.fyi. it provides an easy C library interface to make a wayland compositor. it is much smaller than alternatives like wlroots, and easier to use. it is also portable to linux, freebsd, netbsd, and openbsd. if you want to help with that (or anything else) submit a patch to the mailing list

you can view a list of some compositors made with neuswc at the wayland.fyi website.

the refrence compositor implementation is tohu: it uses many of the new features and is small and simple to understand. if you want to make your own compositor, it can be a useful place to refrence how things work, or a base to customize.

neu features

  • z axis ordering
  • more cursor functions
  • zooming
  • experimental subsurface support
  • fullscreen
  • double window borders
  • screenshots
  • layer shell support
  • window decorations
  • framebuffer support

neuswc is in active development, we plan to add many more features, and increase compatibility with new wayland protocols.

build

you will need:

  • A C99-compatible compiler
  • meson or muon
  • pkg-config
  • wayland-scanner, wayland-server, wayland-client
  • wayland-server, wayland-client
  • libdrm (if building with DRM support)
  • pixman, xkbcommon
  • neuwld
  • libinput on Linux and wscons on BSD
  • xcb, xcb-composite, xcb-ewmh and xcb-icccm if you want Xwayland support.

to build, i use muon and samu. you can probably do something similar with meson and ninja. warning if you use muon, you will need a recent version built from their git for wayland module support, probably not your distro-packaged version. i do:

muon setup build
samu -C build
sudo samu -C build install

credits

an extremely large thank you to michael forney for creating the original swc and wld, without his amazing work none of this would be possible! once they are more stable, we hope some of the changes from our neu* forks will eventually be upstreamed into the original projects.

repositories