<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/kernel-6-2-more-rust-support-for-drivers-ebgf9hj1s" -->

---
title: Kernel 6.2: More Rust support for drivers | daily.dev
description: Linux kernel 6.2 advances Rust support for driver development with the new #[vtable] macro for declaring function pointer structs as Rust traits, and full...
canonical: https://daily.dev/posts/kernel-6-2-more-rust-support-for-drivers-ebgf9hj1s
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Kernel 6.2: More Rust support for drivers | daily.dev
og:description: Linux kernel 6.2 advances Rust support for driver development with the new #[vtable] macro for declaring function pointer structs as Rust traits, and full...
og:url: https://daily.dev/posts/kernel-6-2-more-rust-support-for-drivers-ebgf9hj1s
og:image: https://api.daily.dev/og/posts/eBgF9hj1s.png
og:image:alt: Kernel 6.2: More Rust support for drivers
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Kernel 6.2: More Rust support for drivers

**[Collabora Blog](https://daily.dev/sources/collabora)** · 6 min read · 0 upvotes · 0 comments

## Summary

Linux kernel 6.2 advances Rust support for driver development with the new #[vtable] macro for declaring function pointer structs as Rust traits, and full implementation of pr_ macros enabling logging from Rust code. The release also introduces the 'accel' subsystem for compute accelerators (ASICs and SoC/GPU IP blocks), a new dma-buf locking convention that resolves deadlock issues between exporters and importers, and a virtual V4L2 stateless decoder driver (visl) for uAPI development without hardware. Collabora was among the most active employers this cycle, contributing RK3588 SoC clock/reset support, MediaTek platform fixes, Sony Xperia device bring-ups, and StarFive VisionFive V1 RISC-V board support.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.collabora.com/news-and-blog/news-and-events/kernel-62-more-rust-support-for-drivers.html>

## Questions this post answers

### What Rust features were added for Linux kernel driver development in kernel 6.2?

Kernel 6.2 added the #[vtable] macro, which lets driver authors declare and implement structs of function pointers (ops) as Rust traits, with a Trait::HAS_* constant per function to simplify setting C data structure pointers. The full set of pr_ macros was also implemented, enabling calls like pr_err!() from Rust code and improving logging for Rust drivers.

_Developers writing Linux kernel drivers in Rust track changes like these on daily.dev._

### What is the new dma-buf locking convention introduced in Linux kernel 6.2 and why was it needed?

Before kernel 6.2, there was no locking convention for dma-buf exporters and importers, causing deadlocks when both tried to acquire the same nested dma-buf reservation lock. Kernel 6.2 introduced an explicit convention specifying when exporters and importers must or must not take the lock. All existing kernel drivers using dma-buf were migrated to the new convention, and GPU subsystem core code was prepared to eventually give all DRM drivers a common reservation GEM lock.

_Engineers working on GPU or DRM subsystem code can follow dma-buf and DRM developments on daily.dev._

### What is the visl driver added in Linux kernel 6.2?

visl is a virtual stateless decoder V4L2 driver added in kernel 6.2 for aiding V4L2 stateless decoding uAPI development. It lets userspace applications run a decoding loop without real hardware or an upstreamed codec uAPI, exposing bugs early. It also supports tracing submitted V4L2 controls via ftrace, dumping VB2 buffers through debugfs, and producing capture buffers with debug information via V4L2's test pattern generator.

_Developers working on V4L2 or multimedia kernel drivers can follow uAPI and driver news on daily.dev._

## Similar posts on daily.dev

- [Kernel 7.2: RK3588 media, smarter GPU memory, and Rust foundations](https://daily.dev/posts/kernel-7-2-rk3588-media-smarter-gpu-memory-and-rust-foundations-vrpih8voj) · Collabora Blog · 0 upvotes · 0 comments

---

Tags: [#linux](https://daily.dev/tags/linux), [#rust](https://daily.dev/tags/rust)

[View this post on daily.dev](https://daily.dev/posts/kernel-6-2-more-rust-support-for-drivers-ebgf9hj1s)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Kernel 6.2: More Rust support for drivers","url":"https://daily.dev/posts/kernel-6-2-more-rust-support-for-drivers-ebgf9hj1s","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/kernel-6-2-more-rust-support-for-drivers-ebgf9hj1s"},"datePublished":"2026-08-11T08:57:22.242Z","dateModified":"2026-08-11T09:37:31.511Z","description":"Linux kernel 6.2 advances Rust support for driver development with the new #[vtable] macro for declaring function pointer structs as Rust traits, and full...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/c87e4e42379d7fad7823add7ffd21d31?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/c87e4e42379d7fad7823add7ffd21d31?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Collabora Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Collabora Blog","logo":"https://media.daily.dev/image/upload/s--ZGZ0FjqS--/f_auto,q_auto/v1786438306/logos/collabora?_a=BAMAMicg0","url":"https://daily.dev/sources/collabora"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/kernel-6-2-more-rust-support-for-drivers-ebgf9hj1s","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"linux,rust","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Collabora Blog","item":"https://daily.dev/sources/collabora"},{"@type":"ListItem","position":3,"name":"Kernel 6.2: More Rust support for drivers"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/kernel-6-2-more-rust-support-for-drivers-ebgf9hj1s#faq","mainEntity":[{"@type":"Question","name":"What Rust features were added for Linux kernel driver development in kernel 6.2?","acceptedAnswer":{"@type":"Answer","text":"Kernel 6.2 added the #[vtable] macro, which lets driver authors declare and implement structs of function pointers (ops) as Rust traits, with a Trait::HAS_* constant per function to simplify setting C data structure pointers. The full set of pr_ macros was also implemented, enabling calls like pr_err!() from Rust code and improving logging for Rust drivers. Developers writing Linux kernel drivers in Rust track changes like these on daily.dev."}},{"@type":"Question","name":"What is the new dma-buf locking convention introduced in Linux kernel 6.2 and why was it needed?","acceptedAnswer":{"@type":"Answer","text":"Before kernel 6.2, there was no locking convention for dma-buf exporters and importers, causing deadlocks when both tried to acquire the same nested dma-buf reservation lock. Kernel 6.2 introduced an explicit convention specifying when exporters and importers must or must not take the lock. All existing kernel drivers using dma-buf were migrated to the new convention, and GPU subsystem core code was prepared to eventually give all DRM drivers a common reservation GEM lock. Engineers working on GPU or DRM subsystem code can follow dma-buf and DRM developments on daily.dev."}},{"@type":"Question","name":"What is the visl driver added in Linux kernel 6.2?","acceptedAnswer":{"@type":"Answer","text":"visl is a virtual stateless decoder V4L2 driver added in kernel 6.2 for aiding V4L2 stateless decoding uAPI development. It lets userspace applications run a decoding loop without real hardware or an upstreamed codec uAPI, exposing bugs early. It also supports tracing submitted V4L2 controls via ftrace, dumping VB2 buffers through debugfs, and producing capture buffers with debug information via V4L2's test pattern generator. Developers working on V4L2 or multimedia kernel drivers can follow uAPI and driver news on daily.dev."}}]}
```

