![]() |
|
[BUG] "Detected no AVX2 support" - Printable Version +- Selur's Little Message Board (https://forum.selur.net) +-- Forum: Hybrid - Support (https://forum.selur.net/forum-1.html) +--- Forum: Problems & Questions (https://forum.selur.net/forum-3.html) +--- Thread: [BUG] "Detected no AVX2 support" (/thread-4348.html) |
"Detected no AVX2 support" - sharkeylaser - 15.03.2026 Hello! I just updated to "Hybrid_dev_2026.03.08-182859" and noticed the message "Detected no AVX2 support" in the logs. I don't recall seeing that before. My CPU is an Intel i7-5930K and it does support AVX2 (https://www.intel.com/content/www/us/en/products/sku/82931/intel-core-i75930k-processor-15m-cache-up-to-3-70-ghz/specifications.html). I don't believe AVX2 can be toggled via BIOS, and it is shown as an instruction via CPU-Z (shown in the attached screenshot). I've uploaded the debug output in a zip file due to upload size restrictions. Let me know if there's anything I need to do on my end to fix! Thanks for your time! RE: "Detected no AVX2 support" - Selur - 15.03.2026 The used code: bool HybridMainWindow::cpuSupportsAVX2() const
{
unsigned int ebx = 0;
#ifdef _MSC_VER
int cpuInfo[4];
__cpuid(cpuInfo, 0);
if (cpuInfo[0] < 7)
return false;
__cpuidex(cpuInfo, 7, 0);
ebx = cpuInfo[1];
#elif Q_OS_WIN
unsigned int eax, ecx, edx;
unsigned int cpuInfo[4];
__cpuid(0, eax, ebx, ecx, edx);
if (eax < 7)
return false;
__cpuid_count(7, 0, eax, ebx, ecx, edx);
#endif
// Bit 5 of EBX in CPUID leaf 7 subleaf 0 indicates AVX2 support
return (ebx & (1 << 5)) != 0;
}Does this also happen if you: a. restart Hybrid b. clear the tools cache? c. reset the defaults Cu Selur RE: "Detected no AVX2 support" - sharkeylaser - 15.03.2026 Thank you for your response! That's very strange. As for the questions: a. Yes, restarted both Hybrid and my computer. b. I'm assuming that is "Config -> Tools -> Clear all cached tool infos"? If so, then yes still happening. c. Also yes after resetting to default. RE: "Detected no AVX2 support" - Selur - 15.03.2026 Just to be sure: You are not running some VM, right? If you run some antivirus software aside from Microsofts Defender, does it make a difference if you disable it? (afaik. only sandbox software, malware detection, antivirus detection, benchmarking or over-/underclocking tools might interfere with the above code) Cu Selur Ps.: I added that code on 2025-05-13 and haven't changed it since then. (so every version after that has this code) RE: "Detected no AVX2 support" - sharkeylaser - 15.03.2026 Correct, this isn't a VM. It's a dual-boot system, Windows 11 and Linux. No other anti-virus running, just Windows Defender. Tried disabling that as well but no change. Edit: just tried booting Windows with both refind and Microsoft's bootloaders, no change. RE: "Detected no AVX2 support" - Selur - 15.03.2026 hmm,... I created a Hybrid.exe for testing which uses: #include <QStringList>
#include <QString>
#include <QByteArray>
#if defined(_MSC_VER)
#include <intrin.h>
#elif defined(__GNUC__) || defined(__clang__)
#include <cpuid.h>
#endif
static void cpuid(unsigned int leaf, unsigned int subleaf,
unsigned int &eax, unsigned int &ebx,
unsigned int &ecx, unsigned int &edx)
{
#if defined(_MSC_VER)
int regs[4];
__cpuidex(regs, leaf, subleaf);
eax = regs[0];
ebx = regs[1];
ecx = regs[2];
edx = regs[3];
#else
__cpuid_count(leaf, subleaf, eax, ebx, ecx, edx);
#endif
}
QStringList getCpuInfo()
{
QStringList info;
unsigned int eax, ebx, ecx, edx;
// Leaf 0 : Vendor + max leaf
cpuid(0, 0, eax, ebx, ecx, edx);
unsigned int maxLeaf = eax;
char vendor[13];
memcpy(vendor + 0, &ebx, 4);
memcpy(vendor + 4, &edx, 4);
memcpy(vendor + 8, &ecx, 4);
vendor[12] = 0;
info << QString("Vendor: %1").arg(vendor);
info << QString("Max CPUID leaf: %1").arg(maxLeaf);
// Leaf 1 : basic features
cpuid(1, 0, eax, ebx, ecx, edx);
info << QString("SSE: %1").arg((edx >> 25) & 1);
info << QString("SSE2: %1").arg((edx >> 26) & 1);
info << QString("SSE3: %1").arg((ecx >> 0) & 1);
info << QString("SSSE3: %1").arg((ecx >> 9) & 1);
info << QString("SSE4.1: %1").arg((ecx >> 19) & 1);
info << QString("SSE4.2: %1").arg((ecx >> 20) & 1);
info << QString("AVX: %1").arg((ecx >> 28) & 1);
info << QString("FMA: %1").arg((ecx >> 12) & 1);
// Leaf 7 : extended features
if (maxLeaf >= 7)
{
cpuid(7, 0, eax, ebx, ecx, edx);
info << QString("AVX2: %1").arg((ebx >> 5) & 1);
info << QString("BMI1: %1").arg((ebx >> 3) & 1);
info << QString("BMI2: %1").arg((ebx >> 8) & 1);
info << QString("AVX512F: %1").arg((ebx >> 16) & 1);
info << QString("SHA: %1").arg((ebx >> 29) & 1);
}
// CPU brand string
char brand[49] = {0};
if (maxLeaf >= 0x80000004)
{
unsigned int data[4];
for (int i = 0; i < 3; ++i)
{
cpuid(0x80000002 + i, 0, data[0], data[1], data[2], data[3]);
memcpy(brand + i * 16, data, 16);
}
info << QString("Brand: %1").arg(QString::fromLatin1(brand).trimmed());
}
return info;
}which should output something similar to: CPU INFO: Vendor: AuthenticAMD Max CPUID leaf: 13 SSE: 1 SSE2: 1 SSE3: 1 SSSE3: 1 SSE4.1: 1 SSE4.2: 1 AVX: 1 FMA: 1 AVX2: 1 BMI1: 1 BMI2: 1 AVX512F: 1 SHA: 1What does it show for you? Cu Selur RE: "Detected no AVX2 support" - sharkeylaser - 15.03.2026 Ah, yeah that seems to recogise it now! Quote:CPU INFO: Vendor: GenuineIntel Max CPUID leaf: 15 SSE: 1 SSE2: 1 SSE3: 1 SSSE3: 1 SSE4.1: 1 SSE4.2: 1 AVX: 1 FMA: 1 AVX2: 1 BMI1: 1 BMI2: 1 AVX512F: 0 SHA: 0 RE: "Detected no AVX2 support" - Selur - 15.03.2026 Okay, but Hybrid still shows "Detected no AVX2 support" ? RE: "Detected no AVX2 support" - sharkeylaser - 15.03.2026 Correct, it still shows that message, underneath the new one: Quote:Finished startup, finished after 18.659sMy apologies, I should have used clearer wording there. RE: "Detected no AVX2 support" - Selur - 15.03.2026 Okay, will look into it and report back with a new test version in a bit. ![]() Cu Selur |