aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2023-02-17 09:33:16 +0100
committerCamil Staps2023-02-17 09:33:16 +0100
commit7e0f082dba51855e423700968d0c998899b5b813 (patch)
tree3538053a405303d8266f14956b077ce0d014e6e2
parentAdd yoga-specific scripts for external monitor and network (diff)
Add yoga installation notes
-rw-r--r--yoga/README.md30
-rw-r--r--yoga/etc/X11/xorg.conf.d/20-keyboard.conf5
-rw-r--r--yoga/etc/X11/xorg.conf.d/30-touchpad.conf8
-rw-r--r--yoga/etc/modprobe.d/blacklist-pcspkr.conf1
-rw-r--r--yoga/etc/tlp.conf550
-rw-r--r--yoga/etc/udev/rules.d/81-backlight.rules3
6 files changed, 597 insertions, 0 deletions
diff --git a/yoga/README.md b/yoga/README.md
new file mode 100644
index 0000000..d7d2d12
--- /dev/null
+++ b/yoga/README.md
@@ -0,0 +1,30 @@
+Installation notes on the Yoga Slim 7, February 2023.
+This is with Debian Bookworm, which is testing at the moment.
+
+### Graphics
+
+- Need `firmware-amd-graphics` from `non-free`, the `amdgpu` module.
+- For the backlight we need `/etc/udev/rules.d/81-backlight.rules` to give the
+ `video` group permissions to change the backlight level; then we can write to
+ `/sys/class/backlight/amdgpu_bl0/brightness` (see `.i3/config`).
+
+### Wireless
+
+- Need `firmware-misc-nonfree` from `non-free`, the `mt7921` module.
+- Use `rfkill` to list the wireless devices, then `rfkill unblock` to remove
+ the soft blocks.
+
+### Audio
+
+- Need `firmware-sof-signed` from `non-free`(?), as well as `pulseaudio`.
+
+### Battery saving
+
+```
+$ sudo apt install tlp
+$ sudo systemctl enable tlp.service
+$ sudo tlp start
+```
+
+and see the settings in `/etc/tlp.conf`. Especially CPU scaling is important to
+reduce power usage on battery.
diff --git a/yoga/etc/X11/xorg.conf.d/20-keyboard.conf b/yoga/etc/X11/xorg.conf.d/20-keyboard.conf
new file mode 100644
index 0000000..6421415
--- /dev/null
+++ b/yoga/etc/X11/xorg.conf.d/20-keyboard.conf
@@ -0,0 +1,5 @@
+Section "InputClass"
+ Identifier "keyboard defaults"
+ MatchIsKeyboard "on"
+ Option "XKbOptions" "compose:ralt"
+EndSection
diff --git a/yoga/etc/X11/xorg.conf.d/30-touchpad.conf b/yoga/etc/X11/xorg.conf.d/30-touchpad.conf
new file mode 100644
index 0000000..2564abe
--- /dev/null
+++ b/yoga/etc/X11/xorg.conf.d/30-touchpad.conf
@@ -0,0 +1,8 @@
+Section "InputClass"
+ Identifier "touchpad"
+ Driver "libinput"
+ MatchIsTouchpad "on"
+ Option "Tapping" "on"
+ Option "NaturalScrolling" "on"
+ Option "ClickMethod" "clickfinger"
+EndSection
diff --git a/yoga/etc/modprobe.d/blacklist-pcspkr.conf b/yoga/etc/modprobe.d/blacklist-pcspkr.conf
new file mode 100644
index 0000000..b46792e
--- /dev/null
+++ b/yoga/etc/modprobe.d/blacklist-pcspkr.conf
@@ -0,0 +1 @@
+blacklist pcspkr
diff --git a/yoga/etc/tlp.conf b/yoga/etc/tlp.conf
new file mode 100644
index 0000000..6a73dc7
--- /dev/null
+++ b/yoga/etc/tlp.conf
@@ -0,0 +1,550 @@
+# ------------------------------------------------------------------------------
+# /etc/tlp.conf - TLP user configuration (version 1.4)
+# See full explanation: https://linrunner.de/tlp/settings
+#
+# Settings are read in the following order:
+#
+# 1. Intrinsic defaults
+# 2. /etc/tlp.d/*.conf - Drop-in customization snippets
+# 3. /etc/tlp.conf - User configuration (this file)
+#
+# Notes:
+# - In case of identical parameters, the last occurence has precedence
+# - This also means, parameters enabled here will override anything else
+# - However you may append values to a parameter already defined as intrinsic
+# default or in a previously read file: use PARAMETER+="add values"
+# - IMPORTANT: all parameters here are disabled; remove the leading '#' if you
+# like to enable a feature without default or have a value different from the
+# default
+# - Default *: intrinsic default that is effective when the parameter is missing
+# or disabled by a leading '#'; use PARAM="" to disable an intrinsic default
+# - Default <none>: do nothing or use kernel/hardware defaults
+# -
+# ------------------------------------------------------------------------------
+# tlp - Parameters for power saving
+
+# Set to 0 to disable, 1 to enable TLP.
+# Default: 1
+
+#TLP_ENABLE=1
+
+# Control how warnings about invalid settings are issued:
+# 0=disabled,
+# 1=background tasks (boot, resume, change of power source) report to syslog,
+# 2=shell commands report to the terminal (stderr),
+# 3=combination of 1 and 2
+# Default: 3
+
+#TLP_WARN_LEVEL=3
+
+# Operation mode when no power supply can be detected: AC, BAT.
+# Concerns some desktop and embedded hardware only.
+# Default: <none>
+
+#TLP_DEFAULT_MODE=AC
+
+# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
+# Note: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC.
+# Default: 0
+
+#TLP_PERSISTENT_DEFAULT=0
+
+# Power supply classes to ignore when determining operation mode: AC, USB, BAT.
+# Separate multiple classes with spaces.
+# Note: try on laptops where operation mode AC/BAT is incorrectly detected.
+# Default: <none>
+
+#TLP_PS_IGNORE="BAT"
+
+# Seconds laptop mode has to wait after the disk goes idle before doing a sync.
+# Non-zero value enables, zero disables laptop mode.
+# Default: 0 (AC), 2 (BAT)
+
+#DISK_IDLE_SECS_ON_AC=0
+#DISK_IDLE_SECS_ON_BAT=2
+
+# Dirty page values (timeouts in secs).
+# Default: 15 (AC), 60 (BAT)
+
+#MAX_LOST_WORK_SECS_ON_AC=15
+#MAX_LOST_WORK_SECS_ON_BAT=60
+
+# Select a CPU frequency scaling governor.
+# Intel processor with intel_pstate driver:
+# performance, powersave(*).
+# Intel processor with intel_cpufreq driver (aka intel_pstate passive mode):
+# conservative, ondemand, userspace, powersave, performance, schedutil(*).
+# Intel and other processor brands with acpi-cpufreq driver:
+# conservative, ondemand(*), userspace, powersave, performance, schedutil(*).
+# Use tlp-stat -p to show the active driver and available governors.
+# Important:
+# Governors marked (*) above are power efficient for *almost all* workloads
+# and therefore kernel and most distributions have chosen them as defaults.
+# You should have done your research about advantages/disadvantages *before*
+# changing the governor.
+# Default: <none>
+
+#CPU_SCALING_GOVERNOR_ON_AC=powersave
+#CPU_SCALING_GOVERNOR_ON_BAT=powersave
+
+# Set the min/max frequency available for the scaling governor.
+# Possible values depend on your CPU. For available frequencies see
+# the output of tlp-stat -p.
+# Notes:
+# - Min/max frequencies must always be specified for both AC *and* BAT
+# - Not recommended for use with the intel_pstate scaling driver, use
+# CPU_MIN/MAX_PERF_ON_AC/BAT below instead
+# Default: <none>
+
+#CPU_SCALING_MIN_FREQ_ON_AC=0
+CPU_SCALING_MAX_FREQ_ON_AC=3300000
+#CPU_SCALING_MIN_FREQ_ON_BAT=0
+CPU_SCALING_MAX_FREQ_ON_BAT=1600000
+
+# Set Intel CPU energy/performance policies HWP.EPP and EPB:
+# performance, balance_performance, default, balance_power, power.
+# Values are given in order of increasing power saving.
+# Notes:
+# - HWP.EPP: requires kernel 4.10, intel_pstate scaling driver and Intel Core i
+# 6th gen. or newer CPU
+# - EPB: requires kernel 5.2 or module msr and x86_energy_perf_policy from
+# linux-tools, intel_pstate or intel_cpufreq scaling driver and Intel Core i
+# 2nd gen. or newer CPU
+# - When HWP.EPP is available, EPB is not set
+# Default: balance_performance (AC), balance_power (BAT)
+
+#CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance
+#CPU_ENERGY_PERF_POLICY_ON_BAT=balance_power
+
+# Set Intel CPU P-state performance: 0..100 (%).
+# Limit the max/min P-state to control the power dissipation of the CPU.
+# Values are stated as a percentage of the available performance.
+# Requires intel_pstate or intel_cpufreq driver and Intel Core i 2nd gen. or
+# newer CPU.
+# Default: <none>
+
+#CPU_MIN_PERF_ON_AC=0
+#CPU_MAX_PERF_ON_AC=100
+#CPU_MIN_PERF_ON_BAT=0
+#CPU_MAX_PERF_ON_BAT=30
+
+# Set the CPU "turbo boost" (Intel) or "turbo core" (AMD) feature:
+# 0=disable, 1=allow.
+# Note: a value of 1 does *not* activate boosting, it just allows it.
+# Default: <none>
+
+CPU_BOOST_ON_AC=1
+CPU_BOOST_ON_BAT=0
+
+# Set the Intel CPU HWP dynamic boost feature:
+# 0=disable, 1=enable.
+# Requires intel_pstate scaling driver in 'active' mode and Intel Core i
+# 6th gen. or newer CPU.
+# Default: <none>
+
+#CPU_HWP_DYN_BOOST_ON_AC=1
+#CPU_HWP_DYN_BOOST_ON_BAT=0
+
+# Minimize number of used CPU cores/hyper-threads under light load conditions:
+# 0=disable, 1=enable.
+# Default: 0 (AC), 1 (BAT)
+
+#SCHED_POWERSAVE_ON_AC=0
+#SCHED_POWERSAVE_ON_BAT=1
+
+# Kernel NMI Watchdog:
+# 0=disable (default, saves power), 1=enable (for kernel debugging only).
+# Default: 0
+
+#NMI_WATCHDOG=0
+
+# Select platform profile:
+# performance, balanced, low-power.
+# Controls system operating characteristics around power/performance levels,
+# thermal and fan speed. Values are given in order of increasing power saving.
+# Note: check the output of tlp-stat -p to determine availability on your
+# hardware and additional profiles such as: balanced-performance, quiet, cool.
+# Default: <none>
+
+PLATFORM_PROFILE_ON_AC=performance
+PLATFORM_PROFILE_ON_BAT=low-power
+
+# Define disk devices on which the following DISK/AHCI_RUNTIME parameters act.
+# Separate multiple devices with spaces.
+# Devices can be specified by disk ID also (lookup with: tlp diskid).
+# Default: "nvme0n1 sda"
+
+#DISK_DEVICES="nvme0n1 sda"
+
+# Disk advanced power management level: 1..254, 255 (max saving, min, off).
+# Levels 1..127 may spin down the disk; 255 allowable on most drives.
+# Separate values for multiple disks with spaces. Use the special value 'keep'
+# to keep the hardware default for the particular disk.
+# Default: 254 (AC), 128 (BAT)
+
+#DISK_APM_LEVEL_ON_AC="254 254"
+#DISK_APM_LEVEL_ON_BAT="128 128"
+
+# Exclude disk classes from advanced power management (APM):
+# sata, ata, usb, ieee1394.
+# Separate multiple classes with spaces.
+# CAUTION: USB and IEEE1394 disks may fail to mount or data may get corrupted
+# with APM enabled. Be careful and make sure you have backups of all affected
+# media before removing 'usb' or 'ieee1394' from the denylist!
+# Default: "usb ieee1394"
+
+#DISK_APM_CLASS_DENYLIST="usb ieee1394"
+
+# Hard disk spin down timeout:
+# 0: spin down disabled
+# 1..240: timeouts from 5s to 20min (in units of 5s)
+# 241..251: timeouts from 30min to 5.5 hours (in units of 30min)
+# See 'man hdparm' for details.
+# Separate values for multiple disks with spaces. Use the special value 'keep'
+# to keep the hardware default for the particular disk.
+# Default: <none>
+
+#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
+#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"
+
+# Select I/O scheduler for the disk devices.
+# Multi queue (blk-mq) schedulers:
+# mq-deadline(*), none, kyber, bfq
+# Single queue schedulers:
+# deadline(*), cfq, bfq, noop
+# (*) recommended.
+# Separate values for multiple disks with spaces. Use the special value 'keep'
+# to keep the kernel default scheduler for the particular disk.
+# Notes:
+# - Multi queue (blk-mq) may need kernel boot option 'scsi_mod.use_blk_mq=1'
+# and 'modprobe mq-deadline-iosched|kyber|bfq' on kernels < 5.0
+# - Single queue schedulers are legacy now and were removed together with
+# the old block layer in kernel 5.0
+# Default: keep
+
+#DISK_IOSCHED="mq-deadline mq-deadline"
+
+# AHCI link power management (ALPM) for SATA disks:
+# min_power, med_power_with_dipm(*), medium_power, max_performance.
+# (*) Kernel 4.15 (or newer) required, then recommended.
+# Multiple values separated with spaces are tried sequentially until success.
+# Default:
+# - "med_power_with_dipm max_performance" (AC)
+# - "med_power_with_dipm min_power" (BAT)
+
+#SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
+#SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
+
+# Exclude SATA links from AHCI link power management (ALPM).
+# SATA links are specified by their host. Refer to the output of
+# tlp-stat -d to determine the host; the format is "hostX".
+# Separate multiple hosts with spaces.
+# Default: <none>
+
+#SATA_LINKPWR_DENYLIST="host1"
+
+# Runtime Power Management for NVMe, SATA, ATA and USB disks
+# as well as SATA ports:
+# on=disable, auto=enable.
+# Note: SATA controllers are PCIe bus devices and handled by RUNTIME_PM further
+# down.
+
+# Default: on (AC), auto (BAT)
+
+#AHCI_RUNTIME_PM_ON_AC=on
+#AHCI_RUNTIME_PM_ON_BAT=auto
+
+# Seconds of inactivity before disk is suspended.
+# Note: effective only when AHCI_RUNTIME_PM_ON_AC/BAT is activated.
+# Default: 15
+
+#AHCI_RUNTIME_PM_TIMEOUT=15
+
+# Power off optical drive in UltraBay/MediaBay: 0=disable, 1=enable.
+# Drive can be powered on again by releasing (and reinserting) the eject lever
+# or by pressing the disc eject button on newer models.
+# Note: an UltraBay/MediaBay hard disk is never powered off.
+# Default: 0
+
+#BAY_POWEROFF_ON_AC=0
+#BAY_POWEROFF_ON_BAT=0
+
+# Optical drive device to power off
+# Default: sr0
+
+#BAY_DEVICE="sr0"
+
+# Set the min/max/turbo frequency for the Intel GPU.
+# Possible values depend on your hardware. For available frequencies see
+# the output of tlp-stat -g.
+# Default: <none>
+
+#INTEL_GPU_MIN_FREQ_ON_AC=0
+#INTEL_GPU_MIN_FREQ_ON_BAT=0
+#INTEL_GPU_MAX_FREQ_ON_AC=0
+#INTEL_GPU_MAX_FREQ_ON_BAT=0
+#INTEL_GPU_BOOST_FREQ_ON_AC=0
+#INTEL_GPU_BOOST_FREQ_ON_BAT=0
+
+# AMD GPU power management.
+# Performance level (DPM): auto, low, high; auto is recommended.
+# Note: requires amdgpu or radeon driver.
+# Default: auto
+
+#RADEON_DPM_PERF_LEVEL_ON_AC=auto
+#RADEON_DPM_PERF_LEVEL_ON_BAT=auto
+
+# Dynamic power management method (DPM): balanced, battery, performance.
+# Note: radeon driver only.
+# Default: <none>
+
+#RADEON_DPM_STATE_ON_AC=performance
+#RADEON_DPM_STATE_ON_BAT=battery
+
+# Graphics clock speed (profile method): low, mid, high, auto, default;
+# auto = mid on BAT, high on AC.
+# Note: radeon driver on legacy ATI hardware only (where DPM is not available).
+# Default: default
+
+#RADEON_POWER_PROFILE_ON_AC=default
+RADEON_POWER_PROFILE_ON_BAT=low
+
+# Wi-Fi power saving mode: on=enable, off=disable.
+# Default: off (AC), on (BAT)
+
+#WIFI_PWR_ON_AC=off
+#WIFI_PWR_ON_BAT=on
+
+# Disable Wake-on-LAN: Y/N.
+# Default: Y
+
+#WOL_DISABLE=Y
+
+# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
+# A value of 0 disables, >= 1 enables power saving.
+# Note: 1 is recommended for Linux desktop environments with PulseAudio,
+# systems without PulseAudio may require 10.
+# Default: 1
+
+#SOUND_POWER_SAVE_ON_AC=1
+#SOUND_POWER_SAVE_ON_BAT=1
+
+# Disable controller too (HDA only): Y/N.
+# Note: effective only when SOUND_POWER_SAVE_ON_AC/BAT is activated.
+# Default: Y
+
+#SOUND_POWER_SAVE_CONTROLLER=Y
+
+# PCIe Active State Power Management (ASPM):
+# default(*), performance, powersave, powersupersave.
+# (*) keeps BIOS ASPM defaults (recommended)
+# Default: <none>
+
+#PCIE_ASPM_ON_AC=default
+#PCIE_ASPM_ON_BAT=default
+
+# Runtime Power Management for PCIe bus devices: on=disable, auto=enable.
+# Default: on (AC), auto (BAT)
+
+#RUNTIME_PM_ON_AC=on
+#RUNTIME_PM_ON_BAT=auto
+
+# Exclude listed PCIe device adresses from Runtime PM.
+# Note: this preserves the kernel driver default, to force a certain state
+# use RUNTIME_PM_ENABLE/DISABLE instead.
+# Separate multiple addresses with spaces.
+# Use lspci to get the adresses (1st column).
+# Default: <none>
+
+#RUNTIME_PM_DENYLIST="11:22.3 44:55.6"
+
+# Exclude PCIe devices assigned to the listed drivers from Runtime PM.
+# Note: this preserves the kernel driver default, to force a certain state
+# use RUNTIME_PM_ENABLE/DISABLE instead.
+# Separate multiple drivers with spaces.
+# Default: "mei_me nouveau radeon", use "" to disable completely.
+
+#RUNTIME_PM_DRIVER_DENYLIST="mei_me nouveau radeon"
+
+# Permanently enable/disable Runtime PM for listed PCIe device addresses
+# (independent of the power source). This has priority over all preceding
+# Runtime PM settings. Separate multiple addresses with spaces.
+# Use lspci to get the adresses (1st column).
+# Default: <none>
+
+#RUNTIME_PM_ENABLE="11:22.3"
+#RUNTIME_PM_DISABLE="44:55.6"
+
+# Set to 0 to disable, 1 to enable USB autosuspend feature.
+# Default: 1
+
+#USB_AUTOSUSPEND=1
+
+# Exclude listed devices from USB autosuspend (separate with spaces).
+# Use lsusb to get the ids.
+# Note: input devices (usbhid) and libsane-supported scanners are excluded
+# automatically.
+# Default: <none>
+
+#USB_DENYLIST="1111:2222 3333:4444"
+
+# Exclude audio devices from USB autosuspend:
+# 0=do not exclude, 1=exclude.
+# Default: 1
+
+#USB_EXCLUDE_AUDIO=1
+
+# Exclude bluetooth devices from USB autosuspend:
+# 0=do not exclude, 1=exclude.
+# Default: 0
+
+#USB_EXCLUDE_BTUSB=0
+
+# Exclude phone devices from USB autosuspend:
+# 0=do not exclude, 1=exclude (enable charging).
+# Default: 0
+
+#USB_EXCLUDE_PHONE=0
+
+# Exclude printers from USB autosuspend:
+# 0=do not exclude, 1=exclude.
+# Default: 1
+
+#USB_EXCLUDE_PRINTER=1
+
+# Exclude WWAN devices from USB autosuspend:
+# 0=do not exclude, 1=exclude.
+# Default: 0
+
+#USB_EXCLUDE_WWAN=0
+
+# Allow USB autosuspend for listed devices even if already denylisted or
+# excluded above (separate with spaces). Use lsusb to get the ids.
+# Default: 0
+
+#USB_ALLOWLIST="1111:2222 3333:4444"
+
+# Set to 1 to disable autosuspend before shutdown, 0 to do nothing
+# Note: use as a workaround for USB devices that cause shutdown problems.
+# Default: 0
+
+#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=0
+
+# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
+# on system startup: 0=disable, 1=enable.
+# Note: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
+# are ignored when this is enabled.
+# Default: 0
+
+#RESTORE_DEVICE_STATE_ON_STARTUP=0
+
+# Radio devices to disable on startup: bluetooth, nfc, wifi, wwan.
+# Separate multiple devices with spaces.
+# Default: <none>
+
+#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth nfc wifi wwan"
+
+# Radio devices to enable on startup: bluetooth, nfc, wifi, wwan.
+# Separate multiple devices with spaces.
+# Default: <none>
+
+#DEVICES_TO_ENABLE_ON_STARTUP="wifi"
+
+# Radio devices to disable on shutdown: bluetooth, nfc, wifi, wwan.
+# Note: use as a workaround for devices that are blocking shutdown.
+# Default: <none>
+
+#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth nfc wifi wwan"
+
+# Radio devices to enable on shutdown: bluetooth, nfc, wifi, wwan.
+# (to prevent other operating systems from missing radios).
+# Default: <none>
+
+#DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan"
+
+# Radio devices to enable on AC: bluetooth, nfc, wifi, wwan.
+# Default: <none>
+
+#DEVICES_TO_ENABLE_ON_AC="bluetooth nfc wifi wwan"
+
+# Radio devices to disable on battery: bluetooth, nfc, wifi, wwan.
+# Default: <none>
+
+#DEVICES_TO_DISABLE_ON_BAT="bluetooth nfc wifi wwan"
+
+# Radio devices to disable on battery when not in use (not connected):
+# bluetooth, nfc, wifi, wwan.
+# Default: <none>
+
+#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth nfc wifi wwan"
+
+# Battery Care -- Charge thresholds
+# Charging starts when the charge level is below the START_CHARGE_THRESH value
+# when the charger is connected. It stops when the STOP_CHARGE_THRESH value is
+# reached.
+# Required hardware: Lenovo ThinkPads and select other laptop brands are driven
+# via specific plugins, the actual support status is shown by tlp-stat -b.
+# For more explanations and vendor specific details refer to
+# https://linrunner.de/tlp/settings/battery.html
+# Notes:
+# - ThinkPads may require external kernel module(s), refer to the output of
+# tlp-stat -b
+# - Vendor specific parameter value ranges are shown by tlp-stat -b
+# - If your hardware supports a start *and* a stop threshold, you must
+# specify both, otherwise TLP will refuse to apply the single threshold
+# - If your hardware supports only a stop threshold, set the start value to 0
+
+# BAT0: Primary / Main / Internal battery (values in %)
+# Note: also use for batteries BATC, BATT and CMB0
+# Default: <none>
+
+START_CHARGE_THRESH_BAT0=75
+STOP_CHARGE_THRESH_BAT0=80
+
+# BAT1: Secondary / Ultrabay / Slice / Replaceable battery (values in %)
+# Note: primary on some laptops
+# Default: <none>
+
+START_CHARGE_THRESH_BAT1=75
+STOP_CHARGE_THRESH_BAT1=80
+
+# Restore charge thresholds when AC is unplugged: 0=disable, 1=enable.
+# Default: 0
+
+#RESTORE_THRESHOLDS_ON_BAT=1
+
+# Control battery care drivers: 0=disable, 1=enable.
+# Default: 1 (all)
+
+#NATACPI_ENABLE=1
+#TPACPI_ENABLE=1
+#TPSMAPI_ENABLE=1
+
+# ------------------------------------------------------------------------------
+# tlp-rdw - Parameters for the radio device wizard
+
+# Possible devices: bluetooth, wifi, wwan.
+# Separate multiple radio devices with spaces.
+# Default: <none> (for all parameters below)
+
+# Radio devices to disable on connect.
+
+#DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
+#DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
+#DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"
+
+# Radio devices to enable on disconnect.
+
+#DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
+#DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
+#DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
+
+# Radio devices to enable/disable when docked.
+
+#DEVICES_TO_ENABLE_ON_DOCK=""
+#DEVICES_TO_DISABLE_ON_DOCK=""
+
+# Radio devices to enable/disable when undocked.
+
+#DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
+#DEVICES_TO_DISABLE_ON_UNDOCK=""
diff --git a/yoga/etc/udev/rules.d/81-backlight.rules b/yoga/etc/udev/rules.d/81-backlight.rules
new file mode 100644
index 0000000..270e87b
--- /dev/null
+++ b/yoga/etc/udev/rules.d/81-backlight.rules
@@ -0,0 +1,3 @@
+# https://wiki.archlinux.org/title/backlight#Udev_rule
+ACTION=="change", SUBSYSTEM=="backlight", RUN+="/bin/chgrp video /sys/class/backlight/amdgpu_bl0/brightness"
+ACTION=="change", SUBSYSTEM=="backlight", RUN+="/bin/chmod g+w /sys/class/backlight/amdgpu_bl0/brightness"