Merge pull request #60 from azazel75/master

Add basic support for 6th-gen X1
This commit is contained in:
Jörg Thalheim 2018-07-30 11:09:41 +01:00 committed by GitHub
commit b4303dc68b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 117 additions and 0 deletions

View 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;
}

View 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"
# ];
}

View file

@ -0,0 +1,6 @@
{
imports = [
../.
../../../common/cpu/intel
];
}