﻿{"id":527,"date":"2015-03-04T12:21:14","date_gmt":"2015-03-04T12:21:14","guid":{"rendered":"http:\/\/uni.hi.is\/helmut\/?p=527"},"modified":"2025-01-08T11:56:49","modified_gmt":"2025-01-08T11:56:49","slug":"debian-linux-on-thinkpad-x250","status":"publish","type":"post","link":"https:\/\/uni.hi.is\/helmut\/2015\/03\/04\/debian-linux-on-thinkpad-x250\/","title":{"rendered":"Debian Linux on Thinkpad X250"},"content":{"rendered":"<p>What I did to install Debian Linux (Jessie) on Thinkpad X250:<\/p>\n<p>Booting from USB device (to install Debian) was some challenge: in particular USB 3 needed to be disabled in BIOS (maybe some more BIOS tweaks that I cannot remember anymore).<\/p>\n<p>To make the Trackpoint keys work:<\/p>\n<p>In BIOS, disable Touchpad (anyway a good idea to prevent accidental touches there). <\/p>\n<p>Added file \/etc\/modprobe.d\/x250.conf with content<br \/>\n<code class=\"\" data-line=\"\">options psmouse proto=imps<\/code><\/p>\n<p>Added file \/usr\/share\/X11\/xorg.conf.d\/20-thinkpad.conf with content (works only if Touchpad is disabled in BIOS)<br \/>\n<code class=\"\" data-line=\"\"><br \/>\nSection &quot;InputClass&quot;<br \/>\n Identifier &quot;Trackpoint Wheel Emulation&quot;<br \/>\n MatchProduct &quot;PPS\/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad \/ TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad \/ TrackPoint|PS\/2 Synaptics TouchPad&quot;<br \/>\n MatchDevicePath &quot;\/dev\/input\/event*&quot;<br \/>\n Option &quot;EmulateWheel&quot; &quot;true&quot;<br \/>\n Option &quot;EmulateWheelButton&quot; &quot;2&quot;<br \/>\n Option &quot;Emulate3Buttons&quot; &quot;false&quot;<br \/>\n Option &quot;XAxisMapping&quot; &quot;6 7&quot;<br \/>\n Option &quot;YAxisMapping&quot; &quot;4 5&quot;<br \/>\nEndSection<br \/>\n<\/code><\/p>\n<p>Also to make side button of my Logitech USB mouse act as middle button:<br \/>\nAdded file 20-logitech-mouse-side-button.conf with content<br \/>\n<code class=\"\" data-line=\"\"><br \/>\nSection &quot;InputClass&quot;<br \/>\n        Identifier &quot;Logitech mouse side button remap&quot;<br \/>\n        MatchProduct &quot;Logitech USB Receiver&quot;<br \/>\n        MatchDevicePath &quot;\/dev\/input\/event*&quot;<br \/>\n        Option &quot;ButtonMapping&quot; &quot;1 0 3 4 5 6 7 2 9 10&quot;<br \/>\nEndSection<br \/>\n<\/code><\/p>\n<p>(Still sometimes Logitech mouse stops completely to work, then unplugging USB receiver from docking station works -- still need to investigate that. Update it seems that plugging in the USB receiver into another USB port (=other USB type) helps.)<\/p>\n<p>I also experience sometimes that my external Dell monitor connected via DP cable and my dock sometimes blanks for half a second: <a href=\"https:\/\/pcsupport.lenovo.com\/us\/en\/solutions\/ht081248\">a firmware update of the dock is needed<\/a>, but is only available as MS Windows executable. Any hints welcome how to do this via Linux! (A <a href=\"https:\/\/workaround.org\/article\/updating-the-bios-on-lenovo-laptops-from-linux-using-a-usb-flash-stick\/\">BIOS update via Linux is possible and worked<\/a>.)<br \/>\nI do not have that problem when using the DVI-D port and cable of the dock -- however for 4k resolution, DP is better than DVI!<\/p>\n<p>I also had an old 1440x900 display that did not report its native resolution when connected via VGA (which btw. reports as DP2). While I might probably add some modeline to some xconfig file as I last did probably 10 years ago, I did the following:<br \/>\n<code class=\"\" data-line=\"\"><br \/>\ncvt 1440 900<br \/>\nThen pasted the modeline generated by cvt:<br \/>\nxrandr --output DP2 --newmode &quot;1440x900_60.00&quot;  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync<br \/>\nxrandr --addmode DP2 &quot;1440x900&quot;<br \/>\nxrandr --output DP2 --mode 1440x900<br \/>\n<\/code><\/p>\n<p>Also my other display sometimes gets no recognised:<br \/>\n<code class=\"\" data-line=\"\"><br \/>\ncvt 1920 1080<br \/>\nThen pasted the modeline generated by cvt:<br \/>\nxrandr --output DP2 --newmode &quot;1920x1080_60.00&quot;  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync<br \/>\nxrandr --addmode DP2 &quot;1920x1080&quot;<br \/>\nxrandr --output DP2 --mode 1920x1080<br \/>\n<\/code><br \/>\nFor getting cloned display output with KDE \"Display and Monitor\" configuration system setting pane, the two screens have to dragged onto each other. However, I like<br \/>\nthe old \"Size &amp; Orientation\" pane more which can be obtained by installing the kde-workspace-randr package.<\/p>\n<p>Just as reminder for me: to use Gutenprint for the photoprinter: create first in CUPS (e.g. via web interface) an entry for the photoprinter so that the printer gets an own queue. Then, in Gimp, this queue can be used when setting up the photoprinter there. In case the Print with Gutenprint menu entry does not show up in Gimp, an extra package needs to be installed: IIRC for Debian it is package: <code class=\"\" data-line=\"\">gimp-gutenprint<\/code><br \/>\nWhat I did to install Debian Linux (Jessie) on Thinkpad X250:<\/p>\n<p>Booting from USB device (to install Debian) was some challenge: in particular USB 3 needed to be disabled in BIOS (maybe some more BIOS tweaks that I cannot remember anymore).<\/p>\n<p>To make the Trackpoint keys work:<\/p>\n<p>In BIOS, disable Touchpad (anyway a good idea to prevent accidental touches there). <\/p>\n<p>Added file \/etc\/modprobe.d\/x250.conf with content<br \/>\n<code class=\"\" data-line=\"\">options psmouse proto=imps<\/code><\/p>\n<p>Added file \/usr\/share\/X11\/xorg.conf.d\/20-thinkpad.conf with content (works only if Touchpad is disabled in BIOS)<br \/>\n<code class=\"\" data-line=\"\"><br \/>\nSection &quot;InputClass&quot;<br \/>\n Identifier &quot;Trackpoint Wheel Emulation&quot;<br \/>\n MatchProduct &quot;PPS\/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad \/ TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad \/ TrackPoint|PS\/2 Synaptics TouchPad&quot;<br \/>\n MatchDevicePath &quot;\/dev\/input\/event*&quot;<br \/>\n Option &quot;EmulateWheel&quot; &quot;true&quot;<br \/>\n Option &quot;EmulateWheelButton&quot; &quot;2&quot;<br \/>\n Option &quot;Emulate3Buttons&quot; &quot;false&quot;<br \/>\n Option &quot;XAxisMapping&quot; &quot;6 7&quot;<br \/>\n Option &quot;YAxisMapping&quot; &quot;4 5&quot;<br \/>\nEndSection<br \/>\n<\/code><\/p>\n<p>Also to make side button of my Logitech USB mouse act as middle button:<br \/>\nAdded file 20-logitech-mouse-side-button.conf with content<br \/>\n<code class=\"\" data-line=\"\"><br \/>\nSection &quot;InputClass&quot;<br \/>\n        Identifier &quot;Logitech mouse side button remap&quot;<br \/>\n        MatchProduct &quot;Logitech USB Receiver&quot;<br \/>\n        MatchDevicePath &quot;\/dev\/input\/event*&quot;<br \/>\n        Option &quot;ButtonMapping&quot; &quot;1 0 3 4 5 6 7 2 9 10&quot;<br \/>\nEndSection<br \/>\n<\/code><\/p>\n<p>(Still sometimes Logitech mouse stops completely to work, then unplugging USB receiver from docking station works -- still need to investigate that. Update it seems that plugging in the USB receiver into another USB port (=other USB type) helps.)<\/p>\n<p>I also experience sometimes that my external Dell monitor connected via DP cable and my dock sometimes blanks for half a second: <a href=\"https:\/\/pcsupport.lenovo.com\/us\/en\/solutions\/ht081248\">a firmware update of the dock is needed<\/a>, but is only available as MS Windows executable. Any hints welcome how to do this via Linux! (A <a href=\"https:\/\/workaround.org\/article\/updating-the-bios-on-lenovo-laptops-from-linux-using-a-usb-flash-stick\/\">BIOS update via Linux is possible and worked<\/a>.)<br \/>\nI do not have that problem when using the DVI-D port and cable of the dock -- however for 4k resolution, DP is better than DVI!<\/p>\n<p>I also had an old 1440x900 display that did not report its native resolution when connected via VGA (which btw. reports as DP2). While I might probably add some modeline to some xconfig file as I last did probably 10 years ago, I did the following:<br \/>\n<code class=\"\" data-line=\"\"><br \/>\ncvt 1440 900<br \/>\nThen pasted the modeline generated by cvt:<br \/>\nxrandr --output DP2 --newmode &quot;1440x900_60.00&quot;  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync<br \/>\nxrandr --addmode DP2 &quot;1440x900&quot;<br \/>\nxrandr --output DP2 --mode 1440x900<br \/>\n<\/code><\/p>\n<p>Also my other display sometimes gets no recognised:<br \/>\n<code class=\"\" data-line=\"\"><br \/>\ncvt 1920 1080<br \/>\nThen pasted the modeline generated by cvt:<br \/>\nxrandr --output DP2 --newmode &quot;1920x1080_60.00&quot;  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync<br \/>\nxrandr --addmode DP2 &quot;1920x1080&quot;<br \/>\nxrandr --output DP2 --mode 1920x1080<br \/>\n<\/code><br \/>\nFor getting cloned display output with KDE \"Display and Monitor\" configuration system setting pane, the two screens have to dragged onto each other. However, I like<br \/>\nthe old \"Size &amp; Orientation\" pane more which can be obtained by installing the kde-workspace-randr package.<\/p>\n<p>Just as reminder for me: to use Gutenprint for the photoprinter: create first in CUPS (e.g. via web interface) an entry for the photoprinter so that the printer gets an own queue. Then, in Gimp, this queue can be used when setting up the photoprinter there. In case the Print with Gutenprint menu entry does not show up in Gimp, an extra package needs to be installed: IIRC for Debian it is package: <code class=\"\" data-line=\"\">gimp-gutenprint<\/code><\/p>\n<p><strong>Update 27.5.2024:<\/strong> With Debian Bookworm, I can in the CUPS web interface not detect the photoprinter. Install the package <code class=\"\" data-line=\"\">printer-driver-gutenprint<\/code> did make the printer show in the CUPS administrator interface. <\/p>\n<p>But then, I got an <a href=\"https:\/\/sourceforge.net\/p\/gimp-print\/discussion\/4359\/thread\/8fca54c027\/\">error message about an incorrect paper format<\/a>.  I then compiled the latest version <a href=\"https:\/\/www.peachyphotos.com\/blog\/stories\/building-modern-gutenprint\/\">of Gutenprint manually<\/a> -- but this did not compile the Gimp plugin, so I had to install first <code class=\"\" data-line=\"\">libgimp2.0-dev<\/code>. <\/p>\n<p>Still, that did not work, so I had to downgrade the packages to the Gutenprint version prior to the regression:<\/p>\n<blockquote><p>\n<code class=\"\" data-line=\"\"><br \/>\nThe issue is resolved by removing these packages and manually installing the packages from Jammy:<\/p>\n<p>libgutenprint-common\/jammy,jammy,now 5.3.3-9 all<br \/>\nlibgutenprint9\/jammy,now 5.3.3-9 amd64<br \/>\nprinter-driver-gutenprint\/jammy,now 5.3.3-9<br \/>\n<\/code><\/p><\/blockquote>\n<p>For version pinning, create a file in <code class=\"\" data-line=\"\">etc\/apt\/preferences.d<\/code> with contents:<\/p>\n<p><code class=\"\" data-line=\"\"><br \/>\nPackage: libgutenprint-common<br \/>\nPin: version 5.3.3-5<br \/>\nPin-Priority: 1000<br \/>\nExplanation: Newer versions in Debian have a regression https:\/\/sourceforge.net\/p\/gimp-print\/discussion\/4359\/thread\/8fca54c027\/<\/p>\n<p>Package: libgutenprint9<br \/>\nPin: version  5.3.3-5<br \/>\nPin-Priority: 1000<br \/>\nExplanation: Newer versions in Debian have a regression https:\/\/sourceforge.net\/p\/gimp-print\/discussion\/4359\/thread\/8fca54c027\/<\/p>\n<p>Package: printer-driver-gutenprint<br \/>\nPin: version 5.3.3-5<br \/>\nPin-Priority: 1000<br \/>\nExplanation: Newer versions in Debian have a regression https:\/\/sourceforge.net\/p\/gimp-print\/discussion\/4359\/thread\/8fca54c027\/<br \/>\n<\/code><\/p>\n<p>Once Debian has versions as new as <code class=\"\" data-line=\"\">5.3.4-2023-08-23<\/code> (e.g. in sid), these packages can be used.<\/p>\n<p><b>RICOH driversy<\/a><br \/>\nWhen I tried to install some Ricoh printer-specifc PPDs (offered by CUPS), that gave an error:<\/p>\n<blockquote><p><code class=\"\" data-line=\"\"><br \/>\nThe PPD version (5.3.3) is not compatible with Gutenprint 5.3.4-2023-12-14T01-00-6a3da773. Please run `\/usr\/sbin\/cups-genppdupdate&#039; as administrator.&quot;<br \/>\n<\/code><\/p><\/blockquote>\n<p>Running that command did not resolve the problem, so I chose some generic PDF driver offered by CUPS in the Ricoh section and that one worked. However, that PPD offered only A4, not A3. But by copying over from the not-working printer specific PPD all lines containing <code class=\"\" data-line=\"\">A3<\/code>, that worked. I probably shall do the same for A4, because the printer itself always complains that this is the wrong A4 and I need to confirm printing to A4 on the printer user panel (which I do not have to for the copied over A3 format).<\/p>\n<p>After I had then a fresh Debian 12 Bookworm install, the above RICOH problem did not occur: I did just use the Guteprint\/CUPS driver for the model (just be aware that there is a RICOH and a Ricoh category that have different entries). As that fresh install did not have my above package mix from the old Jammy, the above Ricoh problem might in fact have been caused by my messing around with CUPS...<\/p>\n<p><strong>Update 5.1.2025:<\/strong>After a fresh Debian 12 Bookworm install, the drivers for my Brother laserprinter were missing. That was solved by: <code class=\"\" data-line=\"\">apt install foomatic-db-engine foomatic-db openprinting-ppds psutils <\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What I did to install Debian Linux (Jessie) on Thinkpad X250: Booting from USB device (to install Debian) was some challenge: in particular USB 3 needed to be disabled in BIOS (maybe some more BIOS tweaks that I cannot remember anymore). To make the Trackpoint keys work: In BIOS, disable Touchpad (anyway a good idea [&hellip;]<\/p>\n","protected":false},"author":512,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[139469],"tags":[],"class_list":["post-527","post","type-post","status-publish","format-standard","hentry","category-tech"],"_links":{"self":[{"href":"https:\/\/uni.hi.is\/helmut\/wp-json\/wp\/v2\/posts\/527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/uni.hi.is\/helmut\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/uni.hi.is\/helmut\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/uni.hi.is\/helmut\/wp-json\/wp\/v2\/users\/512"}],"replies":[{"embeddable":true,"href":"https:\/\/uni.hi.is\/helmut\/wp-json\/wp\/v2\/comments?post=527"}],"version-history":[{"count":22,"href":"https:\/\/uni.hi.is\/helmut\/wp-json\/wp\/v2\/posts\/527\/revisions"}],"predecessor-version":[{"id":5087,"href":"https:\/\/uni.hi.is\/helmut\/wp-json\/wp\/v2\/posts\/527\/revisions\/5087"}],"wp:attachment":[{"href":"https:\/\/uni.hi.is\/helmut\/wp-json\/wp\/v2\/media?parent=527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/uni.hi.is\/helmut\/wp-json\/wp\/v2\/categories?post=527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/uni.hi.is\/helmut\/wp-json\/wp\/v2\/tags?post=527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}