Package Base Details: linux-xanmod

Git Clone URL: https://aur.archlinux.org/linux-xanmod.git (read-only, click to copy)
Submitter: Yoshi2889
Maintainer: figue (figuepluto, jfigueras)
Last Packager: figue
Votes: 127
Popularity: 1.27
First Submitted: 2017-02-14 09:40 (UTC)
Last Updated: 2024-05-04 08:02 (UTC)

Pinned Comments

figue commented on 2018-12-14 00:50 (UTC) (edited on 2023-02-27 20:00 (UTC) by figue)

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=98 use_numa=n use_tracers=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: 98 (Intel native) or 99 (AMD 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

## Since upstream disabled CONFIG_STACK_TRACER (limits debugging and analyzing of the kernel)
## you can enable them setting this option. Caution, because they have an impact in performance.
## Stock Archlinux has this enabled. 
## Set variable "use_tracers" to: n to disable (possibly increase performance, XanMod default)
##                                y to enable  (Archlinux default)
if [ -z ${use_tracers+x} ]; then
  use_tracers=n
fi

# Unique compiler supported upstream is GCC
## Choose between GCC and CLANG config (default is GCC)
## Use the environment variable "_compiler=clang"
if [ "${_compiler}" = "clang" ]; then
  _compiler_flags="CC=clang HOSTCC=clang LLVM=1 LLVM_IAS=1"
fi

# Choose between the 4 main configs for stable branch. Default x86-64-v1 which use CONFIG_GENERIC_CPU2:
# Possible values: config_x86-64-v1 (default) / config_x86-64-v2 / config_x86-64-v3 / config_x86-64-v4
# This will be overwritten by selecting any option in microarchitecture script
# Source files: https://github.com/xanmod/linux/tree/5.17/CONFIGS/xanmod/gcc
if [ -z ${_config+x} ]; then
  _config=config_x86-64-v1
fi

# Compress modules with ZSTD (to save disk space)
if [ -z ${_compress_modules+x} ]; then
  _compress_modules=n
fi

# Compile ONLY used modules to VASTLY reduce 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

# Tweak kernel options prior to a build via nconfig
if [ -z ${_makenconfig} ]; then
  _makenconfig=n
fi

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

env _microarchitecture=98 use_tracers=n use_numa=n _localmodcfg=y _compress_modules=y makepkg -sic

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 "${SRCDEST}/myconfig" "${HOME}/.config/linux-xanmod/myconfig" "${XDG_CONFIG_HOME}/linux-xanmod/myconfig" ; do
    if [ -f "${_myconfig}" ] && [ "$(wc -l <"${_myconfig}")" -gt "0" ]; 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
      break
    fi
  done

Latest Comments

« First ‹ Previous 1 .. 30 31 32 33 34 35 36 37 38 39 40 .. 51 Next › Last »

figue commented on 2020-07-14 23:30 (UTC) (edited on 2020-07-14 23:55 (UTC) by figue)

@romulasry zstd compression is already included to xanmod kernel. You can activate by default setting CONFIG_KERNEL_ZSTD in build time.

You can use myscript file, just create that file and add:

scripts/config --enable CONFIG_KERNEL_ZSTD
scripts/config --disable CONFIG_KERNEL_LZ4

I haven't tested, but should do the trick.

romulasry commented on 2020-07-14 02:20 (UTC)

You want to make a zstd version or add it to this, here are the patches: https://sourceforge.net/projects/xanmod/files/patches/linux-5.7.y-xanmod/kernel_zstd/

laclica commented on 2020-06-24 16:32 (UTC) (edited on 2020-06-24 16:33 (UTC) by laclica)

@atxnor try the package nvidia-beta-all. i can confirm that that one properly work on both a gtx 960 and on the RTX 2060 KO and provides nvidia=440.82 and nvidia-beta=440.82. hope that help's.

atxnor commented on 2020-06-23 14:04 (UTC) (edited on 2020-06-23 14:04 (UTC) by atxnor)

can't build NVIDIA prop driver 440.82 with xanmod-5.7

figue commented on 2020-06-11 19:02 (UTC)

@francois072 I have VirtualBox host on my computer, and modules build fine:

figue@pluto ~ % uname -a
Linux pluto 5.7.2-xanmod1-1-xanmod #1 SMP PREEMPT Thu, 11 Jun 2020 12:13:31 +0000 x86_64 GNU/Linux
figue@pluto ~ % lsmod | grep vbox
vboxnetflt             32768  0
vboxnetadp             28672  0
vboxdrv               503808  2 vboxnetadp,vboxnetflt

I'm using virtualbox-host-dkms package.

<deleted-account> commented on 2020-06-11 16:47 (UTC)

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please try setting it up again by executing

'/sbin/vboxconfig'

as root.

If your system has EFI Secure Boot enabled you may also need to sign the kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see your Linux system's documentation for more information.

where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT.

<deleted-account> commented on 2020-06-11 16:44 (UTC)

@figue yes it does still boot and function normal. Just thought I would inform the maintainer of the error. Also I have the virtualbox modules installed and virtualbox does function with the stock kernel but I get an error when using xanmod.

I used your recommended "env use_tracers=n use_numa=n use_pds=y use_ns=y makepkg -s" when compiling the kernel just now. I would like to let Manjaro's Pamac automatically compile the kernel as you suggested but I'm not sure how to do that. I did see your "Reference"

figue commented on 2020-06-11 16:23 (UTC)

@francois072 does it boot even with the warning? By default, XanMod's config has some configs integrated in kernel image and not as module. mkinitcpio tries to load all modules to boot in the initrd, but it output a warning in that case.

See FS#65725

<deleted-account> commented on 2020-06-11 07:03 (UTC)

==> Starting build: 5.7.1-xanmod1-1-xanmod -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [modconf] -> Running build hook: [block] -> Running build hook: [keyboard] -> Running build hook: [keymap] -> Running build hook: [filesystems] cp: cannot stat '(builtin)': No such file or directory ==> Generating module dependencies ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-xanmod-fallback.img ==> WARNING: errors were encountered during the build. The image may not be complete. Error while configuring Error: command failed to execute correctly Updating Grub-Bootmenu Generating grub configuration file ... Found theme: /usr/share/grub/themes/manjaro/theme.txt Found linux image: /boot/vmlinuz-linux-xanmod Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux-xanmod.img Found initrd fallback image: /boot/initramfs-linux-xanmod-fallback.img Found linux image: /boot/vmlinuz-5.7-x86_64 Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.7-x86_64.img Found initrd fallback image: /boot/initramfs-5.7-x86_64-fallback.img Found linux image: /boot/vmlinuz-5.6-x86_64 Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.6-x86_64.img Found initrd fallback image: /boot/initramfs-5.6-x86_64-fallback.img Found memtest86+ image: /boot/memtest86+/memtest.bin done Restore Linux kernel modules

figue commented on 2020-06-05 23:20 (UTC)

@andreao I think CONFIG_SCHED_BMQ is not included in XanMod... Feel free to fork this package if you want to apply more patches. But if upstream will include that scheduler, I'll add an option to enable.