Some notes on OpenBSD 7.2 on a Thinkpad X201
It has been a while since I had a laptop running OpenBSD.
Recently I bought a refurbished Thinkpad X201, so this was a great occasion to put OpenBSD on it.
Of course, installing OpenBSD on a Thinkpad is not difficult.
You need to install OpenBSD with an Ethernet cable attached, in order to be able to run fwupdate. This installs firmware for the wifi card. After that, wifi works fine.
Lenovo Thinkpad X201
The X201 is a machine from 2010, and one of the last Thinkpad X-models with a classical keyboard. And like all Thinkpads, it has a great TrackPoint.
Some specs of the refurbished laptop I bought:
- Intel Core i5 M 520 CPU
- 4 GB DDR3 RAM 2Rx8
- 1200x800 display resolution
- 128 Gb SSD (SAMSUNG MZ7LN128)
Although the specs are not very spectacular, this machine is perfecty usable. It all depends on how it is used, of course.
I set it up mostly with the great tools from suckless.org:
- dwm window manager, with slstatus
- st virtual terminal
Most of the time I am either in tmux, mostly for ssh sessions to remote machines, or in Emacs, to read email, use-net and follow RSS-feeds, and to visit websites with eww, and Gopherholes and Gemini capsules with Elpher.
I also use Firefox, which in practice turns out to be the heaviest user of the memory.
Keyboard and TrackPoint
The X201 has a small trackpad with two buttonst. The --for Thinkpads typical-- TrackPoint comes with three buttons.
I don't use the trackpad, the TrackPoint functions very fine.
In .xinitrc I have some lines to improve the usablilty of the trackppint:
xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation" 1 xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation Button" 2 xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation Axes" 6 7 4 5 xinput set-prop /dev/wsmouse "Device Accel Constant Deceleration" 0.2
This makes it possible to use the TrackPoint for scrolling, by moving the pointer up or down with the middle button pushed down.
In the BIOS I have changed the setting so the Fn key functions as the left Control key, and the left Control key functions as the Fn key.
I have added
/etc/wsconsctl.conf with the following line:
keyboard.map+="keysym Caps_Lock = Control_L"
This sets up the Capslock key as an extra Control key.
Also in .xinitrc I have some lines with some keyboard mods:
xmodmap -e "keycode 234 = Prior" xmodmap -e "keycode 233 = Next"
This makes the two keys left and right of the upper arrow key behave like those on newer Thinkpads, as PageUp and PageDown.
I installed the package
/etc/rc.conf.local are the following lines:
With a fully charged battery, slstatus reports a battery life around 3.5 hours.
we get some information about the battery:
hw.sensors.acpibat0.volt0=11.10 VDC (voltage) hw.sensors.acpibat0.volt1=11.68 VDC (current voltage) hw.sensors.acpibat0.current0=1.31 A (rate) hw.sensors.acpibat0.amphour0=4.56 Ah (last full capacity) hw.sensors.acpibat0.amphour1=0.23 Ah (warning capacity) hw.sensors.acpibat0.amphour2=0.02 Ah (low capacity) hw.sensors.acpibat0.amphour3=2.29 Ah (remaining capacity), OK hw.sensors.acpibat0.amphour4=9.32 Ah (design capacity) hw.sensors.acpibat0.raw0=1 (battery discharging), OK
When I close the lid, the laptop goes to sleep.
After opening the lid again, the laptop wakes up, including the Wifi and X.
I was able to mount a SD-card and boot from an SD card.
The display resolution of 1200x800 is a bit crampy when opening two windows in Emacs side-by-side.
I am touch-typist, and typing on the X201 keyboard is wonderful. The keyboard is a bit loud.
With the deceleration mod, mentioned above, the TrackPoint is a joy to use. It feels completely effortless to use the TrackPoint.
The escape key is located where it should be, above the F1 key. On my X270 it is left of the Function keys, so it takes some time to get again used to the Escape key in its proper place.
The X201 and the X270 are almost identical in size, but one way or the other, the X201 feels smaller.
There are plenty pages on the internet about OpenBSD on laptops and of course OpenBSD supplies wonderful documentation.
Here are some useful pages: