User:Ctag/Thinkpad X200

From ArchWiki
Jump to navigation Jump to search


Installing Archlinux

Migrating from Debian Testing Dec 2014.

Migration notes:

  • Backing up rootfs to bns-readynas
    • Script in archtools
  • Backing up home to 16G flash drive
    • rsync -avz . /media/berocs/DTM30/
    • Scratch the above, flash drive is 16G, need 33G. rsync-ing to nfs:/bkup.

Fixing the Thinklight

Ever since I bought this laptop, the Thinklight hasn't worked, and I just assumed it was a casualty of having libreboot on the system. Today, however, an irc member on #libreboot pointed me to a German forum post which discussed a hardware issue and solution with X200 Thinklights.

I set out to make the same changes to my X200, and found that it worked! My Thinklight now operates nominally, with two tiny wires run behind the ribbon cable and soldered to the connector and LED.

Image gallery

Resurfacing the keyboard

--> This process isn't permanent. For me, the new surface lasted about two months before wearing away.

This laptop isn't exactly new, and one of the most obvious signs of wear has been the "slick spots" where the texturing on individual keys has worn down. Once again, an irc user came to my aid, and informed me of this German wiki page, where the issue is tackled.

I.. can't read German, so the page was loosely translated mechanically, and I tried to put the pieces together. Here's what I got:

  • Clean the keyboard really well (dish soap, microfiber cloth, isopropyl)
  • Get some clear coat matte finish wheel spraypaint (duplicolor brand)
  • Paint the keyboard?

I wound up buying "Dupli-Color wheel matte clearcoat" which is product "HWP106"

I only washed the keyboard with a toothbrush and hand soap, drying with a microfiber towel. I didn't clean the keyboard as well as I should have, it would get perfectly clean, and then immediately some dust would settle on it. Oh well, the result still turned out OK.

Image gallery.

I added layers until the glossy spots were just barely visible, with 10 minutes between layers.

Now to find out how well it holds up!

Firefox doesn't play nice with GTK Themes

What's happening is that lxappearance sets the gtk2 theme, and firefox uses the gtk3 theme. You have to look at both.

GTK2 is ~/.gtkrc-2.0

GTK3 is ~/.config/gtk-3.0/

Using a Brother DS-620

Forum post read it all the way through.

Libreoffice keeps segfaulting

Libreoffice would crash almost as soon as it lost focus as the main window in i3.

to fix this I had to edit the version of gtk being used in some configuration files.

qtcreator crash on help

Delete the helpcollection folder and .qhc file.

r600 driver on steam


[berocs@bns-kharselim ~]$ env LIBGL_DEBUG=verbose steam
Running Steam on arch rolling 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(0)
libGL: OpenDriver: trying /usr/lib32/xorg/modules/dri/tls/
libGL: OpenDriver: trying /usr/lib32/xorg/modules/dri/
libGL: dlopen /usr/lib32/xorg/modules/dri/ failed (/home/berocs/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ version `GLIBCXX_3.4.20' not found (required by /usr/lib32/xorg/modules/dri/
libGL error: unable to load driver:
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL: OpenDriver: trying /usr/lib32/xorg/modules/dri/tls/
libGL: OpenDriver: trying /usr/lib32/xorg/modules/dri/
libGL: dlopen /usr/lib32/xorg/modules/dri/ failed (/home/berocs/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ version `GLIBCXX_3.4.20' not found (required by /usr/lib32/xorg/modules/dri/
libGL error: unable to load driver:
libGL error: failed to load driver: swrast


mv /home/berocs/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ /home/berocs/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/

sudo ln -s /usr/lib32/ /home/berocs/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/

sudo pacmatic -S ttf-liberation

ttf-liberation is to fix garbled text on the login screen.

intel video

(1/1) installing xf86-video-intel                                                               [########################################################] 100%
>>> This driver now uses DRI3 as the default Direct Rendering
    Infrastructure. You can try falling back to DRI2 if you run
    into trouble. To do so, save a file with the following 
    content as /etc/X11/xorg.conf.d/20-intel.conf :
      Section "Device"
        Identifier  "Intel Graphics"
        Driver      "intel"
        Option      "DRI" "2"             # DRI3 is now default 
        #Option      "AccelMethod"  "sna" # default
        #Option      "AccelMethod"  "uxa" # fallback

X200 Libreboot

Debugging STR

With pm_trace:

# cat pm_trace_dev_match
$ dmesg -s 1000000 | grep 'hash matches'
[    0.600016]   hash matches drivers/base/power/main.c:1070
[    0.600106] acpi device:0e: hash matches
[    0.600124]  platform: hash matches


For the "new" bns-kharselim X200:

Flash chip size:

# dmidecode | grep ROM\ Size
	ROM Size: 8192 kB

CPU Steppings:

# dmesg | grep CPU
[    0.000000] smpboot: Allowing 2 CPUs, 0 hotplug CPUs
[    0.000000] setup_percpu: NR_CPUS:128 nr_cpumask_bits:128 nr_cpu_ids:2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 33 pages/cpu @ffff8801bfc00000 s95576 r8192 d31400 u1048576
[    0.000000] WARNING: CPU: 0 PID: 0 at drivers/iommu/dmar.c:829 warn_invalid_dmar+0x7c/0x90()
[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.1.4-gnu-1 #1
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] 	RCU restricting CPUs from NR_CPUS=128 to nr_cpu_ids=2.
[    0.016290] CPU: Physical Processor ID: 0
[    0.016292] CPU: Processor Core ID: 0
[    0.016295] mce: CPU supports 6 MCE banks
[    0.016305] CPU0: Thermal monitoring enabled (TM2)
[    0.063333] smpboot: CPU0: Intel(R) Core(TM)2 CPU         P8600  @ 2.40GHz (fam: 06, model: 17, stepping: 0a)
[    0.083434] .... node  #0, CPUs:      #1
[    0.096661] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
[    0.096679] x86: Booted up 1 node, 2 CPUs
[    0.275898] ledtrig-cpu: registered to indicate activity on CPUs
[15424.575185] Disabling non-boot CPUs ...
[15424.576466] kvm: disabling virtualization on CPU1
[15424.576479] smpboot: CPU 1 is now offline
[15424.576816] Enabling non-boot CPUs ...
[15424.576472] kvm: enabling virtualization on CPU1
[15424.588983] CPU1 is up

Resulting CPUID: 0x06170A

It might be possible to put a better (quad core) cpu on the board according to someone on IRC.. An example being a X5460.

It also might be possible to expand the amount of storage with

Setting firmware options

Use nvramtool to set options. -h for usage.

This doesn't work on Libreboot 4.0, should be fixed in future release according to chatter on #libreboot.

$ sudo nvramtool -a
[sudo] password for berocs: 
boot_option = Fallback
last_boot = Fallback
baud_rate = 115200
debug_level = Spew
volume = 0x3
sata_mode = AHCI
power_on_after_fail = Disable
first_battery = Primary
bluetooth = Enable
wwan = Enable
wlan = Enable
trackpoint = Enable
fn_ctrl_swap = Disable
sticky_fn = Disable
boot_devices = 
boot_default = 0x0
power_management_beeps = Enable
low_battery_beep = Enable
uwb = Disable
gfx_uma_size = 32M

$ sudo nvramtool -w fn_ctrl_swap=Enable


eth0 not detected on boot

Improperly configured laptop-mode tools.

Wireless powersaving

Create /etc/modprobe.d/ath9kps.conf

options ath9k ps_enable=1

Mouse glitching or sleeping

Again, bad laptop-mode settings