standard-readme compliant Donate with Bitcoin Donate with Ethereum

Dragon is a distro kernel replacement built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads. These kernels are not supported and are not appropriate for production use. You assume all risks associated with the use of this kernel.

Dragon Kernel

 The vanilla Linux kernel is a solid, high-quality Ford, Dragon Linux kernel is the latest Porsche model.
Each person has a choice and desires... (c) Andy Lavr


By default, Ubuntu systems run with the Ubuntu kernels provided by the Ubuntu repositories. However it is handy to be able to test with modified upstream kernels to help locate problems in the Ubuntu kernel patches, or to confirm that upstream has fixed a specific issue. To this end i now offer select upstream kernel builds. These kernels are made from modified kernel source but using the Ubuntu kernel configuration files. These are then packaged as Ubuntu .deb files for simple installation.

Ubuntu’s stock Linux kernel is fine for most users, but because Ubuntu follows a six-month release cycle, their kernels are always a release or three behind upstream. This can cause problems for users attempting to install Ubuntu on brand new hardware, or worse, force ultra-nerds to wait to play with the latest and greatest new kernel features!

All workstations that I use today — a MSI GT80-2QE-Titan-SLI (Broadwell), Dell Inspiron N5010 (Westmere), Toshiba Satellite Click 10 LX0W-C - C64M (Atom Cherry Trail) and Acer Aspire SW5-012/Fendi2 Z3537F (Atom) - boots Dragon kernels instead. Dragon’s kernels mirror the upstream development cycle, and as a bonus, include a number of exciting optimizations and patches to improve performance and expose up-and-coming features.

One recent patch pulls in the ability to utilize architecture-specific GCC optimizations when compiling a kernel. In general, compiler optimizations may not have much effect on runtime performance, however with something as foundational as a kernel, tiny improvements might add up quickly.

The Linux kernel is a very large piece of software. It contains drivers and special handling for all sorts of disparate hardware combinations. By and large, this is a good thing; it allows all sorts of different machines to boot a Linux kernel without undo fiddling. Pre-compiled kernels — like Ubuntu stock or Dragon — keep most of this code around because they cannot anticipate the kind of hardware their users might be using.

Main Features:

New features Dragon kernel distribution with custom settings:


Linux X64 (AMD64/EM64T) display kernel module

Full information is driver version 390.87 here - (Nvidia Main site)

Dragon Linux Team provide their own packages of the NVIDIA Linux Graphics Driver in the distribution’s native package management format. This may interact better with the rest of your distribution’s framework, and you may want to use this rather than NVIDIA’s official package.

  • The modules nvidia* version 390.87 is integrated into the kernel.


Full security support:

  • Indirect Branch Restricted Speculation (IBRS)
  • Indirect Branch Prediction Barrier (IBPB)
  • L1TF/Foreshadow Mitigations


The Ultra Kernel Samepage Merging feature (UKSM)

  • This is an improvement upon (KSM). Some basic data structures and routines are borrowed from KSM.

Its new features:

  1. Full system scan: It automatically scans all user processes’ anonymous VMAs. Kernel-user interaction to submit a memory area to KSM is no longer needed.

  2. Rich area detection: It automatically detects rich areas containing abundant duplicated pages based. Rich areas are given a full scan speed. Poor areas are sampled at a reasonable speed with very low CPU consumption.

  3. Ultra Per-page scan speed improvement: A new hash algorithm is proposed. As a result, on a machine with Core(TM)2 Quad Q9300 CPU in 32-bit mode and 800MHZ DDR2 main memory, it can scan memory areas that does not contain duplicated pages at speed of 627MB/sec ~ 2445MB/sec and can merge duplicated areas at speed of 477MB/sec ~ 923MB/sec.

  4. Thrashing area avoidance: Thrashing area(an VMA that has frequent Ksm page break-out) can be filtered out. My benchmark shows it’s more efficient than KSM’s per-page hash value based volatile page detection.

  5. Misc changes upon KSM:

  • It has a fully x86-opitmized memcmp dedicated for 4-byte-aligned page comparison. It’s much faster than default C version on x86.
  • rmap_item now has an struct *page member to loosely cache a address–>page mapping, which reduces too much time-costly follow_page().
  • The VMA creation/exit procedures are hooked to let the Ultra KSM know.
  • try_to_merge_two_pages() now can revert a pte if it fails. No break_ ksm is needed for this case.
  1. Full Zero Page consideration(contributed by Figo Zhang) Now uksmd consider full zero pages as special pages and merge them to an special unswappable uksm zero page.



OpenZFS is an outstanding storage platform that encompasses the functionality of traditional filesystems, volume managers, and more, with consistent reliability, functionality and performance.

  • The module OpenZFS is integrated into the kernel.

Warning! This kernel implement OpenZFS version 0.7.12.

Packages for this version strictly install from my repository!

To install OpenZFS, head to a terminal and run the following command:

$ sudo add-apt-repository ppa:wip-kernel/openzfs
$ sudo apt-get update
$ sudo apt install zfsutils-linux
$ sudo apt purge zfs-dkms
$ sudo reboot


