Introducing evdev-rs

Today I published my first library on, evdev-rs. evdev-rs is a wrapper around libevdev in Rust. It provides us the facility to deal with input devices in a safe way. This post will serve as a tutorial to get started with evdev-rs.

Writing bindings in Rust: Part 2

In the last post, we looked at how we can write a crate which allows raw access to C functions. In this post, we will write a safe abstraction for this crate. We will be using a part of evdev-sys as an example to see how to write the wrapper functions.

Writing bindings in Rust: Part 1

I started learning rust early December, and the best way to learn a language is to use it. So I started looking for a project in rust and hopefully I was able to find a project which was writing bindings for libevdev in rust. There are a few blogs which talk about bindings but there were certain aspects that this blogs didn’t cover and I had to do some digging myself to get the answers. This aim of this post is to help anyone who wants to write bindings for a C library in rust.

My work with DRI3

The semester got a whole lot busy after my last post. Hence I was not able to write. Now Since the semester is over you can expect some posts. This post describes my work implementing DRI3 helper code for PRIME hardware.

Implementing Bicubic Scaling in TGSI

This post has been pending for some time now. I have been working on VDPAU state tracker for the past 2 months and have implemented luma keying and bicubic scaling and currently working on lanczos scaling. I will be writing about image scaling algorithms and my implementation of bicubic shader in this post.