mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-08-01 20:51:58 -07:00
systeminfo: print more render info
This commit is contained in:
@@ -993,6 +993,17 @@ std::string versionRequest(eHyprCtlOutputFormat format, std::string request) {
|
|||||||
std::string systemInfoRequest(eHyprCtlOutputFormat format, std::string request) {
|
std::string systemInfoRequest(eHyprCtlOutputFormat format, std::string request) {
|
||||||
std::string result = versionRequest(eHyprCtlOutputFormat::FORMAT_NORMAL, "");
|
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";
|
result += "\n\nSystem Information:\n";
|
||||||
|
|
||||||
struct utsname unameInfo;
|
struct utsname unameInfo;
|
||||||
@@ -1061,6 +1072,21 @@ std::string systemInfoRequest(eHyprCtlOutputFormat format, std::string request)
|
|||||||
} else
|
} else
|
||||||
result += "\tunknown: not runtime\n";
|
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) {
|
if (g_pHyprCtl && g_pHyprCtl->m_currentRequestParams.sysInfoConfig) {
|
||||||
result += "\n======Config-Start======\n";
|
result += "\n======Config-Start======\n";
|
||||||
result += g_pConfigManager->getConfigString();
|
result += g_pConfigManager->getConfigString();
|
||||||
|
@@ -304,13 +304,15 @@ class CHyprOpenGLImpl {
|
|||||||
|
|
||||||
SP<CTexture> m_screencopyDeniedTexture;
|
SP<CTexture> m_screencopyDeniedTexture;
|
||||||
|
|
||||||
private:
|
|
||||||
enum eEGLContextVersion : uint8_t {
|
enum eEGLContextVersion : uint8_t {
|
||||||
EGL_CONTEXT_GLES_2_0 = 0,
|
EGL_CONTEXT_GLES_2_0 = 0,
|
||||||
EGL_CONTEXT_GLES_3_0,
|
EGL_CONTEXT_GLES_3_0,
|
||||||
EGL_CONTEXT_GLES_3_2,
|
EGL_CONTEXT_GLES_3_2,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
eEGLContextVersion m_eglContextVersion = EGL_CONTEXT_GLES_3_2;
|
||||||
|
|
||||||
|
private:
|
||||||
struct {
|
struct {
|
||||||
GLint x = 0;
|
GLint x = 0;
|
||||||
GLint y = 0;
|
GLint y = 0;
|
||||||
@@ -320,8 +322,6 @@ class CHyprOpenGLImpl {
|
|||||||
|
|
||||||
std::unordered_map<int, bool> m_capStatus;
|
std::unordered_map<int, bool> m_capStatus;
|
||||||
|
|
||||||
eEGLContextVersion m_eglContextVersion = EGL_CONTEXT_GLES_3_2;
|
|
||||||
|
|
||||||
std::vector<SDRMFormat> m_drmFormats;
|
std::vector<SDRMFormat> m_drmFormats;
|
||||||
bool m_hasModifiers = false;
|
bool m_hasModifiers = false;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user