summaryrefslogtreecommitdiff
path: root/src/debug/HyprCtl.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2025-07-20 14:51:10 +0200
committerVaxry <vaxry@vaxry.net>2025-07-20 14:51:17 +0200
commita3d59b525b595f465dd1fe22e66c115d486f503b (patch)
treed7968ccf670833e3eeb015395c69e0b256f8e0cc /src/debug/HyprCtl.cpp
parentb7a91e02e915c7a87835cad0809faa28c6c15fb7 (diff)
systeminfo: print more render info
Diffstat (limited to 'src/debug/HyprCtl.cpp')
-rw-r--r--src/debug/HyprCtl.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/debug/HyprCtl.cpp b/src/debug/HyprCtl.cpp
index cbc8c641..15847d18 100644
--- a/src/debug/HyprCtl.cpp
+++ b/src/debug/HyprCtl.cpp
@@ -993,6 +993,17 @@ std::string versionRequest(eHyprCtlOutputFormat format, std::string request) {
std::string systemInfoRequest(eHyprCtlOutputFormat format, std::string request) {
std::string result = versionRequest(eHyprCtlOutputFormat::FORMAT_NORMAL, "");
+ static auto check = [](bool y) -> std::string { return y ? "✔️" : "❌"; };
+ static auto backend = [](Aquamarine::eBackendType t) -> std::string {
+ switch (t) {
+ case Aquamarine::AQ_BACKEND_DRM: return "drm";
+ case Aquamarine::AQ_BACKEND_HEADLESS: return "headless";
+ case Aquamarine::AQ_BACKEND_WAYLAND: return "wayland";
+ default: break;
+ }
+ return "?";
+ };
+
result += "\n\nSystem Information:\n";
struct utsname unameInfo;
@@ -1061,6 +1072,21 @@ std::string systemInfoRequest(eHyprCtlOutputFormat format, std::string request)
} else
result += "\tunknown: not runtime\n";
+ result += std::format("\nExplicit sync: {}", g_pHyprOpenGL->m_exts.EGL_ANDROID_native_fence_sync_ext ? "supported" : "missing");
+ result += std::format("\nGL ver: {}", g_pHyprOpenGL->m_eglContextVersion == CHyprOpenGLImpl::EGL_CONTEXT_GLES_3_2 ? "3.2" : "3.0");
+ result += std::format("\nBackend: {}", g_pCompositor->m_aqBackend->hasSession() ? "drm" : "sessionless");
+
+ result += "\n\nMonitor info:";
+
+ for (const auto& m : g_pCompositor->m_monitors) {
+ result += std::format("\n\tPanel {}: {}x{}, {} {} {} {} -> backend {}\n\t\texplicit {}\n\t\tedid:\n\t\t\thdr {}\n\t\t\tchroma {}\n\t\t\tbt2020 {}\n\t\tvrr capable "
+ "{}\n\t\tnon-desktop {}\n\t\t",
+ m->m_name, (int)m->m_pixelSize.x, (int)m->m_pixelSize.y, m->m_output->name, m->m_output->make, m->m_output->model, m->m_output->serial,
+ backend(m->m_output->getBackend()->type()), check(m->m_output->supportsExplicit), check(m->m_output->parsedEDID.hdrMetadata.has_value()),
+ check(m->m_output->parsedEDID.chromaticityCoords.has_value()), check(m->m_output->parsedEDID.supportsBT2020), check(m->m_output->vrrCapable),
+ check(m->m_output->nonDesktop));
+ }
+
if (g_pHyprCtl && g_pHyprCtl->m_currentRequestParams.sysInfoConfig) {
result += "\n======Config-Start======\n";
result += g_pConfigManager->getConfigString();