The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms...
Linux GPU Drivers from Scratch is a comprehensive engineering guide to designing, implementing, debugging, and validating modern Linux GPU drivers at the kernel level.
The book takes a ground-up approach to the Linux graphics stack, beginning with the architecture of the Direct Rendering Manager and progressing through hardware interfaces, display pipelines, memory management, command execution, synchronization, scheduling, virtualization, power management, security, diagnostics, and production readiness.
Minimum price
$28.55
$28.55
About the Book
Linux GPU Drivers from Scratch is a comprehensive engineering guide to designing, implementing, debugging, and validating modern Linux GPU drivers at the kernel level.
The book takes a ground-up approach to the Linux graphics stack, beginning with the architecture of the Direct Rendering Manager and progressing through hardware interfaces, display pipelines, memory management, command execution, synchronization, scheduling, virtualization, power management, security, diagnostics, and production readiness.
You will learn how a Linux GPU driver communicates with real hardware through PCIe, MMIO, interrupts, DMA engines, firmware interfaces, command rings, and GPU virtual memory systems. The book explains how these low-level mechanisms are integrated into the Linux kernel through DRM, KMS, GEM, TTM, DMA-BUF, GPU schedulers, synchronization frameworks, and related subsystems.
The book also covers the complete display and modesetting pipeline, including CRTCs, encoders, connectors, planes, framebuffers, EDID handling, hotplug detection, atomic modesetting, VBLANK handling, page flipping, pixel formats, and color management.
Memory management receives extensive treatment, covering dedicated VRAM, system memory, BAR mappings, scatter-gather allocations, DMA-BUF sharing, TTM placement and eviction, GPU page tables, GART architectures, per-process address spaces, TLB management, shared virtual memory, heterogeneous memory management, and page migration.
The execution side of the GPU stack is explored in similar depth. Topics include command stream protocols, ring buffers, doorbells, indirect buffers, job scheduling, dependency graphs, DMA fences, synchronization timelines, execution contexts, priority management, GPU preemption, hang detection, engine resets, context recovery, and job re-submission.
Beyond the kernel core, the book examines how userspace drivers interact with DRM interfaces and how Mesa integrates with the kernel through Gallium3D and Vulkan-oriented interfaces. It also addresses runtime power management, dynamic voltage and frequency scaling, thermal controls, IOMMU protection, DMA isolation, protected buffers, SR-IOV virtualization, and GPU partitioning.
A dedicated debugging and validation track covers debugfs, DRM tracepoints, dynamic debug, register snapshots, hardware error dumps, post-mortem diagnostics, and automated validation with IGT GPU Tools. The book concludes with the construction of a functional software-emulated DRM GPU driver and a production-readiness chapter covering upstreaming, maintenance, and Linux kernel API stability.
This book is designed for systems programmers, Linux kernel developers, GPU engineers, graphics infrastructure engineers, driver developers, embedded engineers, and advanced software engineers who want to understand what actually happens between GPU hardware, the Linux kernel, and userspace graphics software.
Rather than treating GPU drivers as black-box components, Linux GPU Drivers from Scratch presents the architecture as a set of concrete engineering mechanisms that can be studied, implemented, debugged, and extended.
The result is a practical technical reference for understanding modern Linux GPU driver development from first principles to production-oriented kernel integration.
About the Author
I am an independent technology developer and systems engineer who built my technical path largely through self-directed engineering, experimentation, and continuous learning outside a traditional academic or corporate technology career.
My professional background began far from the technology industry. I spent years working in manufacturing, while independently developing my knowledge of software engineering, computer systems, and advanced computing. Over time, that self-directed work evolved into a broad technical practice spanning autonomous AI, cybersecurity, systems programming, GPU computing, automation, and advanced computational architectures.
Today, I design, build, and publish projects involving agentic AI, autonomous defense systems, SIEM/EDR integration, secure software architecture, C/C++, Go, Python, CUDA, quantum computing, cryptography, and privacy-oriented local AI infrastructure.
I approach technology from a systems perspective — from low-level software, memory architecture, and GPU performance to distributed systems, intelligent agents, and high-assurance security architectures.
I also explore aerospace and high-assurance software concepts, including safety-critical architectures, multi-level security, cross-domain solutions, and advanced computational systems.
Alongside active development, I publish long-form engineering projects covering AI, cybersecurity, cloud engineering, quantum computing, GPU programming, cryptography, automation, blockchain, and aerospace engineering.
My current focus is on autonomous software agents, privacy-first local infrastructure, advanced computing, and reliable systems designed to operate with a high degree of independence.
I am open to opportunities involving AI engineering, cybersecurity, software engineering, autonomous systems, HPC/GPU computing, and advanced technology development.
https://businessofmachines.blogspot.com/
https://learn.microsoft.com/en-us/users/machinadeusex/
https://github.com/porucznikswext-source
Click the buttons to get the free sample in PDF or EPUB, or read the sample online here
Also by the Author
Mastering NVIDIA CUDA: Expert GPU Programming
CUDA C++: High-Performance GPU Programming
The Local AI Stack: Building a Sovereign Machine Learning Workstation with Hyper-V, WSL2, and GPU Virtualization
From Companion to Control: Weaponizing AI
Engineering Sovereign LLMs: From Data to Deployment
Coding CERN: A Technical Developer's Guide
High-Performance Real-Time Systems in .NET
Blockchain Security: Attack and Defense
Building Advanced Algorithmic Crypto Trading Systems
Smart Contract Security: Finding DeFi Vulnerabilities
Agentic Cybersecurity: Engineering Autonomous AI Defense
Advanced Aerospace Engineering: Lockheed & Partners
Mastering AWS: Advanced Python Engineering
Engineering Sovereign Dark Mesh Networks
Advanced Cryptography: Professional Implementation Handbook
Advanced Automation: 50-Chapter Master Script Package
The Quantization Black Book
The Solana MEV Playbook: Building High-Frequency Arbitrage and MEV Bots in Rust
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms...
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earned over $15 million writing, publishing and selling on Leanpub.
Learn more about writing on Leanpub
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!
Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.
Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.