User:Nathanlkoch/Tutorials/Lenovo/Hardware/X1Carbon5thGen
Lenovo X1 Carbon 5th Gen
Kernel Config
The following Kernel conf will enable all features on the Lenovo X1 Carbon Gen 5 with Docking support.
options i915 enable_fbc=1 enable_guc=1
Kernel config is for 6.2 Kernel. https://kernel.org/ tarballs work with genkernel.
root #
emerge --ask sys-kernel/linux-firmware
COMPRESS_INITRD_TYPE="lz4"
LZ4 is way faster.
Use genkernel as per usual, loading the kernel file submitted.
Xorg - Acceleration
VIDEO_CARDS="iris intel"
USE="vaapi vdpau opencl opengl gles3 vulkan"
The Iris driver works on the 9th Gen Skylake Intel Graphics. Use it.
root #
emerge -av media-libs/libva-intel-media-driver
root #
emerge -av media-libs/vulkan-loader
export LIBVA_DRIVERS_PATH=/usr/lib64/va/drivers/
export LIBVA_DRIVER_NAME=iHD
Hardware decoding of Video.
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
Option "DRI" "iris"
Option "TripleBuffer" "true"
# Option "TearFree" "true"
EndSection
Section "Monitor"
Option "DPMS" "true"
EndSection
Audio
Install EasyEffects
root #
emerge -av media-sound/easyeffects
Install EasyEffects Presets
user $
bash -c "$(curl -fsSL https://raw.githubusercontent.com/JackHack96/PulseEffects-Presets/master/install.sh)"
The Laptop Speakers one sounds way better. Da bass!
Thunderbolt
root #
emerge -av sys-apps/thunderbolt-software-user-space
Userspace Thunderbolt for Docks and GPUs. Increased graphics performance visible.
Enable Passthrough
Bluetooth
The following settings will enable fastconnect and battery polling for devices.
Experimental=true
FastConnectable = true
Systemd services for Laptops
root #
emerge -av app-laptop/laptop-mode-tools
root #
emerge -av sys-power/thermald
root #
systemctl enable --now thermald
root #
systemctl enable --now laptop-mode
Laptop mode tools on Gentoo doesn't come with default config files.
You can grab them here https://github.com/rickysarraf/laptop-mode-tools/tree/lmt-upstream/etc/laptop-mode/conf.d
Place them in /etc/laptop-mode/conf.d/ as needed.
Optionally I would add tlp to sqeeze as much out of the battery as you can...
root #
emerge -av sys-power/tlp
root #
systemctl enable --now tlp
root #
systemctl mask systemd-rfkill.service
root #
systemctl mask systemd-rfkill.socket
You will need to adjust /etc/tlp.conf to your liking... I would recommend lowering the amount of cores used, disabling turbo boost, changing p_state scheduling, changing max frequency, slowing down nvme performance, auto enabling and disabling devices. I use my system docked most of the time. For people who run mobile a majority of the time this probably isn't recommended.
My tlp.conf. https://raw.githubusercontent.com/anathonous/Lenovo/main/Hardware/X1C5thGen/tlp.conf
Do not uncomment CPU_SCALING_FREQ in the tlp.conf it will scale to 400Mhz and you will have a bad time.
Also TLP changes my IO to DISK_IOSCHED="bfq bfq" which shows a huge performance increase.
Also you will want to enable proper thermal control.
root #
emerge -av sys-apps/lm-sensors
root #
sensors-detect
root #
systemctl enable --now lm_sensors
This should get you up and running with proper power saving features.
Battery
With the following settings. I am getting a calculated estimate power expectancy of 10 to 9 hours.