Dragon Linux Kernel v5 - for desktop and gaming workloads

Dragon Linux Kernel 5.0.7 For Ubuntu Cosmic/Disco

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.

Maximum support for devices operation only if the system is installed
from the (Dragon Live disk).

Dragon Kernel semantic versioning and give your version numbers meaning:

Dragon Kernel no longer uses the stable version of the Linux kernel,
all builds are based only on the mainline version.
major.minor[.maintenance-build]  (Example: 5.0.7-dragon)
major.minor is mainline kernel version, maintenance build
is Dragon kernel version.

INTRODUCTION

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 th
e 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 u
sing 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) 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 perfor
mance, 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 al
l 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 th
e kind of hardware their users might be using.

Main Features:

* Experience a whole new way to interact with your PC like never before.
* Full kernel adaptation to version Ubuntu Cosmic/Disco.
* Full kernel adaptation to build GCC 8.3
* Optimized to take full advantage of high-performance.
* Supports all recent 64-bit versions of Debian and Ubuntu-based systems.
* Tuned CPU for Intel i5/i7/i9/Atom and AMD platform.
* BMQ CPU Scheduler Multi-Queue I/O Block Layer w/ BFQ-MQ for smoothness and responsiveness.
* UKSM - Ultra Kernel Samepage Merging.
* Caching, Virtual Memory Manager and CPU Governor Improvements.
* General-purpose Multitasking Kernel.
* Built on the latest GCC 8.3
* DRM Optimized Performance.
* Intel CPUFreq (P-State passive mode).
* OpenZFS, AUFS, APFS, exFAT, BFQ and Ureadahead support available.

New features Dragon kernel distribution with custom settings:

AVL Interactive Tuning: Tunes the kernel for responsiveness at the cost of throughput and power usage.

BMQ CPU Scheduler: Fair process scheduler for gaming, multimedia, and real-time loads.

Preemptible tree-based hierarchical RCU: RCU implementation for real-time systems.

Hard Kernel Preemption: Most aggressive kernel preemption before requiring real-time patches.
Guarantees responsive system under high intensity mixed workload scenarios.

Budget Fair Queue: Proper disk scheduler optimized for desktop usage, high throughput / low latency.

TCP BBR Congestion Control: Fast congestion control, maximizes throughput, guaranteeing higher speeds than Cubic.

Smaller TX Net Queues: Reduced queue size on network devices to combat buffer bloat.

Ubuntu ureadahead Support: Compatible with Ubuntu’s readahead.

Binary Compatibility Cross Distro: Compatible with Debian Testing and newer as well as latest Ubuntu. Worst case, a package rebuild will be required on older distributions.

Distribution Kernel Drop-in Replacement: Proper distribution style configuration supporting broadest selection of hardware. Paravirtualization options enabled to reduce overhead under virt
ualization.

Minimal Debugging: Minimum number of debug options enabled to increase kernel throughput.

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.

OpenZFS (ZFS)

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 ZFS is integrated into the kernel.

Warning! This kernel implement ZFS version 0.7.y.
Packages for this version strictly install from my repository!

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

$ sudo add-apt-repository ppa:wip-kernel/openzfsv5
$ 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

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 v5.

  • Support exFat capacity more than 2TB

Enable exFAT module and install exfat-utils:

Add to /etc/initramfs-tools/modules:

exfat_core
exfat_fs

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]

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

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 v0.6a is integrated into the kernel.

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 commu
nity 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.

Quick install this kernel:

For Dragon GENERIC kernel:

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

For Dragon Lowlatency kernel:

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

For Dragon Westmere (Only Westmere CPU) kernel:

$ sudo add-apt-repository ppa:wip-kernel/wav5pax
$ sudo apt-get update
$ sudo apt install linux-headers-5.0.7-dragon linux-headers-5.0.7-dragon-westmere linux-image-unsigned-5.0.7-dragon-westmere linux-modules-5.0.7-dragon-westmere linux-modules-extra-5.0.7-drago
n-westmere
$ sudo reboot

