Skip to content

Instantly share code, notes, and snippets.

@lo48576
Created March 8, 2019 15:31
Show Gist options
  • Save lo48576/d12b82d884d00357bf39dfff1f6ef8f4 to your computer and use it in GitHub Desktop.
Save lo48576/d12b82d884d00357bf39dfff1f6ef8f4 to your computer and use it in GitHub Desktop.
XPS 15 (9570) 用 LInux 5.0.0 カーネルコンフィグ。 <https://blog.cardina1.red/2016/12/06/kernel-config-shellscript/> のスクリプトで利用可能。
# General setup ---> {{{1
# Timers subsystem ---> {{{2
# [*] Old Idle dynticks config [bool]
# [USUAL] This prevents very very noisy coil noise of #xps15.
# I don't know why this prevent coil noise, but surely it does.
# `HIGH_RES_TIMERS` without `NO_HZ` does not prevent the noise.
NO_HZ=y
# [*] High Resolution Timer Support [bool]
# [USUAL] Used by `media-sound/pulseaudio-12.2` to use timer-based scheduling.
#
# `journalctl --user -ef` says:
# > Feb 07 16:36:42 ichika pulseaudio[2720]: [pulseaudio] alsa-util.c: Disabling timer-based scheduling because high-resolution timers are not available from the kernel.
HIGH_RES_TIMERS=y
# Preemption Model (Voluntary Kernel Preemption (Desktop)) [choice] ---> {{{2
# (X) Voluntary Kernel Preemption (Desktop) [bool]
# [USUAL] #performance
#
# > Select this if you are building a kernel for a desktop system.
PREEMPT_VOLUNTARY=y
# <M> Kernel .config support [tristate] {{{2
# [OPTIONAL]
IKCONFIG=m
# [*] Enable access to .config through /proc/config.gz [bool]
# [OPTIONAL]
IKCONFIG_PROC=y
# -*- Control Group support ---> [bool] {{{2
# [USUAL]
#
# Required by `SCHED_AUTOGROUP`.
CGROUPS=y
# [*] Support for eBPF programs attached to cgroups [bool]
# Required by `sys-apps/systmed-235-r1`.
CGROUP_BPF=y
# [*] Automatic process group scheduling {{{2
# [USUAL] Improves #performance.
#
# > This option optimizes the scheduler for common desktop workloads by
# > automatically creating and populating task groups. This separation
# > of workloads isolates aggressive CPU burners (like build jobs) from
# > desktop applications.
SCHED_AUTOGROUP=y
# -*- Namespaces support ---> [bool] {{{2
NAMESPACES=y
# [*] User namespace [bool]
# [USUAL] Required by sys-apps/systemd-241_rc2 (to run `systemd-run`).
USER_NS=y
# [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support [bool] {{{2
# [MANDATORY] Used for support encryption for root FS at #boot time.
BLK_DEV_INITRD=y
# [*] Enable bpf() system call [bool] {{{2
# Required for `CGROUP_BPF`.
BPF_SYSCALL=y
# [*] 64-bit kernel [bool] {{{1
# [MANDATORY]
64BIT=y
# Processor type and features ---> {{{1
# [*] Symmetric multi-processing support [bool] {{{2
# [USUAL] See <https://wiki.gentoo.org/wiki/Kernel/Gentoo_Kernel_Configuration_Guide#Multiprocessor.2C_Hyper-Threading_and_multi-core_systems>. #cpu
SMP=y
## config SCHED_SMT
## bool "SMT (Hyperthreading) scheduler support"
# [USUAL] See <https://wiki.gentoo.org/wiki/Kernel/Gentoo_Kernel_Configuration_Guide#Multiprocessor.2C_Hyper-Threading_and_multi-core_systems>. #cpu
SCHED_SMT=y
# [*] Intel Low Power Subsystem Support [bool] {{{2
# [OPTIONAL]
X86_INTEL_LPSS=y
# Processor family (Core 2/newer Xeon) [choice] ---> {{{2
# (X) Core 2/newer Xeon [bool]
MCORE2=y
# [*] Multi-core scheduler support [bool] {{{2
# [USUAL] See <https://wiki.gentoo.org/wiki/Kernel/Gentoo_Kernel_Configuration_Guide#Multiprocessor.2C_Hyper-Threading_and_multi-core_systems>. #cpu
SCHED_MC=y
# [*] Machine Check / overheating reporting [bool] {{{2
# [USUAL] #cpu
X86_MCE=y
# [*] Intel MCE features [bool]
# [USUAL] #cpu
X86_MCE_INTEL=y
# [ ] AMD MCE features [bool]
# [MINIMIZE] #cpu
X86_MCE_AMD=n
# <M> Dell i8k legacy laptop support [tristate] {{{2
# [USUAL] Used for XPS 15 #fan control. #dell
I8K=m
# [*] CPU microcode loading support [bool] {{{2
# [USUAL] #cpu
MICROCODE=y
# [*] Intel microcode loading support [bool]
# [USUAL] #cpu
MICROCODE_INTEL=y
# [ ] AMD microcode loading support [bool]
# [MINIMIZE] #cpu
MICROCODE_AMD=n
# <M> /dev/cpu/*/msr - Model-specific register support [tristate] {{{2
# [OPTIONAL] Used by `sys-power/cpupower`.
X86_MSR=m
# <M> /dev/cpu/*/cpuid - CPU information support [tristate] {{{2
# [USUAL] #cpu
X86_CPUID=m
# -*- MTRR (Memory Type Range Register) support [bool] {{{2
# [USUAL] Required for #nvidia GPU to work.
MTRR=y
# [*] EFI runtime service support [bool] {{{2
# [MANDATORY] #efi
EFI=y
# [*] EFI stub support [bool]
# [MANDATORY] Necessary to #boot linux from systemd-boot. #efi
EFI_STUB=y
# Timer frequency (1000 HZ) ---> [choice] {{{2
# (X) 1000 HZ [bool]
# [USUAL] #performance.
#
# > 1000 Hz is the preferred choice for desktop systems and other systems requiring fast interactive responses to events.
HZ_1000=y
# Power management and ACPI options ---> {{{1
# [*] Suspend to RAM and standby [bool] {{{2
# [USUAL]
SUSPEND=y
# [*] Hibernation (aka 'suspend to disk') {{{2
# [USUAL]
HIBERNATION=y
# [*] ACPI (Advanced Configuration and Power Interface) Support [bool] ---> {{{2
# [USUAL] See <https://wiki.gentoo.org/wiki/Kernel/Gentoo_Kernel_Configuration_Guide#Multiprocessor.2C_Hyper-Threading_and_multi-core_systems>. #cpu
ACPI=y
# CPU Frequency scaling ---> {{{2
# -*- CPU Frequency scaling [bool]
# [USUAL] #cpu
CPU_FREQ=y
# Default CPUFreq governor (performance) [choice] --->
# (X) performance [bool]
# [USUAL] #cpu
CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# -*- Intel P state control [bool]
# [USUAL] #cpu
X86_INTEL_PSTATE=y
# <M> Processor Clocking Control interface driver [tristate]
# [USUAL] #cpu
X86_PCC_CPUFREQ=m
# [*] Cpuidle Driver for Intel Processors [bool] {{{2
# [USUAL] #cpu
INTEL_IDLE=y
# Bus options (PCI etc.) ---> {{{1
# [*] Mark VGA/VBE/EFI FB as generic system framebuffer {{{2
# [MANDATORY] Used to show #boot time console without efifb (`FB_EFI`). #graphics
#
# > Note: Legacy fbdev drivers, including vesafb, efifb, uvesafb, will
# > not be able to pick up generic system framebuffers if this option
# > is selected. You are highly encouraged to enable simplefb as
# > replacement if you select this option. simplefb can correctly deal
# > with generic system framebuffers. But you should still keep vesafb
# > and others enabled as fallback if a system framebuffer is
# > incompatible with simplefb.
X86_SYSFB=y
# Binary Emulations ---> {{{1
# [*] IA32 Emulation [bool] {{{2
# [USUAL] Some applications are 32-bit binary, including steam. #app
IA32_EMULATION=y
# Firmware Drivers ---> {{{1
# [*] Virtualization [bool] ---> {{{1
VIRTUALIZATION=y
# <M> Host kernel accelerator for virtio net [tristate] {{{2
# [USUAL] Required by app-emulation/qemu-2.7.0-r4[vhost-net]. #app
VHOST_NET=m
# [*] Enable loadable module support [bool] ---> {{{1
# [MANDATORY]
MODULES=y
# [*] Module unloading {{{2
# [USUAL]
MODULE_UNLOAD=y
# [*] Forced module unloading [bool]
# [USUAL]
MODULE_FORCE_UNLOAD=y
# -*- Enable the block layer [bool] ---> {{{1
BLOCK=y
# Partition Types ---> {{{2
# [*] Advanced partition selection [bool]
PARTITION_ADVANCED=y
# [*] PC BIOS (MSDOS partition tables) support [bool]
# [USUAL] #storage #fs
MSDOS_PARTITION=y
# [*] EFI GUID Partition support [bool]
# [MANDATORY] Using GPT in primary disk. #storage #fs
EFI_PARTITION=y
# IO Schedulers ---> {{{1
# Memory Management options ---> {{{1
# [*] Transparent Hugepage Support [bool] {{{2
# [USUAL] Improves #performance.
# See <https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/performance_tuning_guide/s-memory-transhuge>.
TRANSPARENT_HUGEPAGE=y
# -*- Networking support [bool] ---> {{{1
NET=y
# Networking options ---> {{{2
# -*- The IPv6 protocol [tristate] --->
# [USUAL] #net
IPV6=y
# <M> Packet socket [tristate]
# [USUAL] Required for Wi-Fi. #net
PACKET=m
# [*] Network packet filtering framework (Netfilter) [bool] --->
# Required by `net-wireless/blueman-2.1_alpha3`.
NETFILTER=y
# Core Netfilter Configuration --->
# <M> Netfilter connection tracking support [tristate]
# Required for `IP_NF_NAT`.
NF_CONNTRACK=m
# IP: Netfilter Configuration --->
# <M> IP tables support (required for filtering/masq/NAT) [tristate]
IP_NF_IPTABLES=m
# <M> iptables NAT support [tristate]
# Required by `net-wireless/blueman-2.1_alpha3`.
IP_NF_NAT=m
# <M> MASQUERADE target support [tristate]
# Required by `net-wireless/blueman-2.1_alpha3`.
IP_NF_TARGET_MASQUERADE=m
# <M> 802.1d Ethernet Bridging [tristate]
# Required by `net-wireless/blueman-2.1_alpha3`.
BRIDGE=m
# <M> Bluetooth subsystem support [tristate] ---> {{{2
# [USUAL] #bluetooth.
BT=m
# [*] Bluetooth Classic (BR/EDR) features [bool]
# [USUAL] Selected by default.
BT_BREDR=y
# <M> RFCOMM protocol support [tristate]
# [USUAL]
#
# RFCOMM: Radio frequency communication.
#
# > RFCOMM provides connection oriented stream transport. RFCOMM
# > support is required for Dialup Networking, OBEX and other Bluetooth
# > applications.
BT_RFCOMM=m
# <M> BNEP protocol support [tristate]
# [USUAL]
#
# > BNEP (Bluetooth Network Encapsulation Protocol) is Ethernet
# > emulation layer on top of Bluetooth. BNEP is required for
# > Bluetooth PAN (Personal Area Network).
BT_BNEP=m
# <M> HIDP protocol support [tristate]
# [USUAL]
#
# > HIDP (Human Interface Device Protocol) is a transport layer
# > for HID reports. HIDP is required for the Bluetooth Human
# > Interface Device Profile.
BT_HIDP=m
# Bluetooth device drivers --->
# <M> HCI USB driver [tristate]
# [USUAL] Required for bluetooth to work. #xps15
BT_HCIBTUSB=m
# [*] Wireless [bool] ---> {{{2
# [USUAL] #net
WIRELESS=y
# <M> cfg80211 - wireless configuration API [tristate]
# [USUAL] Required for #wireless communication (`ATH10K`). #net
CFG80211=m
# <M> Generic IEEE 802.11 Networking Stack (mac80211) [tristate]
# [USUAL] Required for #wireless communication (`ATH10K`). #net #ath10k
MAC80211=m
# <M> RF switch subsystem support ---- {{{2
# [USUAL] #xps15
RFKILL=m
# Device Drivers ---> {{{1
# [*] PCI support ---> {{{2
# [MANDATORY] Many features depends on this (including `IGP`).
PCI=y
# [*] PCI Express Port Bus support [bool]
# [USUAL] USB Type-C and Thunderbold support.
#
# See <https://wiki.gentoo.org/wiki/USB/Guide>.
PCIEPORTBUS=y
# [*] PCI Express Hotplug driver [bool]
# [USUAL] USB Type-C and Thunderbold support.
#
# See <https://wiki.gentoo.org/wiki/USB/Guide>.
HOTPLUG_PCI_PCIE=y
# [*] Message Signaled Interrupts (MSI and MSI-X) [bool] {{{2
# [MANDATORY] Without this, #boot freezes.
PCI_MSI=y
# [*] Support for PCI Hotplug [bool] --->
# [USUAL] USB Type-C and Thunderbold support.
#
# See <https://wiki.gentoo.org/wiki/USB/Guide>.
#
# Required by `sys-apps/thunderbolt-software-user-space-0.9.3`
# (which is required by `sys-apps/fwupd-1.2.4`).
HOTPLUG_PCI=y
# [*] ACPI PCI Hotplug driver [bool]
# [USUAL] USB Type-C and Thunderbold support.
#
# See <https://wiki.gentoo.org/wiki/USB/Guide>.
HOTPLUG_PCI_ACPI=y
# Generic Driver Options ---> {{{2
# [*] Support for uevent helper [bool]
# () path to uevent helper [string]
# [USUAL] This is recommended to be an empty string, because uevent
# helper is no longer recommended (but some apps might require it).
#
# > To disable user space helper program execution at by default
# > specify an empty string here.
UEVENT_HELPER_PATH=""
# <M> Connector - unified userspace <-> kernelspace linker [tristate] ---- {{2
# Required by `dev-libs/libcgroup-0.41-r5`.
# This needs to be `y` (not `m`) to enabel `PROC_EVENTS`.
CONNECTOR=y
# [*] Report process events to userspace [bool]
# Depends on `CONNECTOR=y` (not `=m`).
# Required by `dev-libs/libcgroup-0.41-r5`.
PROC_EVENTS=y
# [*] Device Tree and Open Firmware support [bool] ---> {{{2
# Required by `ATH10K_AHB`.
OF=y
# [*] Block devices [bool] ---> {{{2
BLK_DEV=y
# <M> Loopback device support [tristate]
# [OPTIONAL]
#
# > Saying Y here will allow you to use a regular file as a block
# > device; (snip).
BLK_DEV_LOOP=m
# NVME Support ---> {{{2
# <*> NVM Express block device [tristate]
# [MANDATORY] Required at #boot because the primary #storage is
# NVME.
BLK_DEV_NVME=y
# Misc devices ---> {{{2
# <M> Realtek PCI-E card reader [tristate]
# [USUAL] This is required for rts525A on #xps15.
#
# Required by `MMC_REALTEK_PCI`.
MISC_RTSX_PCI=m
# SCSI device support ---> {{{2
# <M> SCSI device support [tristate]
# Required by `USB_STORAGE`.
SCSI=m
# *** SCSI support type (disk, tape, CD-ROM) *** {{{3
# <M> SCSI disk support [tristate]
# [USUAL] Usually necessary for `USB_STORAGE` to work properly.
#
# Here is a part of help text for `USB_STORAGE`:
# > This option depends on 'SCSI' support being enabled, but you
# > probably also need 'SCSI device support: SCSI disk support'
# > (BLK_DEV_SD) for most USB storage devices.
BLK_DEV_SD=m
# [*] Multiple devices driver support (RAID and LVM) [bool] ---> {{{2
MD=y
# <*> Device mapper support [tristate]
BLK_DEV_DM=y
# <*> Crypt target support
# [MANDATORY] Required at #boot because the root FS is encrypted.
DM_CRYPT=y
# [*] Network device support [bool] ---> {{{2
NETDEVICES=y
# [*] Wireless LAN [bool] --->
WLAN=y
# [*] Atheros/Qualcomm devices [bool]
# [USUAL] #net #wireless #ath10k
WLAN_VENDOR_ATH=y
# <M> Atheros 802.11ac wireless cards support [tristate]
ATH10K=m
# <M> Atheros ath10k PCI support [tristate]
# [USUAL] Required for #wireless network to work. #net #wireless
ATH10K_PCI=m
# [*] Atheros ath10k AHB support [bool]
# [OPTIONAL] Might improve performance for #ath10k?
#
# AHB is "Advanced High-performance Bus".
ATH10K_AHB=y
# Input device support ---> {{{2
# -*- Generic input layer (needed for keyboard, mouse, ...) [tristate]
# [USUAL] #input
INPUT=y
# *** Userland interfaces *** {{{3
# <M> Mouse interface [tristate]
# [OPTIONAL] #input
#
# > Say Y here if you want your mouse to be accessible as char devices
# > 13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
# > emulated IntelliMouse Explorer PS/2 mouse. That way, all user space
# > programs (including SVGAlib, GPM and X) will be able to use your
# > mouse.
INPUT_MOUSEDEV=m
# <M> Joystick interface [tristate]
# [OPTIONAL] #input
#
# > Say Y here if you want your joystick or gamepad to be
# > accessible as char device 13:0+ - /dev/input/jsX device.
INPUT_JOYDEV=m
# <M> Event interface [tristate]
# [USUAL] #input
#
# See <https://wiki.gentoo.org/wiki/Xorg/Guide#Input_driver_support>.
#
# > Say Y here if you want your input device events be accessible
# > under char device 13:64+ - /dev/input/eventX in a generic way.
INPUT_EVDEV=m
# }}}3
# *** Input Device Drivers *** {{{3
# [*] Keyboards [bool] --->
# [USUAL] #input
INPUT_KEYBOARD=y
# <*> AT keyboard [bool]
# [MANDATORY] Required for built-in keyboard to work. #xps15 #input
#
# Selected by default.
KEYBOARD_ATKBD=y
# [*] Mice [bool] --->
# [USUAL] #input
INPUT_MOUSE=n
# <M> PS/2 mouse [tristate]
# [MINIMIZE] `MOUSE_PS2` is not needed.
#
# Selected by default (if `INPUT_MOUSE=y`).
#
# Note that `synaptics` driver is unnecessary for
# touchpad and touchscreen to work.
#MOUSE_PS2=n
# [*] Joysticks/Gamepads [bool] --->
# [OPTIONAL] #input
#INPUT_JOYSTICK=y
# }}}3
# Character devices ---> {{{2
# <M> IPMI top-level message handler [tristate] ----
# [USUAL] Required by proprietary #nvidia driver.
IPMI_HANDLER=m
# I2C support ---> {{{2
# {M} I2C support [tristate]
# [USUAL] Required by `sys-apps/lm_sensors-3.5.0`.
#
# `emerge` says:
# > - I2C - lm_sensors requires CONFIG_I2C to be enabled for most sensors.
I2C=m
# <M> I2C device interface [tristate]
# [USUAL] Required by `sys-apps/lm_sensors-3.5.0`.
#
# `emerge` says:
# > - I2C_CHARDEV - sensors-detect requires CONFIG_I2C_CHARDEV to be enabled.
I2C_CHARDEV=m
# I2C Hardware Bus support --->
# <M> Intel 82801 (ICH/PCH) [tristate]
# [USUAL] Used by `sys-apps/lm_sensors-3.5.0` (`sensors-detect`).
I2C_I801=m
# <M> Synopsys DesignWare Platform [tristate]
# [USUAL] Touchscreen support. #xps15
I2C_DESIGNWARE_PLATFORM=m
# {M} Hardware Monitoring support [tristate] ---> {{{2
# Selected by `I8K`.
#
# Required by `sys-apps/lm_sensors-3.4.0_p20160725`:
# > - HWMON - lm_sensors requires CONFIG_HWMON to be enabled for use.
HWMON=m
# -M- Dell laptop SMM BIOS hwmon driver [tristate]
# Selected by `I8K`.
SENSORS_DELL_SMM=m
# <M> Intel Core/Core2/Atom temperature sensor [tristate]
# [USUAL] #cpu
SENSORS_CORETEMP=m
# <M> PWM fan [tristate]
# [USUAL] #cpu #fan
SENSORS_PWM_FAN=m
# Multifunction device drivers ---> {{{2
# <M> Intel Low Power Subsystem support in ACPI mode [tristate]
# [OPTIONAL]
MFD_INTEL_LPSS_ACPI=m
# <M> Intel Low Power Subsystem support in PCI mode [tristate]
# [OPTIONAL]
MFD_INTEL_LPSS_PCI=m
# <M> Multimedia support [tristate] ---> {{{2
MEDIA_SUPPORT=m
# [*] Cameras/video grabbers support [bool]
# Required for `USB_VIDEO_CLASS`.
MEDIA_CAMERA_SUPPORT=y
# [*] Media USB Adapters [bool] --->
MEDIA_USB_SUPPORT=y
# <M> USB Video Class (UVC) [tristate]
# [OPTIONAL] Required for #webcam of #xps15.
USB_VIDEO_CLASS=m
# Graphics support ---> {{{2
# <M> /dev/agpgart (AGP Support) [tristate] --->
# See <https://wiki.gentoo.org/wiki/NVidia/nvidia-drivers#Kernel>.
AGP=m
# -*- VGA Arbitration [bool]
# [USUAL] Required for #nvidia GPU. #xps15
#
# See <https://wiki.gentoo.org/wiki/NVidia/nvidia-drivers#Kernel>.
VGA_ARB=y
# <M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) [tristate] --->
# [USUAL] Required for hardware-accelerated rendering by intel integrated graphics.
#
# See <https://wiki.gentoo.org/wiki/Xorg/Guide>.
DRM=m
# < > Nouveau (NVIDIA) cards [tristate]
# [USUAL] Conflicts with proprietary #nvidia driver.
DRM_NOUVEAU=n
# <M> Intel 8xx/9xx/G3x/G4x/HD Graphics [tristate]
# [USUAL] Required for hardware-accelerated rendering by intel integrated graphics.
DRM_I915=m
# Frame buffer Devices --->
# {*} Support for frame buffer devices [tristate] --->
# [USUAL] Used for console and X. #graphics
# See <https://wiki.gentoo.org/wiki/Xorg/Guide#Kernel_modesetting>.
FB=y
# [ ] EFI-based Framebuffer Support
# [USUAL] May conflict with proprietary #nvidia driver.
FB_EFI=n
# < > nVidia Framebuffer Support [tristate]
# [USUAL] Conflicts with proprietary #nvidia driver.
FB_NVIDIA=n
# < > nVidia Riva Support [tristate]
# [USUAL] Conflicts with proprietary #nvidia driver.
FB_RIVA=n
# [*] Simple framebuffer support [bool]
# [USUAL] This is recommended to use with proprietary #nvidia driver.
FB_SIMPLE=y
# Console display driver support --->
# -*- VGA text console [bool]
# Automatically selected.
VGA_CONSOLE=y
# -*- Framebuffer Console support [bool]
# [MANDATORY] Used to show #boot time console, TTY, and X.
#
# Automatically selected.
#
# See <https://wiki.gentoo.org/wiki/Xorg/Guide#Kernel_modesetting>.
FRAMEBUFFER_CONSOLE=y
# [*] Bootup logo [bool] --->
# [OPTIONAL] Penguin logo at #boot time console.
LOGO=y
# <M> Sound card support [tristate] ---> {{{2
# 1. `head -n 1 /proc/asound/card*/codec\#0`
# 2. Read `/usr/src/linux/Documentation/sound/alsa/ALSA-Configuration.txt`
#
# See also: <https://wiki.gentoo.org/wiki/ALSA>.
SOUND=m
# <M> Advanced Linux Sound Architecture [tristate] --->
SND=m
# [*] PCI sound devices [bool] --->
# [USUAL] Selected by default.
SND_PCI=y
# HD-Audio --->
# <M> HD Audio PCI [tristate]
# [USUAL] #xps15
SND_HDA_INTEL=m
# <M> Build Realtek HD-audio codec support [tristate]
# [USUAL] Required for ALC3266 to work. #xps15
SND_HDA_CODEC_REALTEK=m
# <M> Build Analog Device HD-audio codec support [tristate]
# [USUAL]
SND_HDA_CODEC_ANALOG=m
# <M> Build HDMI/DisplayPort HD-audio codec support [tristate]
# [USUAL]
SND_HDA_CODEC_HDMI=m
# (2048) Pre-allocated buffer size for HD-audio driver [integer]
# [USUAL]
#
# > Specifies the default pre-allocated buffer-size in kB for the
# > HD-audio driver. A larger buffer (e.g. 2048) is preferred
# > for systems using PulseAudio. The default 64 is chosen just
# > for compatibility reasons.
SND_HDA_PREALLOC_SIZE=2048
# [*] USB sound devices [bool] --->
SND_USB=y
# <M> USB Audio/MIDI driver [tristate]
# [USUAL] Required for USB audio.
#
# See <https://wiki.gentoo.org/wiki/USB/Guide>.
SND_USB_AUDIO=m
# HID support ---> {{{2
# {*} HID bus support [tristate]
HID=y
# <M> User-space I/O driver support for HID subsystem [tristate]
# [USUAL] Required for Bluetooth mice and keyboards.
#
# > The User-space I/O driver for HID input devices should be enabled for Bluetooth keyboards and mice.
# >
# > --- <https://wiki.gentoo.org/wiki/Bluetooth>.
UHID=m
# Special HID drivers --->
# <M> ELECOM HID devices [tristate]
# [OPTIONAL] #input
HID_ELECOM=m
# <M> Gembird Joypad [tristate]
# [OPTIONAL] #input
#
# I have ELECOM gamepad JC-U2912FBK, and it requires this.
HID_GEMBIRD=m
# <M> Logitech devices [tristate]
# [OPTIONAL] #input
HID_LOGITECH=m
# <M> HID Multitouch panels [tristate]
# [USUAL] touchscreen. #input #xps15
HID_MULTITOUCH=m
# <M> Sony PS2/3/4 accessories [tristate]
# [OPTIONAL] PS2/3/4 controller.
HID_SONY=m
# [*] Sony PS2/3/4 accessories force feedback support [bool]
# [OPTIONAL] PS2/3/4 controller force feedback.
SONY_FF=y
# I2C HID support --->
# <M> HID over I2C transport layer [tristate]
# [USUAL] touchpad and touchscreen. #input
#
# I checked this is really necessary for touchpad and touchscreen to work
# (if synaptics is disabled).
#
# `dmesg` says:
# > psmouse serio1: synaptics: Your touchpad (PNP: DLL087c PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1 and report this to linux-input@vger.kernel.org.
I2C_HID=m
# Intel ISH HID support --->
# <M> Intel Integrated Sensor Hub [tristate]
# [OPTIONAL]
INTEL_ISH_HID=m
# [*] USB support [bool] ---> {{{2
USB_SUPPORT=y
# <M> Support for Host-side USB [tristate]
# [USUAL] Necessary for USB port and device to work. #input #xps15
USB=m
# [*] USB announce new devices [bool]
# [OPTIONAL]
#
# This may be useful for checking USB device and tweak kernel config.
USB_ANNOUNCE_NEW_DEVICES=y
# *** USB Host Controller Drivers *** {{{3
# <M> xHCI HCD (USB 3.0) support [tristate]
# [USUAL] #input #xps15
USB_XHCI_HCD=m
# *** USB Device Class drivers *** {{{3
# <M> USB Printer support [tristate]
# [OPTIONAL] USB printer support.
USB_PRINTER=m
# <M> USB Mass Storage support [tristate]
# [USUAL] Necessary for USB storage to work.
#
# See <https://wiki.gentoo.org/wiki/USB/Guide>.
#
# > This option depends on 'SCSI' support being enabled, but you
# > probably also need 'SCSI device support: SCSI disk support'
# > (BLK_DEV_SD) for most USB storage devices.
USB_STORAGE=m
# *** USB Miscellaneous drivers *** {{{3
# <M> USB Type-C Support [tristate] --->
# [USUAL] #xps15
TYPEC=m
# <M> USB Type-C Port Controller Manager [tristate]
# [OPTIONAL]
TYPEC_TCPM=m
# <M> USB Type-C Connector System Software Interface driver [tristate]
# [OPTIONAL]
TYPEC_UCSI=m
# USB Type-C Alternate Mode drivers --->
# <M> DisplayPort Alternate Mode driver
# [OPTIONAL]
TYPEC_DP_ALTMODE=m
# <M> MMC/SD/SDIO card support [tristate] ---> {{{2
MMC=m
# <M> MMC block device driver [tristate]
# [TESTING] [USUAL] SD card slot support. #xps15
MMC_BLOCK=m
# <M> Secure Digital Host Controller Interface support [tristate]
MMC_SDHCI=m
# <M> SDHCI support on PCI bus [tristate]
MMC_SDHCI_PCI=m
# <M> Realtek PCI-E SD/MMC Card Interface Driver [tristate]
# [USUAL] SD card reader on #xps15.
MMC_REALTEK_PCI=m
# [*] Real Time Clock [bool] ---> {{{2
# [USUAL]
RTC_CLASS=y
# [*] DMA Engine support [bool] ---> {{{2
DMADEVICES=y
# <M> Intel integrated DMA 64-bit support [tristate]
INTEL_IDMA64=m
# [*] X86 Platform Specific Device Drivers [bool] ---> {{{2
X86_PLATFORM_DEVICES=y
# <M> Dell Systems Management Base Driver [tristate]
DCDBAS=m
# <M> Dell SMBIOS driver [tristate]
DELL_SMBIOS=m
# [*] Dell SMBIOS driver WMI backend [bool]
# [USUAL] #xps15
DELL_SMBIOS_WMI=y
# [*] Dell SMBIOS driver SMM backend [bool]
# [USUAL] #xps15
DELL_SMBIOS_SMM=y
# <M> Dell Laptop Extras [tristate]
# [USUAL] #xps15
DELL_LAPTOP=m
# <M> Dell WMI notifications [tristate]
# [USUAL] #xps15
DELL_WMI=m
# <M> WMI Hotkeys for Dell All-In-One series [tristate]
# [USUAL] #xps15
DELL_WMI_AIO=m
# <M> Dell Latitude freefall driver (ACPI SMO88XX) [tristate]
# [OPTIONAL] Freefall sensor of #xps15.
#
# #xps15 (9570) has SSD, so this might be safely disabled.
DELL_SMO8800=m
# <M> Dell Airplane Mode Switch driver [tristate]
# [USUAL] #xps15
DELL_RBTN=m
# <M> BIOS update support for DELL systems via sysfs [tristate]
# [OPTIONAL] #xps15
DELL_RBU=m
# <M> WMI [tristate]
# Required for `DELL_SMBIOS_WMI`.
ACPI_WMI=m
# [*] Pulse-Width Modulation (PWM) Support [bool] ---> {{{2
# Required by `SENSORS_PWM_FAN`.
PWM=y
# <M> Thunderbolt support [tristate] ---- {{{2
THUNDERBOLT=m
# [*] LED Support [bool] ---> {{{2
NEW_LEDS=y
# <M> LED Class Support [tristate]
# Required by `HID_SONY`.
LEDS_CLASS=m
# [*] Reset Controller Support [bool] ---> {{{2
# Required by `ATH10K_AHB`.
RESET_CONTROLLER=y
# File systems ---> {{{1
# <M> The Extended 3 (ext3) filesystem [tristate] {{{2
# [OPTIONAL]
EXT3_FS=m
# [*] Ext3 POSIX Access Control Lists [bool]
# [USUAL]
EXT3_FS_POSIX_ACL=y
# {M} The Extended 4 (ext4) filesystem [tristate] {{{2
# [USUAL]
EXT4_FS=m
# -*- Ext4 POSIX Access Control Lists [bool]
# [USUAL]
EXT4_FS_POSIX_ACL=y
# <M> XFS filesystem support [tristate] {{{2
# [OPTIONAL]
XFS_FS=m
# [*] XFS POSIX ACL support [bool]
XFS_POSIX_ACL=y
# <*> Btrfs filesystem support {{{2
# [MANDATORY] Used for root FS and required at #boot time.
BTRFS_FS=y
# [*] Btrfs POSIX Access Control Lists [bool]
# [USUAL]
BTRFS_FS_POSIX_ACL=y
# <M> FUSE (Filesystem in Userspace) support [tristate] {{{2
FUSE_FS=m
# DOS/FAT/NT Filesystems ---> {{{2
# <M> VFAT (Windows-95) fs support [tristate]
# [MANDATORY] Used for EFI System Partition (which is also `/boot`).
VFAT_FS=m
# (932) Default codepage for FAT [integer]
# [USUAL] Use Japanese as default for FAT.
FAT_DEFAULT_CODEPAGE=932
# Pseudo filesystems ---> {{{2
# <M> EFI Variable filesystem [tristate]
EFIVAR_FS=m
# [*] Network File Systems [bool] ---> {{{2
NETWORK_FILESYSTEMS=y
# <M> SMB3 and CIFS support (advanced network filesystem) [tristate]
CIFS=m
# -*- Native language support [bool] ---> {{{2
NLS=y
# (utf8) Default NLS Option [string]
# [USUAL]
NLS_DEFAULT="utf8"
# <M> Codepage 437 (United States, Canada) [tristate]
# [USUAL] Support English.
NLS_CODEPAGE_437=m
# <M> Japanese charsets (Shift-JIS, EUC-JP) [tristate]
# [USUAL] Support Japanese.
NLS_CODEPAGE_932=m
# <M> NLS ISO 8859-1 (Latin 1; Western European Languages) [tristate]
# [USUAL] Support Latin.
NLS_ISO8859_1=m
# <M> NLS UTF-8 [tristate]
# [USUAL] Support UTF-8.
NLS_UTF8=m
# -*- Cryptographic API [tristate] ---> {{{1
# [MANDATORY] Used for root FS encryption at #boot time.
# Note that XTS, SHA256, AES should be built-in because they are necessary during boot.
CRYPTO=y
# *** Block modes *** {{{2
# <*> XTS support {{{3
# [MANDATORY] Used for root FS encryption at #boot time.
CRYPTO_XTS=y
# *** Digest *** {{{2
# -*- SHA224 and SHA256 digest algorithm [tristate] {{{3
# [MANDATORY] Used for root FS encryption at #boot time.
CRYPTO_SHA256=y
# <*> SHA256 digest algorithm (SSSE3/AVX/AVX2/SHA-NI) [tristate]
# [USUAL] Hardware accelaration for `CRYPTO_SHA256`.
CRYPTO_SHA256_SSSE3=y
# {M} SHA384 and SHA512 digest algorithms [tristate] {{{3
# [OPTIONAL]
#CRYPTO_SHA512=m
# <M> SHA512 digest algorithm (SSSE3/AVX/AVX2) [tristate]
# [OPTIONAL] Hardware accelaration for `CRYPTO_SHA512`.
#CRYPTO_SHA512_SSSE3=m
# *** Ciphers *** {{{2
# -*- AES cipher algorithms [tristate] {{{3
# [MANDATORY] Used for root FS encryption at #boot time.
CRYPTO_AES=y
# -*- AES cipher algorithms (x86_64) [tristate]
# [USUAL] Hardware accelaration for `CRYPTO_AES`.
CRYPTO_AES_X86_64=y
# <*> AES cipher algorithms (AES-NI)
# [USUAL] More hardware accelaration for `CRYPTO_AES`.
CRYPTO_AES_NI_INTEL=y
# Kernel hacking ---> {{{1
# [*] Magic SysRq key [bool] {{{2
MAGIC_SYSRQ=y
# Gentoo Linux ---> {{{1
# [*] Gentoo Linux support {{{2
## config GENTOO_LINUX
## bool "Gentoo Linux support"
# [USUAL]
GENTOO_LINUX=y
# [*] Linux dynamic and persistent device naming (userspace devfs) support
## config GENTOO_LINUX_UDEV
## bool "Linux dynamic and persistent device naming (userspace devfs) support"
# [USUAL]
CONFIG_GENTOO_LINUX_UDEV=y
# [*] Select options required by Portage features
## config GENTOO_LINUX_PORTAGE
## bool "Select options required by Portage features"
# [USUAL]
CONFIG_GENTOO_LINUX_PORTAGE=y
# Support for init systems, system and service managers ---> {{{2
# [ ] OpenRC, runit and other script based systems and managers
## config GENTOO_LINUX_INIT_SCRIPT
## bool "OpenRC, runit and other script based systems and managers"
# [MINIMIZE]
GENTOO_LINUX_INIT_SCRIPT=n
# [*] systemd
## config GENTOO_LINUX_INIT_SYSTEMD
## bool "systemd"
# [MANDATORY]
GENTOO_LINUX_INIT_SYSTEMD=y
# }}}1
################################################################################
################################################################################
# References:
#
# * <https://wiki.gentoo.org/wiki/Kernel/Configuration>
# * <https://wiki.gentoo.org/wiki/Kernel/Gentoo_Kernel_Configuration_Guide>
# * <https://wiki.gentoo.org/wiki/Xorg/Guide>
# * <https://wiki.gentoo.org/wiki/NVidia/nvidia-drivers>
# * <https://wiki.gentoo.org/wiki/Dell_XPS_15_9560>
# * <https://wiki.gentoo.org/wiki/USB/Guide>
# * <https://wiki.gentoo.org/wiki/Bluetooth>
# vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4 foldmethod=marker :
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment