diff options
| author | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2025-07-16 11:02:20 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-16 11:02:20 +0200 |
| commit | 5bfe6dc703f678e6f8197ea587d798681fa21816 (patch) | |
| tree | 14d17965d5863a9ccc3278453d437bd3fc19d6af /src/render/Renderer.cpp | |
| parent | 8453fbf4eb0af2e3265fd34a693b7d0e9167f4d2 (diff) | |
config: disable hw on mgpu nvidia by default (#11018)
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 2865026f..e9797fbe 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -56,10 +56,12 @@ static int cursorTicker(void* data) { CHyprRenderer::CHyprRenderer() { if (g_pCompositor->m_aqBackend->hasSession()) { + size_t drmDevices = 0; for (auto const& dev : g_pCompositor->m_aqBackend->session->sessionDevices) { const auto DRMV = drmGetVersion(dev->fd); if (!DRMV) continue; + drmDevices++; std::string name = std::string{DRMV->name, DRMV->name_len}; std::ranges::transform(name, name.begin(), tolower); @@ -71,6 +73,7 @@ CHyprRenderer::CHyprRenderer() { drmFreeVersion(DRMV); } + m_mgpu = drmDevices > 1; } else { Debug::log(LOG, "Aq backend has no session, omitting full DRM node checks"); @@ -2371,6 +2374,10 @@ bool CHyprRenderer::isNvidia() { return m_nvidia; } +bool CHyprRenderer::isMgpu() { + return m_mgpu; +} + void CHyprRenderer::addWindowToRenderUnfocused(PHLWINDOW window) { static auto PFPS = CConfigValue<Hyprlang::INT>("misc:render_unfocused_fps"); |
