Package Details: linux-xanmod 5.11.1-1

Git Clone URL: https://aur.archlinux.org/linux-xanmod.git (read-only, click to copy)
Package Base: linux-xanmod
Description: The Linux kernel and modules with Xanmod patches
Upstream URL: http://www.xanmod.org/
Licenses: GPL2
Submitter: Yoshi2889
Maintainer: figue (figuepluto, jfigueras)
Last Packager: figue
Votes: 65
Popularity: 3.51
First Submitted: 2017-02-14 09:40
Last Updated: 2021-02-23 17:41

Pinned Comments

figue commented on 2018-12-14 00:50

This package have several variables to enable/disable features.

##
## The following variables can be customized at build time. Use env or export to change at your wish
##
##   Example: env _microarchitecture=99 use_numa=n use_tracers=n use_pds=n makepkg -sc
##
## Look inside 'choose-gcc-optimization.sh' to choose your microarchitecture
## Valid numbers between: 0 to 99
## Default is: 0 => generic
## Good option if your package is for one machine: 99 => native
if [ -z ${_microarchitecture+x} ]; then
  _microarchitecture=0
fi

## Disable NUMA since most users do not have multiple processors. Breaks CUDA/NvEnc.
## Archlinux and Xanmod enable it by default.
## Set variable "use_numa" to: n to disable (possibly increase performance)
##                             y to enable  (stock default)
if [ -z ${use_numa+x} ]; then
  use_numa=y
fi

## For performance you can disable FUNCTION_TRACER/GRAPH_TRACER. Limits debugging and analyzing of the kernel.
## Stock Archlinux and Xanmod have this enabled. 
## Set variable "use_tracers" to: n to disable (possibly increase performance)
##                                y to enable  (stock default)
if [ -z ${use_tracers+x} ]; then
  use_tracers=y
fi

## Enable Cachy CPU scheduler by default https://github.com/xanmod/linux/blob/5.8/Documentation/scheduler/sched-Cachy.rst
## Set variable "use_cachy" to: n to disable (stock Xanmod)
##                              y to enable
if [ -z ${use_cachy+x} ]; then
  use_cachy=n
fi

## Enable CONFIG_USER_NS_UNPRIVILEGED flag https://aur.archlinux.org/cgit/aur.git/tree/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch?h=linux-ck
## Set variable "use_ns" to: n to disable (stock Xanmod)
##                           y to enable (stock Archlinux)
if [ -z ${use_ns+x} ]; then
  use_ns=n
fi

# Compile ONLY used modules to VASTLYreduce the number of modules built
# and the build time.
#
# To keep track of which modules are needed for your specific system/hardware,
# give module_db script a try: https://aur.archlinux.org/packages/modprobed-db
# This PKGBUILD read the database kept if it exists
#
# More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db
if [ -z ${_localmodcfg} ]; then
  _localmodcfg=n
fi

Personally I'm running now xanmod kernel compiled with this:

env _microarchitecture=99 use_numa=n use_tracers=n use_ns=y _localmodcfg=y makepkg -si

Also, you can now create the file myconfig in your local repo to build this package with a custom config or use ${XDG_CONFIG_HOME}/linux-xanmod/myconfig. This file can be a full kernel config or be a script with several entries to add/remove options (you have several examples in PKGBUILD by using scripts/config):

Code involved:

  for _myconfig in "${startdir}/myconfig" "${XDG_CONFIG_HOME}/linux-xanmod/myconfig" ; do
    if [ -f "${_myconfig}" ]; then
      if grep -q 'scripts/config' "${_myconfig}"; then
        # myconfig is a partial file. Executing as a script
        msg2 "Applying myconfig..."
        bash -x "${_myconfig}"
      else
        # myconfig is a full config file. Replacing default .config
        msg2 "Using user CUSTOM config..."
        cp -f "${_myconfig}" .config
      fi
      echo
    fi
  done

Latest Comments

1 2 3 4 5 6 ... Next › Last »

cartesius commented on 2021-02-23 16:17

@vpont same here... ~181 modules modprobed and size ~13 M. It's OK.

9,0M vmlinuz-linux
8,9M vmlinuz-linux-lts
 13M vmlinuz-linux-xanmod-lts
9,5M vmlinuz-linux-zen

figue commented on 2021-02-08 17:52

@vpont I think it's because XanMod config includes less modules than arch's config.

vpont commented on 2021-02-08 16:59

How's it possible that, even with modprobed' compiled kernel, the final xanmod kernel is bigger than the generic one?

9,0M   /boot/vmlinuz-linux
6,2M   /boot/vmlinuz-linux-lts
13M    /boot/vmlinuz-linux-xanmod

figue commented on 2021-02-06 16:07

@sahilbest999 please follow the official wiki page to configure modprobed-db:

https://wiki.archlinux.org/index.php/Modprobed-db

Probably your database is not generated properly.

frostwork commented on 2021-02-06 11:51

@sahilbest999 Probably not a xanmod problem as well. Have you checked if the new initramfs was properly created when you installed the new kernel?

sahilbest999 commented on 2021-02-06 11:08

@frostwork yea, sry didn't read documentation properly

But I've ran into another issue, I've built it and also installed it, so when I try to boot it shows me a error saying -

mount: /new_root: can't find UUID=<SOME UUID CODE> You are now being dropped into an emergency shell. sh: can't access tty;job control turned off

And thank you for quick reply

frostwork commented on 2021-02-06 09:07

@sahilbest999 It is an optional package which you need to setup first: https://wiki.archlinux.org/index.php/Modprobed-db

figue commented on 2021-01-30 18:50

WARNING: I've added 2 new microarchitectures. From now, native will be 99. Check the script choose-gcc-optimization.sh for all details.

frostwork commented on 2021-01-27 10:22

Thanks for the quick reply @figue and kudos to @nloewen for the suggestion!

figue commented on 2021-01-27 10:19

@frostwork yes, it works. I've been compiling a couple of kernels with ${XDG_CONFIG_HOME}/linux-xanmod/myconfig and it's fine. Thanks again for the suggestion.