{"id":1766,"date":"2019-12-26T05:37:23","date_gmt":"2019-12-26T04:37:23","guid":{"rendered":"http:\/\/www.daniel-ritter.de\/blog\/?p=1766"},"modified":"2024-05-13T01:09:24","modified_gmt":"2024-05-12T23:09:24","slug":"tuxedo-infinitybook-pro-14-v5-with-arch-linux","status":"publish","type":"post","link":"https:\/\/www.daniel-ritter.de\/blog\/tuxedo-infinitybook-pro-14-v5-with-arch-linux\/","title":{"rendered":"TUXEDO InfinityBook Pro 14 v5 with Arch Linux"},"content":{"rendered":"<p><a href=\"https:\/\/www.daniel-ritter.de\/blog\/wp-content\/uploads\/2019\/12\/infinity_book.jpg\"><img decoding=\"async\" class=\"alignleft wp-image-1776\" src=\"https:\/\/www.daniel-ritter.de\/blog\/wp-content\/uploads\/2019\/12\/infinity_book.jpg\" alt=\"\" width=\"200\" srcset=\"https:\/\/www.daniel-ritter.de\/blog\/wp-content\/uploads\/2019\/12\/infinity_book.jpg 1600w, https:\/\/www.daniel-ritter.de\/blog\/wp-content\/uploads\/2019\/12\/infinity_book-300x300.jpg 300w, https:\/\/www.daniel-ritter.de\/blog\/wp-content\/uploads\/2019\/12\/infinity_book-1024x1024.jpg 1024w, https:\/\/www.daniel-ritter.de\/blog\/wp-content\/uploads\/2019\/12\/infinity_book-150x150.jpg 150w, https:\/\/www.daniel-ritter.de\/blog\/wp-content\/uploads\/2019\/12\/infinity_book-768x768.jpg 768w, https:\/\/www.daniel-ritter.de\/blog\/wp-content\/uploads\/2019\/12\/infinity_book-1536x1536.jpg 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><br \/>\nI had a few problems making Arch work properly with the Tuxedo InfinityBook Pro 14 v5.<br \/>\nI will share my problems and fixes here.<\/p>\n<p><strong>Constant high CPU load on one core<\/strong><br \/>\nAfter boot one CPU core constantly jumped up to 42% and kept staying there. This drove the fan to insane RPM and drained the battery quickly. I debugged this by checking what caused the load. Using <em>top<\/em> revealed, that all the load was sys load, which is caused by the kernel. So I checked kernel stats with <em>nmon<\/em> which brought me to the conclusion, that the problem was related to IRQ. A quick cat <em>\/proc\/interrupts<\/em> showed me, that the core in question was taken hostage by tpm0 which is the kernel module for the Trusted Platform Module which I never knowingly used. I disabled loading of the module by blacklisting it. I am not quiet sure if this has any bad consequences but I haven&#8217;t noticed anything yet. Without the module loaded, the core instantly went back to normal.<\/p>\n<pre>cat \/etc\/modprobe.d\/blacklist.conf\r\n\r\nblacklist tpm\r\nblacklist tpm_tis\r\nblacklist tpm_crb\r\nblacklist tpm_tis_core\r\n<\/pre>\n<p><strong>Settings for i915 driver (Intel UHD620 integrated graphics)<\/strong><br \/>\nI guess there is a lot more tuning possible, but this basic setup works fine for me.<br \/>\nGood documentation can be found <a href=\"https:\/\/gist.github.com\/Brainiarc7\/aa43570f512906e882ad6cdd835efe57\">here<\/a>.<\/p>\n<pre>cat \/etc\/default\/grub | grep GRUB_CMDLINE_LINUX_DEFAULT\r\n\r\nGRUB_CMDLINE_LINUX_DEFAULT=\"i915.enable_fbc=1 i915.enable_guc=-1 i915.fastboot=1\"\r\n<\/pre>\n<p><strong>DisplayLink output via Thunderbolt3 port<\/strong><br \/>\nTo enable DisplayLink via the Thunderbolt3 port this BIOS setting needs to be set:<br \/>\nBIOS -&gt; Advances chipset setup -&gt; DDI -&gt; DDI to TBT<\/p>\n<p>After that the instructions from the <a href=\"https:\/\/wiki.archlinux.org\/index.php\/DisplayLink\">Arch Wiki<\/a> made my external screen connected via USB-C work. Follow the instructions for USB3 DisplayLink devices.<\/p>\n<p><strong>Disabling internal microphone<\/strong><br \/>\nOne of the features that are important to me is the possibility to disable the internal mic of the device.<br \/>\nA little bit of paranoia is always good. I bought the device believing that this will be possible directly from the BIOS,<br \/>\nbecause TUXEDO states this in it&#8217;s product description. The option is available in the BIOS, but it was a big disappointment.<br \/>\nYou actually *can* disable the mic, but not without disabling sound *output* as well. Basicly the whole intel audio chip is being turned off. This is no option, so I wrote a little script as a dirty workaround, that mutes the internal mic every second. I might just disconnect the cables in the future but right now I am not into disassembling the device.<\/p>\n<pre>#!\/bin\/bash\r\n\r\nwhile [ 1 ]; do\r\namixer set Capture nocap\r\namixer set Capture 0%\r\nsleep 1\r\ndone;\r\n<\/pre>\n<p><strong>Suspend (sleep) on closing the lid<\/strong><br \/>\nI wanted the notebook to suspend when the lid is closed. XFCEs builtin power manager did not work out of the box. I read that it could interfere with systemds builtin power manager, so i uninstalled it:<\/p>\n<pre>pacman -R xfce4-power-manager\r\n<\/pre>\n<p>I experiemented with many different kernel parameters, until i found the one that worked (acpi_osi=Linux):<\/p>\n<pre>cat \/etc\/default\/grub | grep CMD_LINE\r\nGRUB_CMDLINE_LINUX_DEFAULT=\"i915.enable_fbc=1 i915.enable_guc=2 i915.fastboot=1 <strong>acpi_osi=Linux<\/strong>\"\r\n<\/pre>\n<p>I am unsure if i really needed to do this, but I uncommented a line in systemds sleep.conf<\/p>\n<pre>cat \/etc\/systemd\/sleep.conf\r\n\r\n[Sleep]\r\nSuspendMode=suspend\r\n<\/pre>\n<p>Finaly i configured systemds logind.conf<\/p>\n<pre>[Login]\r\nHandleLidSwitch=suspend\r\nHandleLidSwitchDocked=suspend\r\nLidSwitchIgnoreInhibited=yes\r\n<\/pre>\n<p>Now the device suspends on every lid close and wakes up again after opening the lid.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I had a few problems making Arch work properly with the Tuxedo InfinityBook Pro 14 v5. I will share my problems and fixes here. Constant high CPU load on one core After boot one CPU core constantly jumped up to 42% and kept staying there. This drove the fan to insane RPM and drained the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1776,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[227],"tags":[],"class_list":["post-1766","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/posts\/1766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/comments?post=1766"}],"version-history":[{"count":16,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/posts\/1766\/revisions"}],"predecessor-version":[{"id":1889,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/posts\/1766\/revisions\/1889"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/media\/1776"}],"wp:attachment":[{"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/media?parent=1766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/categories?post=1766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.daniel-ritter.de\/blog\/wp-json\/wp\/v2\/tags?post=1766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}