mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-23 06:05:59 +01:00
parent
bc51a91043
commit
bd952dcef2
5 changed files with 18 additions and 14 deletions
|
@ -125,13 +125,12 @@ void CCompositor::initServer() {
|
||||||
|
|
||||||
initManagers(STAGE_PRIORITY);
|
initManagers(STAGE_PRIORITY);
|
||||||
|
|
||||||
if (const auto ENV = getenv("HYPRLAND_TRACE"); ENV && std::string(ENV) == "1")
|
if (envEnabled("HYPRLAND_TRACE"))
|
||||||
Debug::trace = true;
|
Debug::trace = true;
|
||||||
|
|
||||||
wlr_log_init(WLR_INFO, NULL);
|
wlr_log_init(WLR_INFO, NULL);
|
||||||
|
|
||||||
const auto LOGWLR = getenv("HYPRLAND_LOG_WLR");
|
if (envEnabled("HYPRLAND_LOG_WLR"))
|
||||||
if (LOGWLR && std::string(LOGWLR) == "1")
|
|
||||||
wlr_log_init(WLR_DEBUG, Debug::wlrLog);
|
wlr_log_init(WLR_DEBUG, Debug::wlrLog);
|
||||||
else
|
else
|
||||||
wlr_log_init(WLR_ERROR, Debug::wlrLog);
|
wlr_log_init(WLR_ERROR, Debug::wlrLog);
|
||||||
|
@ -343,7 +342,7 @@ void CCompositor::cleanup() {
|
||||||
Debug::shuttingDown = true;
|
Debug::shuttingDown = true;
|
||||||
|
|
||||||
#ifdef USES_SYSTEMD
|
#ifdef USES_SYSTEMD
|
||||||
if (sd_booted() > 0)
|
if (sd_booted() > 0 && !envEnabled("HYPRLAND_NO_SD_NOTIFY"))
|
||||||
sd_notify(0, "STOPPING=1");
|
sd_notify(0, "STOPPING=1");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -540,10 +539,11 @@ void CCompositor::startCompositor() {
|
||||||
g_pHyprRenderer->setCursorFromName("left_ptr");
|
g_pHyprRenderer->setCursorFromName("left_ptr");
|
||||||
|
|
||||||
#ifdef USES_SYSTEMD
|
#ifdef USES_SYSTEMD
|
||||||
if (sd_booted() > 0)
|
if (sd_booted() > 0) {
|
||||||
// tell systemd that we are ready so it can start other bond, following, related units
|
// tell systemd that we are ready so it can start other bond, following, related units
|
||||||
sd_notify(0, "READY=1");
|
if (!envEnabled("HYPRLAND_NO_SD_NOTIFY"))
|
||||||
else
|
sd_notify(0, "READY=1");
|
||||||
|
} else
|
||||||
Debug::log(LOG, "systemd integration is baked in but system itself is not booted à la systemd!");
|
Debug::log(LOG, "systemd integration is baked in but system itself is not booted à la systemd!");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2598,9 +2598,7 @@ int CCompositor::getNewSpecialID() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void CCompositor::performUserChecks() {
|
void CCompositor::performUserChecks() {
|
||||||
const auto atomicEnv = getenv("WLR_DRM_NO_ATOMIC");
|
if (g_pConfigManager->getInt("general:allow_tearing") == 1 && !envEnabled("WLR_DRM_NO_ATOMIC")) {
|
||||||
const auto atomicEnvStr = std::string(atomicEnv ? atomicEnv : "");
|
|
||||||
if (g_pConfigManager->getInt("general:allow_tearing") == 1 && atomicEnvStr != "1") {
|
|
||||||
g_pHyprNotificationOverlay->addNotification("You have enabled tearing, but immediate presentations are not available on your configuration. Try adding "
|
g_pHyprNotificationOverlay->addNotification("You have enabled tearing, but immediate presentations are not available on your configuration. Try adding "
|
||||||
"env = WLR_DRM_NO_ATOMIC,1 to your config.",
|
"env = WLR_DRM_NO_ATOMIC,1 to your config.",
|
||||||
CColor(0), 15000, ICON_WARNING);
|
CColor(0), 15000, ICON_WARNING);
|
||||||
|
|
|
@ -792,3 +792,10 @@ uint32_t glFormatToType(uint32_t gl) {
|
||||||
#endif
|
#endif
|
||||||
GL_UNSIGNED_BYTE;
|
GL_UNSIGNED_BYTE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool envEnabled(const std::string& env) {
|
||||||
|
const auto ENV = getenv(env.c_str());
|
||||||
|
if (!ENV)
|
||||||
|
return false;
|
||||||
|
return std::string(ENV) == "1";
|
||||||
|
}
|
|
@ -35,6 +35,7 @@ std::vector<SCallstackFrameInfo> getBacktrace();
|
||||||
void throwError(const std::string& err);
|
void throwError(const std::string& err);
|
||||||
uint32_t drmFormatToGL(uint32_t drm);
|
uint32_t drmFormatToGL(uint32_t drm);
|
||||||
uint32_t glFormatToType(uint32_t gl);
|
uint32_t glFormatToType(uint32_t gl);
|
||||||
|
bool envEnabled(const std::string& env);
|
||||||
|
|
||||||
template <typename... Args>
|
template <typename... Args>
|
||||||
[[deprecated("use std::format instead")]] std::string getFormat(std::format_string<Args...> fmt, Args&&... args) {
|
[[deprecated("use std::format instead")]] std::string getFormat(std::format_string<Args...> fmt, Args&&... args) {
|
||||||
|
|
|
@ -102,7 +102,7 @@ int main(int argc, char** argv) {
|
||||||
|
|
||||||
g_pCompositor->initServer();
|
g_pCompositor->initServer();
|
||||||
|
|
||||||
if (!getenv("HYPRLAND_NO_RT") || configStringToInt(std::string(getenv("HYPRLAND_NO_RT"))) == 0)
|
if (!envEnabled("HYPRLAND_NO_RT"))
|
||||||
Init::gainRealTime();
|
Init::gainRealTime();
|
||||||
|
|
||||||
Debug::log(LOG, "Hyprland init finished.");
|
Debug::log(LOG, "Hyprland init finished.");
|
||||||
|
|
|
@ -9,9 +9,7 @@ extern "C" {
|
||||||
}
|
}
|
||||||
|
|
||||||
CHyprRenderer::CHyprRenderer() {
|
CHyprRenderer::CHyprRenderer() {
|
||||||
const auto ENV = getenv("WLR_DRM_NO_ATOMIC");
|
if (envEnabled("WLR_DRM_NO_ATOMIC"))
|
||||||
|
|
||||||
if (ENV && std::string(ENV) == "1")
|
|
||||||
m_bTearingEnvSatisfied = true;
|
m_bTearingEnvSatisfied = true;
|
||||||
|
|
||||||
if (g_pCompositor->m_sWLRSession) {
|
if (g_pCompositor->m_sWLRSession) {
|
||||||
|
|
Loading…
Reference in a new issue