Package Details: linux-xanmod 6.7.10-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
Provides: KSMBD-MODULE, NTFS3-MODULE, VIRTUALBOX-GUEST-MODULES, WIREGUARD-MODULE
Replaces: virtualbox-guest-modules-arch, wireguard-arch
Submitter: Yoshi2889
Maintainer: figue (figuepluto, jfigueras)
Last Packager: figue
Votes: 127
Popularity: 1.64
First Submitted: 2017-02-14 09:40 (UTC)
Last Updated: 2024-03-15 23:21 (UTC)

Dependencies (14)

Required by (5)

Sources (4)

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 2 3 4 5 6 7 8 9 10 .. 50 Next › Last »

night-crawler commented on 2023-03-26 20:09 (UTC)

@figue I tried this kernel, result is the same:

analyzing CPU 5:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 5
  CPUs which need to have their frequency coordinated by software: 5
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 1.20 GHz - 4.68 GHz
  available frequency steps:  3.30 GHz, 1.30 GHz, 1.20 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 1.20 GHz and 3.30 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 2.76 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: no

figue commented on 2023-03-26 18:29 (UTC)

@night-crawler I'm not sure, because I don't have an AMD cpu. Can you try to install and boot the binary xanmod and try again?

https://aur.archlinux.org/packages/linux-xanmod-linux-bin-x64v3

night-crawler commented on 2023-03-26 11:50 (UTC)

With the linux-xanmod kernel (and starting from about 6, after migrating from linux-xanmod-edge), I have a problem with AMD p-state (ASUS Zephyrus G14 GA401QM).

Linux pik 6.2.8-zen3-xanmod1-1 #1 SMP PREEMPT_DYNAMIC Sun, 26 Mar 2023 11:03:44 +0000 x86_64 GNU/Linux

cpupower frequency-info

analyzing CPU 2:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 2
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 1.20 GHz - 4.68 GHz
  available frequency steps:  3.30 GHz, 1.30 GHz, 1.20 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 1.20 GHz and 3.30 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 1.20 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: no

And the same output for the old linux-xanmod-edge:

Linux pik 6.0.5-zen3-xanmod1-1 #1 SMP PREEMPT_DYNAMIC Mon, 07 Nov 2022 17:39:08 +0000 x86_64 GNU/Linux

cpupower frequency-info

analyzing CPU 10:
  driver: amd-pstate
  CPUs which run at the same hardware frequency: 10
  CPUs which need to have their frequency coordinated by software: 10
  maximum transition latency: 131 us
  hardware limits: 400 MHz - 4.68 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 400 MHz and 4.68 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.34 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
    AMD PSTATE Highest Performance: 166. Maximum Frequency: 4.68 GHz.
    AMD PSTATE Nominal Performance: 117. Nominal Frequency: 3.30 GHz.
    AMD PSTATE Lowest Non-linear Performance: 39. Lowest Non-linear Frequency: 1.10 GHz.
    AMD PSTATE Lowest Performance: 15. Lowest Frequency: 400 MHz.

Both kernels are compiled with these flags:

export _microarchitecture=15
export MAKEFLAGS="-j$(nproc)"
export use_tracers=n
# export _compiler=clang
export _compiler=gcc
export use_numa=y
export _compress_modules=n
export _localmodcfg=n

How can I enable p-state for the current xanmod kernel?

figue commented on 2023-02-27 19:59 (UTC)

@ishitatsuyuki thank you, I'll follow your suggestion and set by default to no, as XanMod has it disabled (arch still has it enabled). I hope all is fine (at least in my system). Can you validate too?

ishitatsuyuki commented on 2023-02-27 05:42 (UTC)

It looks like tracers have been disabled upstream since https://github.com/xanmod/linux/commit/bdce8ad4d2d70bc0ce43c87565a95c3d7bf017c0.

For the tracer option to actually make a difference, I think this should be changed to enable these three options when use_tracers=y (instead of disable):

    scripts/config --enable CONFIG_FTRACE \
                   --enable CONFIG_FUNCTION_TRACER \
                   --enable CONFIG_STACK_TRACER

figue commented on 2023-02-12 15:44 (UTC)

@yangon99 thanks. It will be fixed in next release.

yangon99 commented on 2023-02-12 15:22 (UTC) (edited on 2023-02-12 15:23 (UTC) by yangon99)

hello, it seems there's something wrong with tools/bpf/resolve_btfids

here's the origin line 276 in PKGBUILD:

  # required when DEBUG_INFO_BTF_MODULES is enabled
  if [ -f "$builddir/tools/bpf/resolve_btfids" ]; then install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids ; fi

I think we should change the line into the following pattern:

  # required when DEBUG_INFO_BTF_MODULES is enabled
  if [ -f "tools/bpf/resolve_btfids/resolve_btfids" ]; then install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids ; fi

figue commented on 2023-01-25 19:22 (UTC)

@j1simon

  • It's a kernel feature

  • I think it's here:

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=linux-xanmod#n126

Do makepkg -o and check file .config, in my case the result has:

CONFIG_LOCALVERSION="-skylake"

figue commented on 2023-01-25 19:08 (UTC)

@habernir someone post this:

https://github.com/xanmod/linux/issues/331#issuecomment-1402505778

IDK if it works

habernir commented on 2023-01-25 08:02 (UTC)

well i compile also 6.1.8 xanmod to see if its boot in zen3 but still the same. doesn't boot . i hope their will be a patch for this issue