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 includesvulkan.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 playb.it
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.