====== Information ====== * Various kernel options * https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html ===== systemd-boot ===== * :!: 2024: ''systemd-boot'' doesn't handle typewriter apostrophes '''like this' '', but GRUB handles it fine ((above kernel params page mentions double-quote usage)) * :!: 2024/05/18: ''systemd-boot'' on [[linux;distros;opensuse_tumbleweed_gnome|oS TW]] doesn't delete old ''initrd''s automatically, doesn't handle typewriter apostrophes, doesn't support ''dracut.conf'' settings, and doesn't seem faster than GRUB ====== Resources ====== ===== General ===== * https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.SuspendToIdle * :!: ''iommu=off'' should not be used ([[http://www.xillybus.com/tutorials/iommu-swiotlb-linux|source]]) * https://docs.kernel.org/fb/modedb.html * https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.EncryptedRam ===== CPU Idle ===== * https://www.infradead.org/~mchehab/kernel_docs/admin-guide/pm/cpuidle.html#idle-states-control-via-kernel-command-line * https://docs.kernel.org/admin-guide/pm/cpuidle.html * https://community.intel.com/t5/Software-Tuning-Performance/Benchmark-performance-increases-with-deeper-C-states-linux/td-p/1051623 ===== OSI ===== * https://forum.manjaro.org/t/how-to-choose-the-proper-acpi-kernel-argument/1405 * https://learn.microsoft.com/en-us/windows-hardware/drivers/acpi/winacpi-osi ==== Spinesnap ==== * :!: Dell Latitude 5591 needs ''!'' also to force Windows OSI * :!: 2024/04/29: Forcing Windows OSI causes brightness buttons on the built-in keyboard to not function ((with ''dmesg'' Intel HID 5 button array seemingly isn't presented with Windows OSI)) acpi_osi='!' acpi_osi='Windows 2017' ====== Spinesnap ====== ===== Main ===== * [[linux;distros;opensuse_tumbleweed_gnome|openSUSE Tumbleweed (GNOME)]] * 2025/07/20 acpi_osi='Linux' reboot='pci' idle='halt' nohz='off' preempt='full' iommu='pt' pci='nocrs,pcie_bus_perf,realloc,pcie_scan_all,big_root_window' pcie_aspm='off' pcie_port_pm='off' ahci.mobile_lpm_policy='1' iwlmvm.power_scheme='1' nvme_core.default_ps_max_latency_us='0' nvme.noacpi='1' nowatchdog modprobe.blacklist='iTCO_wdt' tsc='nowatchdog' snd_hda_intel.power_save='0' usbcore.autosuspend='-1' i915.mitigations='off' i915.enable_fbc='0' i915.enable_psr='0' i915.enable_dc='0' i915.enable_guc='3' i915.guc_log_level='0' i915.nuclear_pageflip='1' rootflags='data=writeback' ===== General ===== **** acpi_osi='Linux' reboot='pci' nohz='off' preempt='none' cpuidle.off='1' ===== PCI ===== **** enable_mtrr_cleanup iomem='relaxed' pcie_ports='native' pci='nocrs,pcie_bus_perf,realloc,pcie_scan_all,big_root_window' ===== i915 ===== **** i915.enable_fbc='0' i915.enable_psr='0' i915.panel_use_ssc='0' i915.enable_guc='3' i915.guc_log_level='0' i915.nuclear_pageflip='1' i915.enable_hangcheck='0' ===== Mitigations ===== * :!: 2025/08/08: openSUSE cannot have either ''mitigations'' option set on the text line through YaST ((''mitigations'' gets removed by something else likely related to the CPU mitigations option, and includes the ''i915.'' option)) mitigations='off' i915.mitigations='off' ===== NVMe ===== **** nvme.noacpi='1' nvme.poll_queues='4' nvme.use_threaded_interrupts='1' ===== Power-saving ===== **** nowatchdog modprobe.blacklist='iTCO_wdt' tsc='nowatchdog' ahci.mobile_lpm_policy='1' iwlmvm.power_scheme='1' nvme_core.default_ps_max_latency_us='0' pcie_aspm='off' pcie_port_pm='off' snd_hda_intel.power_save='0' usbcore.autosuspend='-1' ===== Display ===== **** video='HDMI-A-1:1920x1080MR@75' ===== IOMMU ===== **** swiotlb='noforce' iommu='force' intel_iommu='on' ====== Other ====== rootflags='data=writeback' threadirqs idle=halt mem_sleep_default='s2idle' intremap='off' mem_encrypt='on' ===== TPM Integrity ===== * https://www.phoronix.com/news/Linux-TPM-Disable-PCR-Integrity * TODO: Option name (probably ''off'') tpm.disable_pcr_integrity= ====== AMDGPU ====== ===== Overclocking ===== * Allows use of Overdrive options for overclocking and increasing the Power Limit * See [[https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/include/amd_shared.h#L203|amd_shared.h]] for more ''PP_FEATURE_MASK'' values * :!: ''0xffffffff'' can be used to enable everything, but may cause issues with unstable features sudo grubby --args='amdgpu.ppfeaturemask=0xfff7ffff' --update-kernel='ALL' amdgpu.ppfeaturemask=0xfff7ffff ==== Verify ==== **** cat '/sys/module/amdgpu/parameters/ppfeaturemask' ===== Disable PSR ===== * :?: ''0x15'' was seen somewhere for something * 2025/03/04: Untested amdgpu.dcdebugmask=0x10 ====== NVIDIA ====== ===== Open Module ===== ==== Blacklist nouveau ==== **** modprobe.blacklist='nouveau' ==== Allow Unsupported GPUs ==== * https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus nvidia.NVreg_OpenRmEnableUnsupportedGpus='1' ==== Enable nvidia-modeset ==== **** nvidia-drm.modeset='1' ===== PAT ===== * TODO: Find information about this nvidia.NVreg_UsePageAttributeTable='1' ===== GSP ===== * https://us.download.nvidia.com/XFree86/Linux-x86_64/515.65.01/README/gsp.html * Allows loading of GSP firmware * This doesn't appear necessary for the open kernel module * :!: 2022/07/20 515.57: this caused AoE2:DE to crash GNOME on-startup nvidia.NVreg_EnableGpuFirmware='1' ==== Verify ==== **** nvidia-smi -q | grep 'GSP' ====== CORSAIR ====== * https://github.com/ckb-next/ckb-next/wiki/Troubleshooting#usbhid-quirks * :!: Seemingly only needed with the mouse plugged directly to the motherboard, and not through USB-C docks * :?: 2024/09/30: Without that quirk, mouse failed immediately after setting ''preempt=none'' from a USB-C dock usbcore.quirks='1b1c:1b75:bgmn'