How to disable Intel Volume Management Device (VMD) in Qubes OS (or Linux kernel)?

I have an issue in Qubes OS with freezes on boot. The possible workaround is to disable Intel VMD in BIOS/EFI, but I have no such option there.

Is there any way to add/modify some dom0 kernel options in grub config to disable VMD in Qubes OS R4.2.4?


More info about the issue itself:

The workaround is to disable Intel VMD in BIOS/EFI, but I have reasonably modern Thinkpad T16 Gen 1 and it has no such or similar option there. So, how?

On some laptops, vmd is on when raid is on. If you don’t have a vmd option in bios, try setting the sata/SSD operation mode to AHCI

1 Like

Here is a Lenovo BIOS emulator of Thinkpad T16 Gen1:

https://download.lenovo.com/bsco/index.html#/graphicalsimulator/ThinkPad%20T16%20Gen%201%20(21BV,21BW)

I see no SATA mode or anything related to storage/nvme/sata settings. It’s a modern Thinkpad T16 laptop and EFI/BIOS is garbage with almost no advanced settings.

Damn that sucks. I’m finding it harder and harder to justify “upgrading”

Well, maybe somebody knows if VMD is something that can be turned off (unused?) by kernel itself?

E,g, if I boot some OS that does not support it, the OS still would work fine, so, it must be the kernel itself that decides to use it or not, right?

https://bugzilla.kernel.org/show_bug.cgi?id=219220

search for “advanced bios menu” activation

1 Like

Are you sure that VMD is currently enabled? The “timeout, completion polled” kernel message alone might not be conclusive. It could be caused by something else in your case.

I would check if the vmd kernel module is loaded in dom0 using lsmod. And on Reddit, embeddedt writes “You can also check whether VMD is in use using lspci -tvv; I believe that will display a VMD device if it is enabled.”

1 Like

Sometimes those i/o qid timeout errors popup when nvme are failing or thermal throttling

there is also kernel command to enlarge those timeouts

1 Like

Not sure. In dom0 both lsmod | grep vmd and lspci -tvv show no sign of VMD/vmd. So, maybe I bark the wrong tree and the issue is not VMD-related.

Well, in this case I start the device and have the issue exactly at the moment after entering LVM password correctly and/or password of xorg user, or sometime seconds later.

After 30-60 seconds delay everything work fine. Also GNU/Linux provide no issues with the same hardware, so I doubt the problem is about overheating. Thanks for idea anyway.

I also read it about framework laptops, but my have not seen it in my Thinkpad. Here is a decent emulator:

So you’ve read about btrfs/lvm problems people had with some drives? After changing drives problems disappeared.

Hmm, do you mean it can be a drive problem? I used LVM before on R4.0 and now on the same hardware. And it was working fine on R4.0. And it works fine on GNU/Linux, so I can understand how it can be a drive problem and not a Qubes OS or Xen/LinuxKernel regression.

I’ve seen a post where drive refused to work with btrfs but worked fine with ext4 or xfs or ntfs

I have luks + LVM + ext4 (default install settings in R4.2).

The problem arise with raid config, either hardware raid (bios raid/irst/lvd) or software raid (mdadm, lvm, zfs, btrfs logical volumes).
You can try to use older kernel to check if it works but if it’s kernel/xen then you can’t repair it yourselves. It’s easier to change drive.

BTW what drive it is?

PS: you can try to update drive firmware using some standard linux live usb.

2 Likes

WD Black SN770. Reasonably respected drive that has no such issues in GNU/Linux and did not have it on R4.0 version.

If it is change in xen then their forum would be better but I even don’t know how to check what is causing this mayhem.
Just found few post at novacustom with disabling raid/irst/lvd in bios - but that’s double drive laptops so they have that option.

1 Like

WD Black SN770 is high performance dramless drive, it’s prone to overheating and some windows updates that updated memory management which allocated more than 64MB of cache memory for drive, made it unusable.

If you find how much memory cache kernel is allocating to drive and how to limit it to 64MB then maybe, maybe, you could resolve your problem.

1 Like

Did you seen this? Some opensuse user was forced to add some kernel option for suse to boot.

There’s also github with nvme optimalisations.
I wonder, how much of it could be used in qubes os?

FYI I see some VMD + Xen fixes are queued for Linux 6.15 kernel. It will take some time until it gets released (even 6.14 isn’t out yet), but there is a chance this configuration will finally work.

If there is somebody with such hardware willing to test experimental build, I can try to backport the patches to an older kernel.

2 Likes