musca, thanks, however, in inxi, I try to keep to an absolute minimum recommended packages, always preferring to query the system directly to get the data, it's more reliable and means it will work for most users right away.
If simple raw virtualization detection is required, all that is needed is a set of checks, for example, vbox has a distinct id in the name of its devices, disks, etc, that is easy to spot.
vmware I haven't seen for a while, but doing inxi -Fxx on any system should show the distinct identifiers used in some cases.
However, you'd have to get in line, 2.2 is reserved for the long waited for -m option, memory, I was hoping that data would appear in /sys but I guess it isn't, so that will require root and dmidecode, sadly. And 3.0 is far far away, that's 9 new major features, I don't know if a bash+gawk script can get that big to be honest.
I won't have time for any other things in the coming months though I think, I have never found a major feature that requires less than 2 weeks of datacollection at least, plus coding, plus fixing exceptions, so I always have to give careful thought to any new feature.
However, people can help this process by collecting data on the feature type, all possible outputs, data sources, etc.
imvirt is getting its data from somewhere, so all you have to do is figure out some method to do that test for each vm type. My guess is a short function would do it. kvm might be harder because it has more options, like using host kernel, etc.