HCL - Lenovo Thinkpad T590 (i5-8265U)

---
layout:
  'hcl'
type:
  'Notebook'
hvm:
  'yes'
iommu:
  'yes'
slat:
  'yes'
tpm:
  '2.0'
remap:
  'yes'
brand: |
  LENOVO
model: |
  20N4001KUS
bios: |
  N2IETA5W (1.83 )
cpu: |
  Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz
cpu-short: |
  FIXME
chipset: |
  Intel Corporation Coffee Lake HOST and DRAM Controller [8086:3e34] (rev 0c)
chipset-short: |
  FIXME
gpu: |
  Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620] [8086:3ea0] (rev 02) (prog-if 00 [VGA controller])
gpu-short: |
  FIXME
network: |
  Intel Corporation Cannon Point-LP CNVi [Wireless-AC] [8086:9df0] (rev 30)
  Intel Corporation Ethernet Connection (6) I219-V [8086:15be] (rev 30)
memory: |
  40630
scsi: |

usb: |
  2
certified:
  'no'
versions:
  - works:
      'FIXME:yes|no|partial'
    qubes: |
      R4.2.4
    xen: |
      4.17.5
    kernel: |
      6.12.11-1
    remark: |
      FIXME
    credit: |
      FIXAUTHOR
    link: |
      FIXLINK

Remarks

IMPORTANT: Requires the boot parameter modprobe.blacklist=thinkpad_acpi to boot into the installer and start Anaconda properly. No changes needed to GRUB boot entries after install.

BIOS options:

  • Security → Virtualization → Kernel DMA Protection: Enabled
  • Security → Virtualization → Intel Virtualization Technology: Enabled
  • Security → Virtualization → Intel VT-d Feature: Enabled
  • Security → Intel SGX → Intel SGX Control: Enabled
  • Config → Power → Intel SpeedStep Technology: Disabled
  • Config → Power → Mode/Scheme for AC/Battery: “Maximize Performance”
  • Config → Power → CPU Power Management: Disabled

This doesn’t affect me since my battery is unplugged and the laptop is plugged in at the wall 100% of the time, but if you need Thinkpad-specific power features this may not work for you.

Explanation:

  • Get to the GRUB menu.
  • Go down to Boot with Latest Kernel.
  • Press e to edit the entry.
  • Remove quiet (if present) from the end of the line with module2...vmlinuz... (generally the second line).
  • Add modprobe.blacklist=thinkpad_acpi to the end of the line.
  • F10 to boot with edited boot configuration.

Testing method (for reference):

Being a newbie I had to face some pain. Apologies for the very rough troubleshooting instructions, I didn’t take pictures during the troubleshooting process and don’t recall the error messages:

  • Tried normal installation route, installation stopped before it could reach the Anaconda installer. AFAIR the last message was something about path.links for the NVMe drive.
  • Rebooted, tried with the latest kernel. Same problem.
  • Rebooted, chose “Verbose Install”
  • Found that installer stopped when trying to load the driver for the battery.
  • Perused the forum, saw that people were trying to boot with acpi=off
  • Tried the Verbose Install with acpi=off
  • Managed to get to Anaconda GUI installer, but internal keyboard and trackpad didn’t work. Had to use external devices.
  • Began installation, error message popped up after a while saying that the bootloader (GRUB) couldn’t be installed (problem with EFI shim)? Clicked on “Yes” to ignore problem and continue installation (thought I would need to install Grub manually with a chroot later).
  • Install completed, rebooted. Picked the NVMe drive in the boot options and QubesOS booted successfully. Whatever that GRUB error was, didn’t seem to affect anything.
  • Began with the second part of the install: QubesOS configuration. Completed the config the way I liked and clicked on “Begin”.
  • QubesOS took 2 hours to finish this step. At the end, I got 3 error messages, saying sys-net, sys-whonix and sys-firewall crashed.
  • Rebooted, and dom0 X server didn’t start. Switched to TTY2 to get a CLI, at least that worked.
  • Decided to reinstall. Clearly something was very wrong.
  • Burned Fedora workstation ISO on another USB and tried booting it. Booted into live-mode flawlessly.
  • IMPORTANT: greped through dmesg and lsmod to check what modules related to battery, acpi and thinkpad were loaded, found thinkpad_acpi in multiple places.
    • Found an Arch Wiki guide on Thinkpad power management, and realised that thinkpad_acpi was what I was looking for: Laptop/Lenovo - ArchWiki
  • Decided to blacklist thinkpad_acpi for reinstall (modprobe.blacklist=<module_name>). Reference: SLES 12 SP5 | Administration Guide | Managing Kernel Modules
  • Booted QubesOS installer again, pressed e to edit “Boot with latest Kernel”, removed all parameters after Kernel image reference (like “Verbose Install”) and added modprobe.blacklist=thinkpad_acpi.
  • Et voilĂ ! Anaconda loads up, no problem. However, DO NOT USE FUNCTION KEYS during this step, since thinkpad_acpi handles special keys on the keyboard, and pressing a function key or any special key will freeze the installer. Had to reboot again because of this.
  • Setup went perfectly fine, and this time internal keyboard and trackpad completely functional. No issues with GRUB.
  • Completed install, rebooted into configuration.
  • Completed configuration, got an error message saying:
    sys-firewall failed
    Unable to reset PCI device <device-address>
    no FLR, PM reset or bus reset available, see /var/log/libvirt/libxl/libxl-driver.log for details
    
  • Fixed (i219 ethernet device was the culprit) using this: Redirecting…
  • Finally, installation complete.

