careers at playbit

Playbit Linux GPU project
1–3 months paid contract work

We are looking for someone to help us implement Vulkan capabilities on Linux DRM/KMS for our display server/window manager. This is a paid contract with an option of full-time employment if both parties would be interested. Start date is ideally as soon as possible. We are flexible with both timeline and payment (hourly vs flat.)

Project requirements

  • Implement Vulkan on top of Linux DRM/DRI/KMS
  • SwiftShader software renderer backend (Playbit can run without a GPU)
  • Language is C17 with musl libc
  • No third party code, with the exception of Vulkan (if absolutely necessary, it needs to be statically linked and licensed for commercial use without “virality.”)
  • example_program.c that includes vulkan.h & playbit-gpu.h which draws a triangle on each connected display via a GLSL fragment shader.
  • Bonus: Get Dawn (WebGPU) working on top of the Vulkan implementation

What we expect from you

  • Advanced knowledge of Linux DRM/DRI/KMS
  • Familiarity & experience with Vulkan
  • Familiarity with SwiftShader
  • Professional behavior with a growth mindset

What you can expect from us

  • A development version of Playbit (source) that can build & run on any host OS that can run qemu. Playbit is currently quite usable but currently has a rather slow & limitied software renderer.
  • Professional behavior with a growth mindset and empathy
  • Daily support for any questions, collaboration and ideation
  • “9-5” work schedule; we generally take a break from work on weekends and evenings

A little bit about Playbit in the context of 2D rendering:

  • Our goal is to run WebGPU (specifically Dawn) “on top of” the Vulkan backend.
  • WebGPU is the only user-space GPU API offered in Playbit. Vulkan is not inteded to be exposed to user-land programs.
  • Playbit is as much Linux as Android is Linux, meaning we don’t have a package manager, glibc, or most anything else. Kernel modules are built in, not loaded at runtime.
  • Current implementation is a software renderer on “dumb” DRM buffers.
  • Eventually Playbit’s display server will be cross compiled for the Web platform and a custom WebGPU backend implemented for the Web platform. This is why we have a constraint on WebGPU as the only user-space GPU API.

We are a fully remote team based in California & the UK. You have to be able to have meetings during 17:00–18:00 GMT (09:00–11:00 Pacific Time.)

Interested? Send an email to careers AT and tell us a little bit about yourself, including any questions you might have. We're happy to pay for an initial consultation call, before entering a contract.

We are a small, focused team who deeply care for each other and our craft. Playbit is building a new operating system for software creatives. We believe that the future does not limit your logical computer to your physical hardware.

With Playbit, your computers are always available and can even be shared with others. You can have as many computers as you like, without the need for dedicated hardware. This is accomplished by workspaces which are like virtual machines, synchronized across all devices for all participants using local-first technology. Your workspaces can even be accessed on the web, powered by WASM & WebGPU.

At Playbit we believe that great work comes from trust and passion, not just academic excellence. We believe in being effective and efficient; working hard but not working more than necessary. Life is about more than work and we respect that in each other. We believe that great things can be built without "doing the grind." We believe that caring for each other makes a fantastic team which ultimately leads to great products.

We are just getting started. Adventure awaits.

the playbit vision

A better OS for software professionals & hobbyists. For people pushing the status quo of computing. What Mac OS X was, but catering to today’s needs.

At the core of Playbit is the “Workspace”, a space for a topic or project. Workspaces can be shared with other people and are fully stateful. It is like having many computers inside your one computer.

Workspaces are fully stateful and can be suspended and resumed at any time without any data loss — apps, open windows, scroll positions, text selection, files etc are all persisted with a workspace.

You can access your workspaces on any computer.

A shared workspace can be a simpler substitute for version control like git: with integrated snapshotting at the filesystem level you can quickly explore or roll back older versions of your workspace. You can even duplicate—or “fork” if you will—a workspace in case you want to try something without affecting the current workspace. This can also be used for template workspaces. Beyond workspaces, this system provides services fundamental & relevant to today’s software, like data syncing APIs, payments APIs, etc.