mirror of
https://github.com/NixOS/nixos-hardware
synced 2024-12-23 10:09:44 +01:00
Merge pull request #60 from azazel75/master
Add basic support for 6th-gen X1
This commit is contained in:
commit
b4303dc68b
3 changed files with 117 additions and 0 deletions
36
lenovo/thinkpad/x1/6th-gen/QHD/default.nix
Normal file
36
lenovo/thinkpad/x1/6th-gen/QHD/default.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# X1 6th generation with a QHD (2560x1440px) display
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../.
|
||||||
|
];
|
||||||
|
|
||||||
|
# Fix font sizes in X
|
||||||
|
services.xserver.dpi = 210;
|
||||||
|
fonts.fontconfig.dpi = 210;
|
||||||
|
|
||||||
|
# Fix sizes of GTK/GNOME ui elements
|
||||||
|
environment.variables = {
|
||||||
|
GDK_SCALE = lib.mkDefault "2";
|
||||||
|
GDK_DPI_SCALE= lib.mkDefault "0.5";
|
||||||
|
};
|
||||||
|
# Enable readable font on console. The example configuration that
|
||||||
|
# follows is taliored towards western languages. To see how to
|
||||||
|
# configure the font download the source tarball from
|
||||||
|
# http://terminus-font.sourceforge.net/ and read the README file on
|
||||||
|
# the root dir
|
||||||
|
|
||||||
|
# i18n = {
|
||||||
|
# # this means ISO8859-1 or ISO8859-15 or Windows-1252 codepages
|
||||||
|
# # (ter-1), 16x32 px (32), normal font weight (n)
|
||||||
|
# consoleFont = "ter-132n";
|
||||||
|
# consoleKeyMap = "us";
|
||||||
|
# defaultLocale = "en_US.UTF-8";
|
||||||
|
# consolePackages = [ pkgs.terminus_font ];
|
||||||
|
# };
|
||||||
|
|
||||||
|
# Early configure the console to make the font readable from the
|
||||||
|
# start
|
||||||
|
# boot.earlyVconsoleSetup = true;
|
||||||
|
}
|
75
lenovo/thinkpad/x1/6th-gen/default.nix
Normal file
75
lenovo/thinkpad/x1/6th-gen/default.nix
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
# A good source of information about how to fix the issues still
|
||||||
|
# standing with kernel 4.6.11 is the following wiki page:
|
||||||
|
# https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6). The
|
||||||
|
# TrackPoint and TouchPad issues there seem to have been fixed already.
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../.
|
||||||
|
];
|
||||||
|
# Give TLP service more control over battery
|
||||||
|
boot = {
|
||||||
|
extraModulePackages = with config.boot.kernelPackages; [
|
||||||
|
acpi_call
|
||||||
|
];
|
||||||
|
kernelModules = [
|
||||||
|
"acpi_call"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# See https://linrunner.de/en/tlp/docs/tlp-faq.html#battery
|
||||||
|
services.tlp.extraConfig = ''
|
||||||
|
START_CHARGE_THRESH_BAT0=75
|
||||||
|
STOP_CHARGE_THRESH_BAT0=80
|
||||||
|
CPU_SCALING_GOVERNOR_ON_BAT=powersave
|
||||||
|
ENERGY_PERF_POLICY_ON_BAT=powersave
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Temporary fix for cpu throttling issues visible in the kernel log
|
||||||
|
# (journalctl -k) by setting the same temperature limits used by
|
||||||
|
# Window$
|
||||||
|
# See https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues
|
||||||
|
systemd.services.cpu-throttling = {
|
||||||
|
enable = true;
|
||||||
|
description = "Sets the offset to 3 °C, so the new trip point is 97 °C";
|
||||||
|
documentation = [
|
||||||
|
"https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues"
|
||||||
|
];
|
||||||
|
path = [ pkgs.msr-tools ];
|
||||||
|
script = "wrmsr -a 0x1a2 0x3000000";
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
};
|
||||||
|
wantedBy = [
|
||||||
|
"timers.target"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.timers.cpu-throttling = {
|
||||||
|
enable = true;
|
||||||
|
description = "Set cpu heating limit to 97 °C";
|
||||||
|
documentation = [
|
||||||
|
"https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues"
|
||||||
|
];
|
||||||
|
timerConfig = {
|
||||||
|
OnActiveSec = 60;
|
||||||
|
OnUnitActiveSec = 60;
|
||||||
|
Unit = "cpu-throttling.service";
|
||||||
|
};
|
||||||
|
wantedBy = [
|
||||||
|
"timers.target"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable S3 suspend state: you have to manually follow the
|
||||||
|
# instructions shown here: https://delta-xi.net/#056 in order to
|
||||||
|
# produce the ACPI patched table. Put the CPIO archive in /boot and
|
||||||
|
# then enable the following lines
|
||||||
|
# boot.kernelParams = [
|
||||||
|
# "mem_sleep_default=deep"
|
||||||
|
# ];
|
||||||
|
# boot.initrd.prepend = [
|
||||||
|
# "/boot/acpi_override"
|
||||||
|
# ];
|
||||||
|
}
|
6
lenovo/thinkpad/x1/default.nix
Normal file
6
lenovo/thinkpad/x1/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../.
|
||||||
|
../../../common/cpu/intel
|
||||||
|
];
|
||||||
|
}
|
Loading…
Reference in a new issue