ThinkPad:ArchLinux: Difference between revisions
mNo edit summary |
(→Video) |
||
Line 33: | Line 33: | ||
It is also a good idea to install PowerTOP in order to monitor power usage. | It is also a good idea to install PowerTOP in order to monitor power usage. | ||
{{Console|1=yaort -S powertop}} | {{Console|1=yaort -S powertop}} | ||
=== Fan Control === | === Fan Control === | ||
Install [//aur.archlinux.org/packages/thinkfan/ thinkfan], default configuration is installed into {{mono|/usr/lib/modprobe.d/thinkpad_acpi.conf}}. | Install [//aur.archlinux.org/packages/thinkfan/ thinkfan], default configuration is installed into {{mono|/usr/lib/modprobe.d/thinkpad_acpi.conf}}. | ||
Line 51: | Line 50: | ||
Finally enable and start thinkfan. | Finally enable and start thinkfan. | ||
{{Console|1=sudo systemctl enable thinkfan|2=sudo systemctl start thinkfan}} | {{Console|1=sudo systemctl enable thinkfan|2=sudo systemctl start thinkfan}} | ||
=== Kernel === | === Kernel === | ||
For added power savings we can change a few kernel options. Enabling Intel i915 RC6 is a feature that allows the GPU to enter a lower power state during GPU idle. Enabling i915 framebuffer compression reduces the memory bandwidth on screen refreshes, reported to save ~0.6W on an X220. Finally the DRM vblank off delay reduces wakup events and theoretically saves power. | For added power savings we can change a few kernel options. Enabling Intel i915 RC6 is a feature that allows the GPU to enter a lower power state during GPU idle. Enabling i915 framebuffer compression reduces the memory bandwidth on screen refreshes, reported to save ~0.6W on an X220. Finally the DRM vblank off delay reduces wakup events and theoretically saves power.<br/> | ||
To enable all of these add the following to the options line in your {{mono|/boot/EFI/BOOT/refind.conf}} file for Arch Linux. | To enable all of these add the following to the options line in your {{mono|/boot/EFI/BOOT/refind.conf}} file for Arch Linux. | ||
{{Console|prompt=false|1=moo}} | {{Console|prompt=false|1=moo}} | ||
=== SSD === | === SSD === | ||
First if you want to enable TRIM on boot, create a systemd service. | First if you want to enable TRIM on boot, create a systemd service. | ||
Line 77: | Line 73: | ||
Then you can start the service. | Then you can start the service. | ||
{{Console|1=sudo systemctl start smartd}} | {{Console|1=sudo systemctl start smartd}} | ||
=== Video === | |||
To fix the Intel HD 3000 graphics showing tearing during video playback or other fast movement on the screen. | |||
{{Console|1=echo -e 'Section "Device"\n Identifier "Intel HD 3000 Graphics"\n Driver "intel"\n Option "TearFree" "true"\nEndSection' {{!}} sudo tee /etc/X11/xorg.conf.d/20-intel.conf}} | |||
[[Category:ThinkPad]] | [[Category:ThinkPad]] |
Revision as of 11:29, 16 July 2017
UNDER CONSTRUCTION: The document is currently being modified! |
Customization
Keeping the Boot Log on TTY1
In order to stop Arch Linux from clearing the screen on boot we can add the i915 module to MODULES inside of /etc/mkinitcpio.conf and then regenerate our kernel images.
# sudo sed -i -r 's/^MODULES="([a-z0-9 _-]+)"/MODULES="\1 i915"/' /etc/mkinitcpio.conf # sudo mkinitcpio -p linux |
Then create a directory for getty overrides and create one with the following.
# sudo mkdir /etc/systemd/system/getty@tty1.service.d # sudo vim /etc/systemd/system/getty@tty1.service.d/noclear.conf |
[Service] TTYVTDisallocate=no |
Traditional Device Node Names
To translate the predictable device node names back into traditional ones, can create the following. You can use the vim command :r !cat /sys/class/net/wlp3s0/address, replacing the device node respectively, in order to get the MAC Address of each device.
# vim /etc/udev/rules.d/10-network.rules |
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="MAC_ADDRESS_FOR_NIC", NAME=="eth0" SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="MAC_ADDRESS_FOR_WIFI", NAME=="wlan0" |
Console Fonts
Everyone have their own opinion, you can pull up a list with ls /usr/share/kbd/consolefonts. To test out a font use setfont, issue the command by itself to return to the default. You can also issue showconsolefont to show a list of all available characters.
# setfont -m 8859-2 gr928-8x16-thin # showconsolefont |
We can set this at boot by adding it to /etc/vconsole.conf.
# echo -e "FONT=gr928-8x16-thin\nMAP=8859-2" | sudo tee --append /etc/vconsole.conf |
Hardware
Battery/CPU
Install TLP and related packages. Then enable it with systemd, don't forget to mask the required services (skip NetworkManager if you use this).
# yaourt -S tlp tp_smapi acpi_call # sudo systemctl enable tlp # sudo systemctl enable tlp-sleep |
# sudo systemctl mask NetworkManager.service # sudo systemctl mask systemd-rfkill.service # sudo systemctl mask systemd-rfkill.socket |
Then edit the tlp config file to setup your TLP profile. You can see a copy of mine here (TODO: Insert link to GitHub)
# sudo vim /etc/defaults/tlp |
TLP status can be shown with the following:
# sudo tlp-stat |
It is also a good idea to install PowerTOP in order to monitor power usage.
# yaort -S powertop |
Fan Control
Install thinkfan, default configuration is installed into /usr/lib/modprobe.d/thinkpad_acpi.conf.
# yaourt -S acpi lm_sensors thinkfan |
Then detect the hardware monitors chips that are available. Then re-enable the thinkpad_acpi kernel module to update with the new config.
# sudo sensors-detect # sudo modprobe thinkpad_acpi |
To show the current thermal and cooling information use acpi.
# sudo acpi -V |
To show the current fan speed and level.
# sudo cat /proc/acpi/ibm/fan |
Make the changes to point it to the right temperature reading, you can use :r !sudo find /sys/devices -type f -name "temp*_input" in order to paste all the monitors into the file.
# sudo vim /etc/thinkfan.conf |
When finished it should look something like this:
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input hwmon /sys/devices/virtual/hwmon/hwmon1/temp1_input tp_fan /proc/acpi/ibm/fan (0, 0, 35) (1, 33, 38) (2, 36, 45) (3, 39, 49) (4, 46, 58) (5, 50, 62) (7, 56, 32767) |
You can verify the config is written correctly with the following command.
# sudo thinkfan -n |
Finally enable and start thinkfan.
# sudo systemctl enable thinkfan # sudo systemctl start thinkfan |
Kernel
For added power savings we can change a few kernel options. Enabling Intel i915 RC6 is a feature that allows the GPU to enter a lower power state during GPU idle. Enabling i915 framebuffer compression reduces the memory bandwidth on screen refreshes, reported to save ~0.6W on an X220. Finally the DRM vblank off delay reduces wakup events and theoretically saves power.
To enable all of these add the following to the options line in your /boot/EFI/BOOT/refind.conf file for Arch Linux.
moo |
SSD
First if you want to enable TRIM on boot, create a systemd service. Also create a systemd service for adjusting the governor on system boot-up.
# sudo vim /etc/systemd/system/ssd-trim.service |
[Unit] Description=Runs fstrim on the SSD Requires=multi-user.target After=multi-user.target [Service] Type=oneshot RemainAfterExit=no ExecStart=/usr/bin/fstrim -v / [Install] WantedBy=multi-user.target |
To monitor the HDD or SSD installed you need to install the smartmontools package.
# yaourt -S smartmontools |
You can view an overall health assessment with the following:
# sudo smartctl -H /dev/sdX |
Enable and start the smartd systemd service to enable SMART monitoring for all disks.
# sudo systemctl enable smartd |
We can also have SMART email us and run a script for notifications on SMART errors.
# sudo sed -i 's/^DEVICESCAN/DEVICESCAN -m address\@domain.com -M exec \/usr\/bin\/smartdnotify/' /etc/smartd.conf |
Then create the /usr/bin/smartdnotify script (replacing both instances of kyau with your username).
# sudo vim /usr/bin/smartdnotify |
#!/bin/sh sudo -u kyau DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/kyau/bus notify-send "S.M.A.R.T Error ($SMARTD_FAILTYPE)" "$SMARTD_MESSAGE" --icon=dialog-warning |
# sudo chmod +x /usr/bin/smartdnotify |
Then you can start the service.
# sudo systemctl start smartd |
Video
To fix the Intel HD 3000 graphics showing tearing during video playback or other fast movement on the screen.
# echo -e 'Section "Device"\n Identifier "Intel HD 3000 Graphics"\n Driver "intel"\n Option "TearFree" "true"\nEndSection' | sudo tee /etc/X11/xorg.conf.d/20-intel.conf |