{"id":13672640,"url":"https://github.com/CachyOS/linux-cachyos","last_synced_at":"2025-04-27T22:32:29.307Z","repository":{"id":38775900,"uuid":"415603044","full_name":"CachyOS/linux-cachyos","owner":"CachyOS","description":"Archlinux Kernel based on different schedulers and some other performance improvements.","archived":false,"fork":false,"pushed_at":"2025-04-20T17:47:33.000Z","size":12555,"stargazers_count":1221,"open_issues_count":11,"forks_count":44,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-04-22T09:21:41.507Z","etag":null,"topics":["archlinux","baby-sched","cachy","cachy-scheduler","cachyos","cacule-sched","kernel","linux-kernel","performance","performance-tuning"],"latest_commit_sha":null,"homepage":"https://cachyos.org","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CachyOS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"patreon":"CachyOS","custom":["https://paypal.me/pttrr"]}},"created_at":"2021-10-10T14:04:59.000Z","updated_at":"2025-04-21T17:19:49.000Z","dependencies_parsed_at":"2023-12-23T22:21:28.922Z","dependency_job_id":"0c7dfe86-b959-453a-b9b6-d4307a78c9ba","html_url":"https://github.com/CachyOS/linux-cachyos","commit_stats":{"total_commits":1364,"total_committers":21,"mean_commits":64.95238095238095,"dds":"0.48607038123167157","last_synced_commit":"5fd0b935770f2cc5d40c699aa8ac50a479305acc"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CachyOS%2Flinux-cachyos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CachyOS%2Flinux-cachyos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CachyOS%2Flinux-cachyos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CachyOS%2Flinux-cachyos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CachyOS","download_url":"https://codeload.github.com/CachyOS/linux-cachyos/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250239337,"owners_count":21397673,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archlinux","baby-sched","cachy","cachy-scheduler","cachyos","cacule-sched","kernel","linux-kernel","performance","performance-tuning"],"created_at":"2024-08-02T09:01:42.813Z","updated_at":"2025-04-27T22:32:29.300Z","avatar_url":"https://github.com/CachyOS.png","language":"Shell","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/CachyOS/calamares-config/blob/grub-3.2/etc/calamares/branding/cachyos/logo.png\" width=\"64\" alt=\"CachyOS logo\"\u003e\u003c/img\u003e\n  \u003cbr/\u003e\n  \u003ch1 align=\"center\"\u003eCachyOS\u003c/h1\u003e\n  \u003cp align=\"center\"\u003eCachyOS provides enhanced kernels that offer improved performance and other benefits.\u003c/p\u003e\n\u003c/div\u003e\n\n\n- [General Information about kernels](#general-information-about-kernels)\n  - [linux-cachyos](#linux-cachyos)\n  - [Features](#features)\n- [CachyOS repositories](#cachyos-repositories)\n  - [How to add CachyOS repositories](#how-to-add-cachyos-repositories)\n  - [Check CPU compatibility](#check-cpu-compatibility)\n  - [Uninstalling CachyOS repositories](#uninstalling-cachyos-repositories)\n  - [Install SCX schedulers](#install-scx-schedulers)\n- [Other GNU/Linux distributions](#other-gnulinux-distributions)\n  - [Gentoo](#gentoo)\n  - [Fedora](#fedora)\n  - [NixOS](#NixOS)\n - [Support](#support)\n\n# General Information about kernels\n## Scheduler Support\n\nWe have provided all these CPU schedulers because each scheduler performs\ndifferently depending on usage. We recommend testing each one to determine\nwhich best suits your specific requirements.\n\n- **([BORE](https://github.com/firelzrd))** **Burst-Oriented Response\nEnhancer** Scheduler by [firelzrd](https://github.com/firelzrd/bore-scheduler)\n`linux-cachyos` / `linux-cachyos-bore`\n\n- **([EEVDF](https://lwn.net/Articles/927530/))** **Earliest Eligible Virtual\nDeadline** - `linux-cachyos-eevdf`\n\n- **([BMQ](https://gitlab.com/alfredchen/linux-prjc))** **BitMap queue CPU\nScheduler** Scheduler by [Alfred Chen](https://gitlab.com/alfredchen) -\n`linux-cachyos-bmq`\n\n\n\u003e [!NOTE]\n\u003e The CachyOS repositories provide prebuilt kernels in three different\n\u003e march versions: `x86-64`, `x86-64-v3`,`x86-64-v4` and `znver4`. The default\n\u003e `linux-cachyos` kernel is compiled with Clang, Thin LTO and uses our AutoFDO + Propeller profile.\n\u003e For this kernel there is a `linux-cachyos-gcc` variant available.\n\n## Features\n### :hammer_and_wrench: Advanced building \u0026 compiling\n\n- Very customizable PKGBUILD with many features and improvements.\n- Auto detection of CPU architecture and setting the appropriate compiler flags.\n- Support for building with GCC or Clang.\n- Choose between 300Hz, 500Hz, 600 Hz ,750Hz and 1000Hz. Defaults to 1000Hz\n- Kernel Control Flow Integrity (kCFI) selectable when using `LLVM`\n- Support for generating and using AutoFDO profiles, which is a PGO-like\noptimization. See more: https://cachyos.org/blog/2411-kernel-autofdo/\n\n### :abacus: CPU enhancements\n\n- 3 different scheduler are supported: `BORE`, `EEVDF` and `BMQ` scheduler\n- AMD P-State Preferred Core / amd-pstate enhancements and fixes from `linux-next`.\n- Support for RT kernel builds with BORE\n- Cachy Sauce `CONFIG_CACHY`, enables various tweaks for the scheduler and other settings\n- Includes patches to improve performance of CRC32 and AES128 crypto.\n\n### :bookmark_tabs: Filesystem \u0026 memory\n\n- ZFS Filesystem support and pre-built modules for our kernels in the repository\n- Support for building NVIDIA modules with some patches. Ready modules for\nbinary kernel builds can be found in the repository.\n- Latest \u0026 improved ZSTD 1.5.6 patch-set\n- KSM patch for proper working of uksmd daemon from pf\n- Memory management tweaks from zen-kernel (compaction, watermark)\n\n### :arrow_heading_down: Other features\n\n- Cherry-picked Clear Linux patches\n- Back-ported patches from `linux-next`\n- ACS Override support\n- AMDGPU: Allow override of min_powercap with `amdgpu_ignore_min_pcap`\n- Steam Deck Patches included - Audio, HW Quirks, HID\n- Rog Ally patches included\n- v4l2loopback modules as default included\n- HDR support enabled\n- Various GCC Optimization flags applied (`-fivopts -fmodulo-sched`)\n- NTSync module support (`NTSYNC=m`)\n- T2 Macbook support as default included\n\n### [Explaination of the kernel variants](https://wiki.cachyos.org/features/kernel)\n\n# [CachyOS repositories](https://mirror.cachyos.org/)\n\nThe repositories contain both Arch Linux and CachyOS packages, which have been\nre-built with flags optimized for performance, stability, and security.\n\n- `znver4` - Dedicated Zen4 optimized repository used for Zen 4 and Zen 5 CPUs\n- `x86-64-v4` - all Arch Linux packages with enhanced compilation flags\n- `x86-64-v3` - all Arch Linux packages with enhanced compilation flags\n- `x86-64` - currently only kernel packages\n\n## How to add CachyOS repositories\n\n### Option 1: Automated Installation of CachyOS repositories\n\nWe've made it easy for you! Simply run the following commands to use our helper\nscript that does all the work for you.  😉\n\nRun the following commands:\n\n1. Get archive with script\n\n```\ncurl -O https://mirror.cachyos.org/cachyos-repo.tar.xz\n```\n\n2. Extract and enter into the archive\n```\ntar xvf cachyos-repo.tar.xz \u0026\u0026 cd cachyos-repo\n```\n\n3. Run script with sudo\n```\nsudo ./cachyos-repo.sh\n```\n\n#### Behaviour of script\n\n1. Script will auto-detect CPU architecture, if CPU has `x86-64-v4` or `x86-64-v3`\nsupport, script will automatically use the repositories, which are optimized\nwith this flag and some other flags.\n\n2. Script will backup your old `pacman.conf`.\n\nFor more information, check out our [GitHub](https://github.com/cachyos) or\njoin our [Discord](https://discord.gg/cachyos-862292009423470592) community.\n\n### Option 2: Manual Installation\n\n1. Add CachyOS signing keys\n\n```\nsudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.com\nsudo pacman-key --lsign-key F3B607488DB35A47\n```\n\n2. Install required packages\n\n\u003e [!CAUTION]\n\u003e Installing the CachyOS Pacman, will install a forked pacman with\n\u003e features added from CachyOS, like \"INSTALLED_FROM\" and an automatic\n\u003e architecture check.\n\u003e\n\u003e Pacman 6.1 added a feature validation feature, which could lead when using the\n\u003e Arch Linux pacman into warnings. We are working with Arch Linux to provide a\n\u003e proper compatibility again.\n\u003e\n\u003e If you want to avoid this, don't add the \"cachyos\" repository, which contains\n\u003e the customized pacman. All other repositories like cachyos-v3, cachyos-v4,\n\u003e cachyos-extra/core-v3/4 are fine to add.\n\n```\nsudo pacman -U 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-keyring-20240331-1-any.pkg.tar.zst' \\\n    'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-mirrorlist-18-1-any.pkg.tar.zst' \\\n    'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-v3-mirrorlist-18-1-any.pkg.tar.zst' \\\n    'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-v4-mirrorlist-6-1-any.pkg.tar.zst' \\\n    'https://mirror.cachyos.org/repo/x86_64/cachyos/pacman-7.0.0.r6.gc685ae6-3-x86_64.pkg.tar.zst'\n```\n\nIf you want to go back to the Arch Linux repositories and had our version of\npacman installed, you will need to run the following command after the rollback\nto avoid getting ``%INSTALLED_DB%`` warnings:\n\n```\nsudo find /var/lib/pacman/local/ -type f -name \"desc\" -exec sed -i '/^%INSTALLED_DB%$/,+2d' {} \\;\n```\n\n## Check CPU compatibility\n\nIf you want to add our repositories manually, you must check the compatibility\nof the CPU with cachyos repositories.\n\n\u003e [!NOTE]\n\u003e If you are using the script above to add CachyOS repositories, you can skip\n\u003e the check.\n\n#### 1. Check support by running the following the command\n\n```\n/lib/ld-linux-x86-64.so.2 --help | grep supported\n```\n\n#### 2. Understanding of command output\n\nPay attention to the following text with brackets. **(supported, searched)**\n\n- If you see `x86-64-v4 (supported, searched)`, that means the **CPU is\ncompatible** and can use **x86-64-v4** instruction set.\n\n- If you see `x86-64-v4`, that means the **CPU is incompatible** and can't use\n**x86-64-v4** instruction set.\n\n#### Example of CPU compatible with x86-64-v4 instruction set\n```\n\u003e /lib/ld-linux-x86-64.so.2 --help | grep supported\n  x86-64-v4 (supported, searched)\n  x86-64-v3 (supported, searched)\n  x86-64-v2 (supported, searched)\n```\n\n### 3. Adding cachyos repositories\nYou need to edit `pacman.conf` and add repositories.\n```\nsudo nano /etc/pacman.conf\n```\n\n#### if your CPU supports `x86-64`, then add only `[cachyos]` repositories\n```\n# cachyos repos\n[cachyos]\nInclude = /etc/pacman.d/cachyos-mirrorlist\n```\n\n#### if your CPU supports `x86-64-v3`, then add `[cachyos-v3]`,`[cachyos-core-v3]`,`[cachyos-extra-v3]` and `[cachyos]`\n```\n# cachyos repos\n## Only add if your CPU does v3 architecture\n[cachyos-v3]\nInclude = /etc/pacman.d/cachyos-v3-mirrorlist\n[cachyos-core-v3]\nInclude = /etc/pacman.d/cachyos-v3-mirrorlist\n[cachyos-extra-v3]\nInclude = /etc/pacman.d/cachyos-v3-mirrorlist\n[cachyos]\nInclude = /etc/pacman.d/cachyos-mirrorlist\n```\n\n#### if your CPU supports `x86-64-v4`, then add `[cachyos-v4]`, `[cachyos-core-v4]`, `[cachyos-extra-v4]` and `[cachyos]`\n```\n# cachyos repos\n## Only add if your CPU does support x86-64-v4 architecture\n[cachyos-v4]\nInclude = /etc/pacman.d/cachyos-v4-mirrorlist\n[cachyos-core-v4]\nInclude = /etc/pacman.d/cachyos-v4-mirrorlist\n[cachyos-extra-v4]\nInclude = /etc/pacman.d/cachyos-v4-mirrorlist\n[cachyos]\nInclude = /etc/pacman.d/cachyos-mirrorlist\n```\n\nFinally, update your system with CachyOS packages:\n\n```\nsudo pacman -Syu\n```\nEnjoy improved system speed with CachyOS packages!\n\n## Debug packages\n\nThis is handled via debuginfod. Just add following file to\n`/etc/debuginfod/cachyos.urls`\n\n```\nhttps://debuginfod.cachyos.org\n```\n\n## Uninstalling CachyOS repositories\n\nSee [Uninstalling Cachyos Repositories](https://wiki.cachyos.org/features/optimized_repos/#uninstalling-cachyos-repositories)\n\n## SCX Schedulers\n\nSee [sched-ext Tutorial](https://wiki.cachyos.org/configuration/sched-ext/)\n\n\u003e [!WARNING]\n\u003e Using sched-ext schedulers is not available when using the\n\u003e ``linux-cachyos-bmq`` kernel.\n\n## Other GNU/Linux distributions\n\n- Complete patch for simple patching on the kernel\n\n- It is planned to implement into our kernel builder from cachyos buildsystem,\nwhich works also on other distributions.\n\n### Gentoo\n\nIts a community maintained ebuild from a user, which can be used for a dynamic\nbuilding right [here](https://github.com/Szowisz/CachyOS-kernels)\n\nOr simply run:\n```\neselect repository add CachyOS-kernels git https://github.com/Szowisz/CachyOS-kernels\nemaint sync -r CachyOS-kernels\n```\n### Fedora\n[Port](https://github.com/CachyOS/copr-linux-cachyos/) of kernel linux-cachyos-bore, linux-cachyos-rt-bore, linux-cachyos-bore-lto and linux-cachyos-lts by [bieszczaders](https://copr.fedorainfracloud.org/coprs/bieszczaders/kernel-cachyos/)\n\nVisit the [COPR page](https://copr.fedorainfracloud.org/coprs/bieszczaders/kernel-cachyos/) for installation instructions and the latest announcements.\n\n### NixOS\n\nNyx does provide a precompiled CachyOS Kernel and a bunch of other interesting packages. This repository is maintained by [chaotic-aur](https://github.com/chaotic-cx)\nJust follow this [README](https://github.com/chaotic-cx/nyx#how-to-use-it)\n\n## Support\n**Discord:** \u003chttps://discord.gg/cachyos-862292009423470592\u003e \u003cbr /\u003e\n**Forum:** \u003chttps://discuss.cachyos.org\u003e \u003cbr /\u003e\n**Telegram:** \u003chttps://t.me/+zCzPX4cAFjk1MTYy\u003e \u003cbr /\u003e\n**Matrix:** \u003chttps://matrix.cachyos.org\u003e \u003cbr /\u003e\n\n## Donations appreciated for maintaining repositories and build server. Thank you for your support!\n**PayPal:** \u003chttps://paypal.me/pttrr\u003e \u003cbr /\u003e\n**Patreon:** \u003chttps://www.patreon.com/CachyOS\u003e \u003cbr /\u003e\n**BTC:** bc1qmwglfchlc335du6pcu6w64cexu7cck0mzhyw42 \u003cbr /\u003e\n**ETH:** 0xc2dc77327F78A7B85Db3941Eb49e74F41E961649 \u003cbr /\u003e\n**LTC:** LgGTwcEBcXqMgNT6XyyNWABMb7dZVtVg9w\n\n## Valueable Contributors\n[firelzrd](https://github.com/firelzrd/bore-scheduler) for the BORE Scheduler \u003cbr /\u003e\n[Arch Linux](https://archlinux.org) for the great linux operating system \u003cbr /\u003e\n[And all other Kernel Developers and Supporters](https://github.com/torvalds/linux) \u003cbr /\u003e\n","funding_links":["https://patreon.com/CachyOS","https://paypal.me/pttrr","https://www.patreon.com/CachyOS"],"categories":["Shell","Resources","archlinux"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCachyOS%2Flinux-cachyos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCachyOS%2Flinux-cachyos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCachyOS%2Flinux-cachyos/lists"}