Closed Tectu closed 8 months ago
Interesting! Patch 45854a0 should have fixed it.
Doesn't look like it (cpufetch
built from bc9b9c1e99040db1b82f75e6d12517eb17704e95):
root@vm01:~/cpufetch # ./cpufetch --debug
[ERROR]: Unknown hypervisor vendor: bhyve bhyve
[VERSION]: cpufetch v1.04-18-gbc9b (FreeBSD x86_64 build)
Please, create a new issue with this error message, the output of 'cpufetch' and 'cpufetch --debug' on https://github.com/Dr-Noob/cpufetch/issues
cpufetch v1.04-18-gbc9b (FreeBSD x86_64 build)
Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz
- Hypervisor: Unknown
- Max standard level: 0x0000000D
- Max extended level: 0x80000008
- Hybrid Flag: 0
- CPUID dump: 0x000206D7
Can you try with the latest commit in bugfix4
branch?
That one appears to be working.
I checked the commit and... I don't even want to ask :D If you can tell me where/how cpufetch queries that string from the system I can have a look at the FreeBSD bhyve implementation to check whether there is a stray whitespace for no good reason (I doubt it tho, but it's easy to check).
Yeah, it's quite strange :sweat_smile:
cpufetch runs the cpuid instruction and fetches the hypervisor level (0x40000000). You can find more details here: https://www.sandpile.org/x86/cpuid.htm#level_4000_0000h. Then it converts the hex from EBX-ECX-EDX into a string (using get_name_cpuid
) and compares against the list in hv_vendors_string
. Let me know if you find anything interesting!
Unfortunately, I won't be able to dive into this any time soon. I'd propose that the working commit gets merged.
Unfortunately, I won't be able to dive into this any time soon. I'd propose that the working commit gets merged.
Sure, maybe we'll have another opportunity to investigate the issue further in the future
Running
cpufetch
in a bhyve VM (FreeBSD) prints:Output of
cpufetch
:Output of
cpufetch --debug
:On bare metal,
cpufetch
works well under FreeBSD (from what I can tell). If it helps: I'm the FreeBSD port maintainer ofcpufetch
.