Skip to content

Latest commit

 

History

History
executable file
·
71 lines (47 loc) · 1.92 KB

File metadata and controls

executable file
·
71 lines (47 loc) · 1.92 KB

ThinkPad X1 Carbon Gen. 8 Fixes

TTY Console

Certain kernel parameters are required to fix the console stuttering issues. The issue is linked to the power-saving feature of the i915 framebuffer (i915fb).

Parameters:

  • i915.modeset=1
  • i915.enable_dc=0

/etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="... i915.modeset=1 i915.enable_dc=0"

HiDPI

The thinkpad X1C8 has a default display resolution of 3840x2160, requiring several fixes to scale essential system components. This section does not include fixes for userland applications.

TTY Console fonts are limited to a maximum of 32×32 pixels, which makes text appear tiny on HiDPI displays. A solution is fbterm, a user-space console emulator that allows scalable fonts for clear, high-resolution text.

# Installs fbterm from aur
yay -S fbterm

# Adds user to video & input groups
sudo usermod -aG video,input <user>

# Creates an alias in the user's shell config (zsh-specific)
echo 'alias fx='~/.fbtermrc' >> ~/.zshrc

~/.fbtermrc:

#!/bin/sh
fbterm -n "Consolas" -s 64

The X server can downscale the high-resolution display output, making UI elements and fonts appear correctly sized without affecting actual pixel density.

~/.xinitrc:

# Scales the X server's display to 1920x1080
xrandr --output eDP1 --scale 0.5x0.5
xrandr --output HDMI-1 --mode 1920x1080 --rate 60

DBus

DBus used to be auto-launched by XFCE4 components via dbus-launch --autolaunch, but the feature has since been disabled at compile-time.

~/.xinitrc:

# Start D-Bus session if not already running
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
    eval "$(dbus-launch --sh-syntax --exit-with-session)"
fi

Systemd

This minimal setup does not start the user's systemd instance by itself, so the command below is required to enable systemctl --user services without a graphical login.

loginctl enable-linger <user>