Attachments

Qubes-HCL-LENOVO-20N4001KUS-20250809-202010.yml (924 Bytes)

2 Likes

@FranklyFlawless Hello, is there anything else I need to do to get this report in the HCL? I do not see further instructions in the documentation.

Edit: please wait. I am facing random freezing issues on this device. This has suddenly started happening and I’m not sure if this is a Qubes issue or a problem with my hardware. Apologies for delaying this process, if you’d like me to take this HCL report off the forum let me know.

1 Like

I think keeping it makes more sense, since a lot of troubleshooting steps have already been taken. If someone else has the same hardware as you, they may be able to overcome these technical issues and report their findings afterwards.

For some reason I’m unable to edit my post, but for now the solution has been to disable Intel SpeedStep in the BIOS. This tracks with Qubes installs on other Thinkpads. If I remember something more than this I’ll update here.

2 Likes

Hi,

I’ve installed Qubes on my T490, and it wasnt easy.
I’ll check tomorrow and provide you with the GRUB config. You’ll need a lot more, otherwise it will freeze/behave strange.

1 Like

Thanks

1 Like


Hope you can read it, tell me if it worked. Also, in the installer you’d need to enable your internet interface again. (Ip link set lan0 up) in terminal)

1 Like

1 Like

Thank you. I think I managed to pick out some settings of interest (correct me if I got some wrong here):

thinkpad_acpi.battery=0
modprobe.blacklist=thinkpad_acpi.xen_acpi_processor

rd.driver.blacklist=thinkpad_acpi.dm-multipath.xen_acpi_processor
rd.multipath=0

mitigation=off

i915.enable_psr=0
i915.enable_dc=0
i915.enable_fbc=0

usbcore.autosuspend=-1

rd.udev.log_level=0

intel_idle.max_cstate=1

I suppose I really took the hammer to it when I completely disabled thinkpad_acpi. Indeed, perhaps a finer comb would have been a better approach for the community at large. To that end, you’ve done a far more thorough job than me.

Out of curiosity, does your NIC support reset? The NIC in mine doesn’t so I had to set no-strict-reset=true for it (regrettably).

This is most of what I could make out, apologies if I couldn’t see something important. I do plan to try some of them, I do have slight USB issues but I assumed it was due to my hardware.

1 Like

Did you have any luck? I cannot determine from your .yml and the notes easily what to think… Can you post the updated .yml and other actions you have taken since your last post? Thank you!

1 Like

The .yml mentioned in my reply to @pjotr are just options of interest. Unfortunately, I haven’t had the time to try those out yet. If you follow my instructions in the OP to the letter (Specifically: look for “Explanation”, I don’t know why I missed making it a header but unfortunately I can’t edit my post anymore - Thanks @FranklyFlawless !) you should be able to boot into the installer without weird GUI artifacts, random loss of control over input devices, crashes etc.

To reiterate: in short, all you have to do is put modprobe.blacklist=thinkpad_acpi at the end of the module2...vmlinuz... line. I.e. module2...vmlinuz...modprobe.blacklist=thinkpad_acpi (the dots just signify the rest of the parameters/directives, you generally do not need to care about them unless you face other issues).

You will be able to get here by arriving at the GRUB boot menu and pressing e on the entry you want to edit. In my note, I edited the entry called Boot with Latest Kernel. This is also a good chance to look at the other boot entries and see how their options differ from one another (take pictures if you can’t remember it all).

If you have more questions let me know. The options mentioned in the comment above are simply for experimentation, but my lenovo T590 has been working just fine since then (with that said, I might move off of Qubes OS soon, but that’s for another time).

1 Like

The post has been edited, let me know if it requires further modifications.

1 Like