Advanced multi layered Unification File System (AUFS)

AUFS (short for advanced multi-layered unification filesystem) implements a union mount for Linux file systems. The name originally stood for AnotherUnionFS until version 2.

  • The module AUFS is integrated into the kernel.


Apple File System (APFS)

Apple File System (APFS) is a proprietary file system for macOS High Sierra and later version.

  • The module APFS (read only) is integrated into the kernel.


exFAT - Extended File Allocation Table (exFAT)

Linux read/write kernel driver for the exFAT(FAT64), FAT12, FAT16 and vfat (FAT32) file systems

exFAT can be used where NTFS is not a feasible solution (due to data-structure overhead), but a greater file-size limit than the standard FAT32 file system (i.e. 4 GiB) is required. exFAT has been adopted by the SD Card Association as the default file system for SDXC cards larger than 32 GiB.

  • The module (exFAT v1.2.24-dragon) is integrated into the kernel.

  • Full adaptation to Kernel 4.20.y

  • Support exFat capacity more than 2TB

Enable exFAT module and install exfat-utils:

Add to /etc/initramfs-tools/modules:


For filesystem creation and manipulation beyond that of the mount command it is necessary to install the exfat-utils package:

$ sudo add-apt-repository ppa:wip-kernel/exfat-utils
$ sudo apt-get update
$ sudo apt install exfat-utils
$ sudo apt purge exfat-fuse

Usage, formatting:

To create an exFAT file system, use mkfs.exfat (or the mkexfatfs command, which is synonymous):

root# mkfs.exfat
mkexfatfs 1.3.0
Usage: mkfs.exfat [-i volume-id] [-n label] [-p partition-first-sector] [-s sectors-per-cluster] [-V] <device>

For instance, to create it on a removable device present at /dev/sde1 while assigning "Flash" as the file system label:

root# mkfs.exfat -n Flash /dev/sde1

LKRG - Linux Kernel Runtime Guard

Linux Kernel Runtime Guard (LKRG)

Linux Kernel Runtime Guard (LKRG) is a loadable kernel module that performs runtime integrity checking of the Linux kernel and detection of security vulnerability exploits against the kernel.

  • The module LKRG is integrated into the kernel.

Linux Test Project

Kernel tested by - Linux Test Project

Linux Test Project is a joint project started by SGI, developed and maintained by IBM, Cisco, Fujitsu, SUSE, Red Hat and others, that has a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The LTP testsuite contains a collection of tools for testing the Linux kernel and related features.

Install Dragon Kernel


Update Intel microcode for use IBRS/IBPB:



Sources are on Launchpad. You can see and check them. From these sources, buildbox Launchpad builds packages in a clean environment. Everything is officially and verified by Launchpad and Canonical.

Source in the project page menu, click Code

Source code direct link

Install the packages from Launchpad PPA “Linux WIP-Kernel” Team:


 You can only use kernel packages that are in PPA if you have a Dragon Team license key!
Without registering with the Dragon Team you need to do the build kernel packages yourself.
If you do not register at Dragon Team, the kernel installed from the PPA will work for only 15 minutes ...

Quick install

For Dragon GENERIC kernel:

$ sudo add-apt-repository ppa:wip-kernel/generic
$ sudo apt-get update
$ sudo apt install linux-headers-4.20.11-dragon linux-headers-4.20.11-dragon-generic linux-image-unsigned-4.20.11-dragon-generic linux-modules-4.20.11-dragon-generic linux-modules-extra-4.20.11-dragon-generic
$ sudo reboot

For Dragon Lowlatency kernel:

$ sudo add-apt-repository ppa:wip-kernel/generic
$ sudo apt-get update
$ sudo apt install linux-headers-4.20.11-dragon linux-headers-4.20.11-dragon-lowlatency linux-image-unsigned-4.20.11-dragon-lowlatency linux-modules-4.20.11-dragon-lowlatency linux-modules-extra-4.20.11-dragon-lowlatency
$ sudo reboot

For Dragon Westmere kernel:

$ sudo add-apt-repository ppa:wip-kernel/wip-kernel-release
$ sudo apt-get update
$ sudo apt install linux-headers-4.20.11-dragon linux-headers-4.20.11-dragon-westmere linux-image-unsigned-4.20.11-dragon-westmere linux-modules-4.20.11-dragon-westmere linux-modules-extra-4.20.11-dragon-westmere
$ sudo reboot

For Dragon Atom kernel:

$ sudo add-apt-repository ppa:wip-kernel/wip-kernel-release
$ sudo apt-get update
$ sudo apt install linux-headers-4.20.11-dragon linux-headers-4.20.11-dragon-atom linux-image-unsigned-4.20.11-dragon-atom linux-modules-4.20.11-dragon-atom linux-modules-extra-4.20.11-dragon-atom
$ sudo reboot

  • Ready packages are build as they become update and fixed the source

Copyright © 1966-2019 AndyLavr All rights reserved.