For Dragon Atom (Only Atom CPU) kernel:

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

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 Ca
nonical.

Project page (in the project menu, click Code)
Source code (direct link)

“Dragon Linux Kernel”

Best regards, Andy Lavr.

4 Likes

To be reviewed by staff.

@AndyLavr

We appreciate you sharing this information, but editing your post to circumvent the flag while we reviewed your post comes off as suspicious so we have manually unlisted your post.

Please reach out to the @leaders or @moderators if you have any questions.

Hello,

And what is the reason for setting this flag, is there something wrong in my message?

1 Like

New users posting links straight away usually gets flagged because 99% of the time it is spam/malicious.

Essentially, you come out of no where asking people to try out this kernel you made and we don’t know how credible you are so it was flagged for review.

This is not necessarily a bad thing, but we do this to maintain forum security.

5 Likes

Relisted after confirming with OP that everything is in order.

4 Likes

This is cool. I hope this gets more views cause this looks awesome! Wish i knew more about kernels other than very very basic stuff.

Scheduler aside. would a tailor coded kernel make a difference to system performance ?

The kernels job is to get out of the way so programs can use all the CPU not the kernel ?

I do see clear linux does beat out other os’s but it does on zen systems too. Being Intel’s linux

2 Likes

The kernels job is to be the ferry between programs and hardware resources.

Kernel tuning can have large effects depending on the workload. Real-time kernels exist for a reason you know.

1 Like

This is very interesting to me. If it appeals to you, you can optimize the architecture for different generational revisions of Intel chipsets. I’m busy right now but tomorrow I’d be more than happy to teach you how if you don’t already know how. The only problem with going too in depth with optimizations is that kernels will have to have their own images based off of the architecture at some point as there’s no proper way to distinguish rather or not to optimize the kernel for Haswell for example over Ivy Bridge

Normally though, there is no “free lunch”. Normally, you can make responsiveness better at the cost of throughput, or vice versa. Unless the original algorithm was very sub-optimal.

Hello,

I it is possible to build a kernel for a specific CPU architecture, for install from PPA:

  • AMD Improved K8-family
  • AMD K10-family
  • AMD Family 10h (Barcelona)
  • AMD Family 14h (Bobcat)
  • AMD Family 16h (Jaguar)
  • AMD Family 15h (Bulldozer)
  • AMD Family 15h (Piledriver)
  • AMD Family 15h (Steamroller)
  • AMD Family 15h (Excavator) - present in the PPA
  • AMD Family 17h (Zen) - present in the PPA
  • Intel Bonnell family of low-power Atom processors (Bonnell) - present in the PPA
  • Intel Silvermont family of low-power Atom processors (Silvermont) - present in the PPA
  • Intel 1st Gen Core i3 / i5 / i7-family (Nehalem)
  • Intel 1.5 Gen Core i3 / i5 / i7-family (Westmere) - present in the PPA
  • Intel 2nd Gen Core i3 / i5 / i7-family (Sandybridge)
  • Intel 3rd Gen Core i3 / i5 / i7-family (Ivybridge)
  • Intel 4th Gen Core i3 / i5 / i7-family (Haswell)
  • Intel 5th Gen Core i3 / i5 / i7-family (Broadwell)
  • Intel 6th Gen Core i3 / i5 / i7-family (Skylake)
  • Intel 6th Gen Core i7 / i9-family (Skylake X)
  • Intel 8th Gen Core i3 / i5 / i7-family (Cannon Lake) - present in the PPA
  • Intel 8th Gen Core i7 / i9-family (Ice Lake) - present in the PPA
  • Generic x86_84 CPU (GENERIC) - present in PPA

If you’re interested, let me know.

Best regards, Andy Lavr.

New release - 5.0.7-dragon