====== Information ======
* Various kernel options
* https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
* :!: 2024: ''systemd-boot'' does not like typewriter apostrophes '''like this' '', but GRUB handles it fine ((above kernel params page mentions double-quote usage))
====== 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 ======
===== 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 =====
****
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'
====== 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'