awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Kernel driver development

Ranking updated Jul 18, 2026

For kernel drivers, the first results are microsoft/windows-drivers-rs (This project provides a specialized framework for developing memory-safe kernel-mode and user-mode drivers specifically for Windows, offering the necessary abstractions and memory management tools to interface with system hardware), torvalds/linux (The Linux kernel is the definitive framework for developing kernel-level drivers, providing the essential hardware abstraction, memory management, and interrupt handling infrastructure required for system-level programming) and cirosantilli/linux-kernel-module-cheat (This project provides a comprehensive development and emulation environment specifically designed for building and debugging Linux kernel modules, serving as a practical framework for kernel-level driver development). hoshimin/kernel-bridge and microsoft/windows-driver-samples round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

Explore the best open-source kernel driver development tools. Compare top-rated frameworks and libraries by activity to find the best fit for your project.

Kernel driver development

Find the best repos with AI.We'll search the best matching repositories with AI.
  • microsoft/windows-drivers-rsmicrosoft avatar

    microsoft/windows-drivers-rs

    1,882View on GitHub↗

    This project provides a framework and toolset for developing memory-safe kernel-mode and user-mode drivers for the Windows operating system. It enables developers to build drivers using safe programming patterns that prevent common memory errors and system crashes, while providing the necessary infrastructure to interface with low-level hardware and system APIs. The framework distinguishes itself by offering procedural macros and binding generation tools that translate complex C-style system headers into idiomatic, type-safe code. It includes a custom global allocator designed for the strict

    This project provides a specialized framework for developing memory-safe kernel-mode and user-mode drivers specifically for Windows, offering the necessary abstractions and memory management tools to interface with system hardware.

    RustHardware Abstraction LayersUser-Mode Drivers
    View on GitHub↗1,882
  • torvalds/linuxtorvalds avatar

    torvalds/linux

    237,355View on GitHub↗

    The Linux kernel is a monolithic operating system core that manages hardware resources, memory, and process scheduling across diverse computing architectures. It provides a standardized, POSIX-compliant environment for application execution while maintaining a modular driver framework that allows for the dynamic loading and removal of hardware interfaces. The project is distinguished by its high-performance concurrency toolkit, which utilizes lockless synchronization primitives and read-copy-update mechanisms to manage shared data access in multi-core environments. It incorporates a comprehen

    The Linux kernel is the definitive framework for developing kernel-level drivers, providing the essential hardware abstraction, memory management, and interrupt handling infrastructure required for system-level programming.

    CHardware Abstraction Layers
    View on GitHub↗237,355
  • cirosantilli/linux-kernel-module-cheatcirosantilli avatar

    cirosantilli/linux-kernel-module-cheat

    4,491View on GitHub↗

    This project provides a Linux kernel development environment and a system emulation suite for building and debugging kernel modules and baremetal assembly across multiple hardware architectures. It functions as a comprehensive sandbox and framework for low-level system development, utilizing QEMU to simulate hardware environments without the need for physical devices. The environment integrates cross-compilation toolchains using Buildroot and crosstool-NG to target x86_64, ARMv7, and ARMv8 platforms from a single host. It features a specialized kernel debugging framework that leverages GDB an

    This project provides a comprehensive development and emulation environment specifically designed for building and debugging Linux kernel modules, serving as a practical framework for kernel-level driver development.

    PythonKernel Component Debugging
    View on GitHub↗4,491
  • hoshimin/kernel-bridgeHoShiMin avatar

    HoShiMin/Kernel-Bridge

    1,817View on GitHub↗

    Kernel-Bridge is a C++ framework designed for Windows kernel-mode development, providing a comprehensive toolkit for building drivers, hypervisors, and system-level monitoring tools. It serves as a foundational environment for managing low-level operating system interactions, including memory management, process control, and cross-layer communication. The project distinguishes itself by offering specialized primitives for hypervisor construction and hardware-assisted memory isolation. It facilitates advanced system manipulation through techniques such as direct kernel object modification, asy

    This framework provides a C++ template and API for Windows kernel development, offering the core capabilities needed to build and manage kernel-mode drivers.

    C++Virtualization PrimitivesWindows Kernel Development KitsDevice Driver IOCTL Communication
    View on GitHub↗1,817
  • microsoft/windows-driver-samplesmicrosoft avatar

    microsoft/Windows-driver-samples

    7,772View on GitHub↗

    This repository is a collection of reference source code and implementation examples for developing drivers using the Windows Driver Kit. It provides hardware device driver samples and development templates for building kernel-mode software that enables communication between the Windows operating system and hardware devices. The library includes examples for creating universal Windows drivers, which utilize a shared set of interfaces to operate across multiple versions of the operating system. It also contains specialized implementation samples for various hardware categories, including netwo

    This repository provides a comprehensive collection of reference implementations and templates for developing kernel-mode drivers using the Windows Driver Kit, serving as a primary educational resource for the category.

    CDevice DriversCustom Device Driver DevelopmentCustom Hardware Drivers
    View on GitHub↗7,772
  • rust-embedded/rust-raspi3-os-tutorialsrust-embedded avatar

    rust-embedded/rust-raspi3-OS-tutorials

    14,682View on GitHub↗

    This project is a tutorial and framework for building a low-level, bare-metal operating system from scratch using the Rust language. It focuses on ARMv8 kernel development specifically for the Raspberry Pi 3, providing the resources necessary to implement a monolithic kernel that runs directly on hardware without an underlying operating system. The project distinguishes itself by providing a complete embedded cross-compilation suite within a containerized environment to ensure consistent builds. It includes a dedicated kernel deployer that uses a serial interface and chainloader to load and b

    This project provides a comprehensive educational framework and set of resources for building bare-metal kernels and low-level drivers from scratch, making it a highly relevant resource for learning kernel-level development.

    RustMonolithic KernelsTutorialsBare Metal Development
    View on GitHub↗14,682
  • opentabletdriver/opentabletdriverOpenTabletDriver avatar

    OpenTabletDriver/OpenTabletDriver

    3,612View on GitHub↗

    OpenTabletDriver is a user-mode graphics tablet driver and USB HID input manager that translates raw USB input from digitizer hardware into system cursor and pen events. It serves as a hardware abstraction layer that normalizes input from various tablet brands into a consistent API, providing a cross-platform pen interface with pressure and tilt sensitivity. The project distinguishes itself through a plugin-based architecture and a profile-based configuration system, allowing for custom filters, interpolators, and persistent hardware setups. It includes specialized tools for hardware driver d

    This project is a user-mode driver for graphics tablets rather than a framework for developing kernel-level drivers, making it a specific application of driver technology rather than a tool for building new kernel modules.

    C#Hardware Abstraction LayersUser-Mode DriversUser-Mode Hardware Drivers
    View on GitHub↗3,612
  • syllo/nvtopSyllo avatar

    Syllo/nvtop

    10,150View on GitHub↗

    nvtop is a terminal-based dashboard used for monitoring the performance, memory usage, and temperature of multiple graphics processors and hardware accelerators. It functions as a centralized administration tool to track the health and compute load of several devices across a single system. The tool distinguishes itself by correlating system process IDs with hardware resource consumption, allowing users to identify specific applications consuming GPU resources. It employs a vendor-agnostic abstraction layer to support hardware from multiple different manufacturers within a single interface.

    This is a system monitoring dashboard for tracking GPU performance and process usage, rather than a framework or toolkit for developing kernel-level drivers.

    CHardware Abstraction LayersHardware Vendor Abstractions
    View on GitHub↗10,150
  • microsoft/wsl2-linux-kernelmicrosoft avatar

    microsoft/WSL2-Linux-Kernel

    10,463View on GitHub↗

    This project is a Linux kernel designed for Windows Linux integration, providing the underlying operating system kernel required to execute binary files and applications within the Windows Subsystem for Linux. It utilizes hypervisor-based virtualization to run a full kernel within a lightweight utility virtual machine managed by a Windows host. The repository enables the customization and compilation of the kernel from source. This allows for the modification of system behavior, the addition of specific drivers, and the tailoring of hardware compatibility for virtualized environments. The sy

    This repository provides the source code for a specific Linux kernel used in Windows Subsystem for Linux rather than a framework or toolkit designed to assist developers in building their own kernel-level drivers.

    CHardware Abstraction Layers
    View on GitHub↗10,463
  • apache/incubator-nuttxapache avatar

    apache/incubator-nuttx

    3,918View on GitHub↗

    NuttX is a POSIX-compliant real-time operating system designed for resource-constrained embedded environments. It functions as a scalable microcontroller OS that provides a Unix-like environment for managing hardware and running applications across architectures ranging from 8-bit to 64-bit. The system ensures high software portability by implementing a kernel that follows POSIX and ANSI standards. This allows developers to create portable embedded applications using standardized API calls across diverse hardware architectures. The project includes a modular kernel architecture and a hardwar

    NuttX is a full real-time operating system rather than a framework for developing drivers for other kernels, though its modular architecture and hardware abstraction layers provide relevant patterns for low-level systems programming.

    CHardware Abstraction Layers
    View on GitHub↗3,918
  • libsdl-org/sdllibsdl-org avatar

    libsdl-org/SDL

    14,926View on GitHub↗

    SDL is a cross-platform development library that provides low-level access to audio, keyboard, mouse, joystick, and graphics hardware. It functions as a hardware abstraction layer, mapping diverse operating system interfaces into a unified set of functions to ensure consistent performance across different computing environments. The library serves as a foundation for multimedia and interactive application development by providing an integrated audio processing engine and a graphics rendering framework. It manages the complexities of hardware communication by normalizing raw input events and p

    This library provides a hardware abstraction layer for multimedia and input devices in user-space applications, but it does not provide the kernel-level access or driver-development primitives required to build operating system kernel drivers.

    CHardware Abstraction Layers
    View on GitHub↗14,926
  • apple-oss-distributions/xnuapple-oss-distributions avatar

    apple-oss-distributions/xnu

    2,922View on GitHub↗

    XNU is an operating system kernel designed to manage system hardware and process execution across different processor architectures. It utilizes a hybrid microkernel design that combines microkernel message passing with monolithic kernel performance by embedding critical subsystems into a single address space. The project implements a port-based asynchronous messaging system for communication between kernel tasks and userspace processes. It manages hardware interactions through a layered driver architecture and enforces system-wide security policies via a mandatory access control interface.

    This repository is the source code for the XNU kernel itself rather than a framework or toolkit designed to assist developers in building their own kernel-level drivers.

    CKernel Component Debugging
    View on GitHub↗2,922
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
microsoft/windows-drivers-rs1.9KRustApache-2.0Jun 23, 2026
torvalds/linux237.4KCNOASSERTIONJun 23, 2026
cirosantilli/linux-kernel-module-cheat4.5KPythonGPL-3.0Jun 16, 2026
hoshimin/kernel-bridge1.8KC++GPL-3.0Nov 12, 2023
microsoft/windows-driver-samples7.8KCMS-PLJun 19, 2026
rust-embedded/rust-raspi3-os-tutorials14.7KRustApache-2.0Feb 10, 2024
opentabletdriver/opentabletdriver3.6KC#lgpl-3.0Feb 21, 2026
syllo/nvtop10.2KCotherFeb 8, 2026
microsoft/wsl2-linux-kernel10.5KCNOASSERTIONJun 19, 2026
apache/incubator-nuttx3.9KCApache-2.0Jun 26, 2026

Related searches

  • Kernel integration layers
  • Hardware specific kernels
  • Kernel acceleration software
  • a reference for Linux kernel programming interfaces
  • Kernel isolation sandbox
  • Kernel ABI specifications
  • an open source operating system kernel
  • a project for learning OS internals by building one