Contribute

Help build LinPad

Most of LinPad can be worked on without an iPad: the desktop runs in the iPad simulator and the emulator builds as a command-line tool on a Mac.

Areas

Emulator and JIT

C and ARM64 assembly: syscalls, signals, memory, the native JIT. kernel/, jit/, emu/, asbestos/.

Wayland bridge

C: ishwl, the in-guest compositor, input, text input, clipboard. wl-bridge/.

Desktop (SwiftUI)

Window manager, tiling, styles, command menu, apps. desktop/DesktopKit, with unit tests that run in the simulator.

Themes and icons

Colour palettes, era looks, icon packs. The easiest first contribution. themes/.

Linux system and releases

The Alpine rootfs, the app catalog, repair kit and release scripts. release/.

Docs and testing

Manual pages, device test reports, translations. A physical iPad helps here more than anywhere.

Your first 30 minutes

  1. Fork and clone fspecii/LinPad.
  2. Open desktop/DesktopKit and run its tests in an iPad simulator. No Apple developer account is needed.
  3. Read the design notes for the part you care about: jit/DESIGN.md, wl-bridge/DESIGN.md, gpu/DESIGN.md, themes/omarchy/PORT-SPEC.md, release/RELEASING.md.
  4. Pick an issue labelled good first issue and say in the issue that you are on it.

Issues labelled needs-device need someone with an iPad to run something and report back. That is a real contribution, not a lesser one.

Submitting a theme

  1. Make a colour theme in LinPad's Themes app, or write a colors.toml by hand. The format is the same one Omarchy community themes use.
  2. Put it in a public git repository with a licence and a screenshot you made yourself.
  3. Check it installs: Themes › Install from URL.
  4. Open a pull request adding it to the community list. It will appear in the gallery with an install link.

Please do not submit wallpapers or artwork you do not have the rights to, or themes named after commercial products.

Ground rules

  • Be kind and specific. Harassment is not tolerated.
  • Small pull requests with a clear reason get merged fastest.
  • Performance claims need a measurement and say where it was measured.
  • By contributing you agree your work is licensed under the GPLv3, like the rest of LinPad.

Every release lists the people who contributed to it.