Created
March 8, 2019 15:31
-
-
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/> のスクリプトで利用可能。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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