Skip to main content

My Turnip Merge Quest: How I Chose Turnip for My First OSS Contribution

8 min 1,614 words

Finding the North Star

altImage from Aurélien Grimpard - Unsplash

Hey there, earthling! In this section I want to talk about how to choose an open-source project. Since there is a sea of options, it can be a little (or a lot) overwhelming. I’ll share my own experience, and how I ended up choosing Turnip. It may give you some heuristic from where to start and how to go about it. I’ll try to keep some parts general, while others will be more specific to my personal path. Hope this helps you! :)


Step 1: Zoom Out

alt
Image from Ehsan Haque - Pexels

Spot something that you are interested in, BUT in an abstract way. I’m not asking you to pick something super specific like: "I AM INTERESTED IN PROFILING THE PERFORMANCE OF RAY TRACING CALLS IN MOBILE GAMES" -> No e.e! We’ll have time for that later. Think more like: "I am interested in computer graphics".

To help you narrow it down, you have 2 options; either you pick something you have absolutely no idea about but interests you and you want to make a big YOLO on that curiosity, or you pick something where you already have some experience(even if it’s just close enough) and interest. In my case, I picked Computer Graphics because I’m really interested in it and already I have some background.


Step 2: Zoom In

alt
Image from Zdeněk Macháček - Unsplash

Now that you have an abstact idea of what you want, in order to know specifically which project to choose, we have to do a deeper research. Since we are talking about open-source projects only, I’ll share what worked for me. You can do your own research in any way that you can think of, but if you need some help, this is where I started looking at:

OSS Conferences

Chill, I’m not telling you to go to any OSS conference (yet!). But if you can and want to, even better! I’m just saying that one way to find interesting OSS projects is to type into your preferred search engine or YT -> “are of interest + open source conferences”. In my case, it was “computer graphics + open source conferences”. From here, you just have to put in ass-hours. Research, read and watch whatever sparks your curiosity. I know that most of the stuff would be yada yada yada at first, but that’s ok! It’s part of discovering new things and getting started in this world :)

By looking at it this way, you will probably find the latest state of OSS in that specific area. It’s important to notice that in these conferences you will find more “big” open-source projects, which can be good or bad depending of what you are looking for. Either way, it will give you an idea in what people are working on lately. In my case I found really interesting talks related to Computer Graphics in these conferences:

X.Org Developer’s Conference (XDC)

alt
Image from Mastodon - floss.social

I think it’s probably the most important conference related to the Linux graphic stack, and the best part… it’s free :D. If a new feature is coming to the DRM in the kernel or there is a major update in Mesa, it will probably be debated and presented here. I hope to participate sometime in the future. Sadly this year the event is not near where I live, so probably it will be next year instead…

Events
Events favicon https://www.x.org/wiki/Events/

FOSDEM

alt
Image from Mastodon - chaos.social

It is one of the world’s largest open-source conferences, located in Europe. Obviously, graphics related staff is not the only thing presented here, but there is a dedicated Graphics Devroom. Very important for the Linux graphic stack ecosystem.

FOSDEM 2026 - Home
FOSDEM 2026 - Home favicon https://fosdem.org/
FOSDEM 2026 - Home

Vulkanised

alt
Image from Mastodon - fosstodon

Like you see from the title, this is a very specialized conference focused entirely on the Vulkan API. Hosted by the Khronos Group. Also, it’s very relevant to the world of the Linux graphic stack.

vulkan.org
vulkan.org favicon https://vulkan.org/events/vulkanised-2026

Linux Plumbers Conference

alt
Image from eBPF

This one is a veeery technical one, I don’t think it is for beginners? since it’s more designed to bring together the most experienced developers to solve very complex problems that are difficult to fix over email lists, and also for the developers to sync up. It’s also not only dedicated to graphics, but it usually hosts a dedicated space for DRM.

Linux Plumbers Conference 2026
507 October, Prague, Czechia The Linux Plumbers Conference is the premier event for developers working at all levels of the plumbing layer and beyond.
Linux Plumbers Conference 2026 favicon https://lpc.events/
Linux Plumbers Conference 2026

The Linux Foundation Open Source Summit

alt
Image from LinuxFoundation

This one is more of an “industry event” organized by the Linux Foundation. It covers a lot of open-source topics, focusing more on the industry rather than just the developers. Here the “major stakeholders” align their business goals with the open-source development. It’s relevant to the graphic stack on linux, but not a lot.

I have never attended to this one (or any of the others :c yet!), but I think this one is a good place to see which open-source projects are gaining relevance in the industry and receiveng founding, which usually means more people working on them (probably).

Open Source Summit Europe | LF Events
The premier vendor-neutral conference for open source developers and technologists to collaborate, share information and learn about the latest technologies and innovations across open source.
Open Source Summit Europe | LF Events favicon https://events.linuxfoundation.org/open-source-summit-europe/
Open Source Summit Europe | LF Events

Code Hosting Platforms

The title speaks for itself: choose any platform, type the area that you are interested in, and pay attention to the license to check if it’s truly OSS. Here, you will likely find more small open-source projects compared to the other method/way.

Examples:

Finally, AI for the entire software lifecycle.
Your intelligent orchestration platform for DevSecOps
Finally, AI for the entire software lifecycle. favicon https://gitlab.com/
Finally, AI for the entire software lifecycle.
Codeberg.org
Codeberg is a non-profit community-led organization that aims to help free and open source projects prosper by giving them a safe and friendly home.
Codeberg.org favicon https://codeberg.org/
Codeberg.org
sourcehut - the hacker's forge
sourcehut is a network of useful open source tools for software project maintainers and collaborators, including git repos, bug tracking, continuous integration, and mailing lists.
sourcehut - the hacker's forge favicon https://sourcehut.org/
GitHub · Change is constant. GitHub keeps you ahead.
Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.
GitHub · Change is constant. GitHub keeps you ahead. favicon https://github.com/
GitHub · Change is constant. GitHub keeps you ahead.
Log in with Atlassian account
Log in to Jira, Confluence, and all other Atlassian Cloud products here. Not an Atlassian user? Sign up for free.
Log in with Atlassian account favicon https://bitbucket.org/repo/all

Step 3: Choose Your Pokemon!


Image from the internet..

I imagine that you now have a more specific idea of what interests you (great!), now it’s time to choose our first OSS project! Having a list of open-source projects that interest you(if not, keep looking!), we’ll have to get a little picky to find the right one. First, I’ll share some general preferences that (I think) apply for any case, followed by some specific preferences that I used when ultimately choosing Turnip at the end.

  • Check the license: Sorry that I’m repeating myself, but this is the first and most important thing to check since we are looking for OSS projects only.
  • Check that the project is alive: There must be active developers working on it so you can help each other. Check the consistency and date of the commits of the projects.

How I ended up choosing Turnip

In my case, I became really interested in the current state of graphics on Linux. I’m sure that you’ve heard something about it lately, whether it’s Proton, or DXVK, or NVK, or SteamOS, or Honeykrisp, or anything related to the gaming/graphics ecosystem on Linux. So much is happening that it is hard to escape this “wave of change”, and it’s not just about to gaming or graphics, it’s happening across the entire Linux landscape.

We live in very interesting times, and I’m all in…I want to be part of this and contribute. There are some many people involved lately, working hard for this to get better and better each day. I remember trying gaming on Linux a few years ago, and compared to the current scene, the progress is impressive. I’ve always kept 2 partitions on my pc, one with Linux for my projects, work, and gaming, and another with Windows exclusively for certain games due to stability issues (and the anti-cheats :c), which I hope will soon be just one ;). Seeing all of this, I knew for sure that I wanted to be part of it.


Image from the internet..

This, combined with my experience in graphics, led me to decide to contribute to the graphic-driver ecosystem. But after that, the big question was which one? There are a loooooooot of drivers. To decide which one to pick, I started comparing them. At the time, I made this table comparison (which I hope is not outdated at the time I publish this):

HardwareVulkan (Driver)OpenGL (Driver)
NvidiaNVKNouveau
AMDRADVRadeonSI
IntelANVIris
QualcommTurnipFreedreno
ARMPanVKPanfrost
AppleAsahi HoneykrispAsahi GL
RaspberryPiV3DVV3D
CPULavapipellvmpipe
Important

Special mention to Zink which is a “layered” driver that translates OpenGL command into Vulkan.

Probably there are a lot more, but these are the most interesting ones from my point of view at the time that I’m publishing this blog.

As you can see in the table, there are a lot of options. I’ll get very specific now, since these were my preferences for picking one or another:

  • Something that is more related to modern graphics, so I would prefer Vulkan.
  • Something that a considerable amount of people are involved, that is very active, since I want to belong to some kind of a developers community in which I can get and give help.
  • Something that is not completely “done” and also not completely “new”. In either of those states, it would be hard for me since I’m starting. It has to be something in the middle.
  • Something that I already have the hardware to work with or that is cheap to buy.

At the time I was deciding which one to pick, I remember joining the emulation on Android subreddit. I was impressed by how many users where testing games on Android and how well they were running. Around that same time, Valve announced the Steam Frame, which would use an Adreno GPU (a mobile gpu). Also, all the hype around the Snapdragon X Series (ARM architecture). Seeing all of that made my decision much easier. At that moment, I knew that I would choose Turnip as my first open-source contribution :)