30 open-source projects similar to microsoft/windows-driver-samples, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Windows Driver Samples alternative.
This project is a smart home automation framework and a library of device drivers and handlers designed to integrate hardware into the SmartThings ecosystem. It functions as an IoT device handler repository that translates proprietary hardware signals into standard commands for a central hub. The system emphasizes a local hub rules engine to execute automation logic and device routines directly on hardware, reducing reliance on cloud processing. It provides a collection of custom drivers specifically for managing Zigbee, Z-Wave, and LAN devices. The framework covers the development of custom
XNU is a hybrid operating system kernel that combines a microkernel architecture with a monolithic layer for system services. It provides a foundation for operating system development, incorporating standardized system-call interfaces, a modular device driver framework, and mandatory access control security. The architecture features a Mach-based microkernel and a BSD-based monolithic layer. It utilizes a message-passing inter-process communication bus for secure data exchange between isolated kernel components and user-space processes, alongside an object-oriented driver framework that decou
TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re
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
F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite
This repository contains the complete source code for the OpenBSD operating system and its base utilities. It is a Unix-like operating system focused on a secure, portable, and multi-user environment, featuring a C-based system kernel that manages hardware resources and provides essential services. The project provides a source-based system construction model to compile the core kernel and base utilities from raw files. It includes a cross-compilation toolchain for generating the tools and headers necessary to build binaries for target architectures different from the host machine. The codeb
embedded-notes is a collection of technical study guides and development notes focused on embedded Linux, Linux kernel internals, and C programming. It serves as a reference for embedded systems development and a preparation resource for technical interviews in the field. The project provides detailed documentation on writing device drivers, managing virtual memory, and understanding kernel internals. It also includes guides on IoT network protocols, such as MQTT and TCP/IP, and outlines the architectural details of chip architectures and hardware peripherals. The material covers a broad sur
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
The Linux Kernel Module Programming Guide is an educational resource that teaches how to write, compile, and manage loadable kernel modules for modern Linux kernels. It covers the complete lifecycle of kernel modules, from building and loading to unloading and debugging, with a focus on extending kernel functionality without recompiling the entire kernel. The guide provides comprehensive coverage of core kernel programming concepts including dynamic module loading, file-operation registration, interrupt handling, kernel-user data copying, concurrency control, and deferred task scheduling. It
This project provides a customized Linux kernel and driver suite designed to enable hardware compatibility for Surface devices. It focuses on building and patching the Linux kernel to provide driver support for proprietary hardware components that are missing from the upstream source. The system includes a secure boot kernel signing mechanism and a process for enrolling custom keys into the system firmware. This allows the execution of patched kernels while maintaining system security protections. The project covers peripheral driver support for touchscreens, styluses, and keyboards, as well
NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto
HyperDbg is a hardware-assisted kernel-mode debugging platform that leverages virtualization to monitor and control system execution. By utilizing hypervisor-level primitives, it enables deep system analysis and instrumentation without relying on standard operating system debugging interfaces. The framework provides a comprehensive environment for inspecting both kernel and user-mode processes, allowing for granular control over execution flow and system state. The project distinguishes itself through a transparent debugging layer designed to remain invisible to the target environment. It emp
This project is a Windows Precision Touchpad driver and Apple Trackpad HID driver. It functions as an input device gesture driver that converts raw touch data from Apple trackpads and MacBooks into native multi-touch gestures and precise pointer movement. The driver implements the precision touchpad protocol to enable native Windows gesture and pointer controls for Apple hardware. This allows the operating system to recognize Apple trackpads as precision touchpads, replacing basic mouse functionality with native multi-finger swipes and precise scrolling. The implementation covers kernel-mode
This project is a macOS system camera driver and software plugin that exposes software video streams as hardware-recognized camera inputs. It functions as an OBS virtual camera plugin, allowing the live output of OBS to be utilized as a webcam device within other applications. The tool enables the routing of composited video from a production suite into video conferencing applications such as Zoom or Google Meet. This allows for the streaming of processed scenes instead of a raw webcam feed. The system integrates with macOS using a kernel-level device driver and shared-memory buffer transfer
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
This project is an educational curriculum designed to teach the fundamentals of operating system development and low-level systems programming. It provides a structured sequence of lessons and code samples that guide users through building a functional kernel and bootloader from scratch, enabling a practical understanding of how software interacts directly with computer hardware. The repository distinguishes itself by focusing on the core mechanics of bare-metal execution. It covers the implementation of essential system components, including assembly-based bootloaders that transition process
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
Split-flap is an integrated system of software and hardware specifications for driving mechanical split-flap displays. It provides a split-flap display controller and distributed hardware drivers to manage the rotation of mechanical flap modules using stepper motors and microcontrollers. The project includes a vector flap artwork generator for creating printable SVG design files for custom characters and fonts. It also features tools for laser-cut panel design to produce hardware components and combined module faceplates. The system covers distributed hardware control via a daisy-chain contr
This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m
Bazzite is an immutable, atomic-image-based operating system designed for gaming performance and handheld hardware. It utilizes a read-only root filesystem and versioned images to provide atomic updates and instant system rollbacks, ensuring a stable core environment. The system is distinguished by its deep optimization for portable gaming devices, featuring dedicated handheld hardware management for CPU undervolting, fan control, and display refresh rate overclocking. It includes a specialized gaming mode that boots directly into a console-like interface with integrated input mapping and a t
Cylon is a JavaScript robotics framework and hardware abstraction layer designed for controlling robots, drones, and IoT devices. It functions as an IoT device orchestrator that translates high-level JavaScript commands into hardware signals and manages multiple sensors and components concurrently. The system utilizes a modular architecture of drivers and adaptors to normalize diverse hardware signals into a unified programming interface. It enables the deployment of hardware control logic across various environments, including web browsers and mobile applications, through cross-platform bund
Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT applications. It provides a hardware abstraction layer with standardized drivers to interact with GPIO, I2C, SPI, and PWM interfaces across various single-board computers and microcontrollers. The framework functions as an IoT device orchestrator and BLE device manager, enabling the coordination of multiple sensors, actuators, and Bluetooth Low Energy peripherals. It includes specialized interfaces for drone control, allowing for the management of flight maneuvers and video streams
IREE is an MLIR-based compiler toolchain and runtime designed to translate machine learning models from various frameworks into optimized binaries for execution across diverse hardware targets. It provides a unified pipeline to ingest models from PyTorch, TensorFlow, JAX, and ONNX, lowering them into a common intermediate representation for deployment on CPUs, GPUs, and bare-metal embedded systems. The project distinguishes itself through a bytecode virtual machine and a hardware abstraction layer that decouple high-level model logic from specific hardware instruction sets. It supports sophis
LibreHardwareMonitor is a .NET library and system health monitoring tool for Windows. It provides a programmatic hardware sensor API and a low-level interface to access real-time temperature, voltage, and fan speed data from computer hardware components. The project serves as a bridge between Windows operating system calls and physical sensors, allowing for the monitoring of processors, graphics cards, motherboards, storage devices, and network adapters. This enables the tracking of system stability and the collection of environmental changes across various hardware components. The software
This project is an OpenWrt firmware build system and embedded Linux build tool designed to create customized router firmware images for NanoPi hardware. It functions as a network OS customization kit, providing a structured environment for compiling tailored operating system images that integrate specific drivers, packages, and kernel optimizations. The system distinguishes itself through deep hardware and performance tuning, including kernel-space flow offloading for traffic acceleration and symmetric multiprocessing interrupt balancing to prevent single-core processing bottlenecks. It enabl
liquidctl is a command line interface and set of Python drivers used to monitor and control liquid cooling hardware. It functions as a liquid cooler controller, hardware telemetry tool, and RGB lighting controller, providing a unified way to manage temperatures, fan speeds, and pump rates for all-in-one and custom loop cooling systems. The project provides a Python hardware driver that enables programmatic control and telemetry collection without relying solely on the command line. It allows for the configuration of device lighting using standard RGB, HSV, and HSL formats. The system include
This repository provides the Android device kernel and the corresponding Linux kernel source tree. It serves as the foundational codebase for managing the hardware architecture and power management of mobile devices. The project includes a comprehensive mobile hardware driver set designed to manage device-specific components, such as CPUs, GPUs, and cellular modems. The source code supports activities including Android kernel customization, custom ROM development, Linux kernel auditing, and mobile driver development.
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
BetterDisplay is a comprehensive display management utility and virtual display engine designed to provide granular control over monitor configurations. It functions as a low-level hardware controller that interacts directly with graphics drivers and system APIs to override manufacturer limitations, enabling users to manage resolution, scaling, brightness, and color profiles across complex multi-monitor setups. The project distinguishes itself through its ability to generate synthetic virtual displays and inject custom framebuffers into the graphics pipeline, allowing for arbitrary resolution
This project provides a development framework for writing loadable Linux kernel modules using the Rust programming language. It establishes a methodology for safe systems programming by enforcing memory and thread safety within the restricted execution environment of the kernel, allowing developers to extend operating system functionality while preventing common memory corruption errors. The framework distinguishes itself through automated generation of type-safe foreign function interfaces, which bridge high-level code with low-level kernel headers and system structures. It maps high-level s