Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package hyprland for openSUSE:Factory checked in at 2026-04-05 18:24:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/hyprland (Old) and /work/SRC/openSUSE:Factory/.hyprland.new.21863 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hyprland" Sun Apr 5 18:24:35 2026 rev:48 rq:1344650 version:0.54.3 Changes: -------- --- /work/SRC/openSUSE:Factory/hyprland/hyprland.changes 2026-02-20 17:51:15.081087295 +0100 +++ /work/SRC/openSUSE:Factory/.hyprland.new.21863/hyprland.changes 2026-04-05 18:25:27.861137463 +0200 @@ -1,0 +2,319 @@ +Sun Mar 29 10:07:38 UTC 2026 - Florian "sp1rit" <[email protected]> + +- Update to version 0.54.3: + + A standard patch release with more fixes on top of 0.54.2 + + Fixes backported: + - algo/dwindle: fix precise mouse setting (#13678) + - algo/master: fix crash on null target in getNextTarget + - algo/scroll: fix std::clamp assertion crash on resume from + suspend (#13737) + - desktop/rules: fix static rules and content type. (#13725) + - hyprctl: fix json output for the submap command (#13726) + - layershell: fix popup crash with nullptr mon (#13763) + - overridableVar: fix reassignment + - protocols: fix image-copy-capture stop handling and remove non + protocol errors (#13706) + - compositor: When processing fullscreen states, only use + effective mode where necessary (#13607) + - compositor: be more selective about how we expand the window + box in getting coord (#13720) + - layersurface: simulate mouse movement on layer change (#13747) + - layout: guard null workspace in CWindowTarget::updatePos() + (#13861) + - protocols/workspace: schedule done after output update (#13743) + - view: consolidate group flags and apply window rules (#13694) + - xwayland: prevent potential buffer overflow in socket path + handling (#13797) + +------------------------------------------------------------------- +Tue Mar 10 14:47:03 UTC 2026 - Florian "sp1rit" <[email protected]> + +- Update to version 0.54.2: + + Another patch release backporting some fixes from main onto + 0.54.1. + + Fixes backported: + - config/descriptions: add missing desc entry + - layout/windowTarget: add visualBox (#13626) + - algo/scroll: fix unsigned wrap (#13634) + - compositor: fix missing recheckWorkArea to prevent + CReservedArea assert failure (#13590) + - core: fix i586 build (#13550) + - deco/border: fix damage region + - desktop/rules: fix empty workspace handling (#13544) + - desktop/windowRule: fix matching CONTENT (#13636) + - layout/groupTarget: fix crash on null space assignment (#13614) + - layout: fix crash on monitor reconnect due to stale workspace + state + - layout: fix drag_threshold window snap regression (rebased for + #12890) (#13140) + - layout: fix null deref in focalPointForDir and moveInDirection + (#13652) + - pointer: fix hardware cursor rendering on rotated/flipped + monitors (#13574) + - protocols/sessionLock: fix crash when monitor is gone during + lock surface creation + - screencopy: fix minor crash (#13566) + - algo/dwindle: Respect force_split when moving windows to + workspaces (#13038) + - algo/dwindle: do NOT use smart_split for overridden focal point + (#13635) + - screenshare: improve destroy logic of objects (#13554) +- Dropped "fix-i586-build.patch", included upstream. + +------------------------------------------------------------------- +Tue Mar 3 21:52:35 UTC 2026 - Florian "spirit" <[email protected]> + +- Added "fix-i586-build.patch" + +------------------------------------------------------------------- +Tue Mar 3 21:17:15 UTC 2026 - Florian "spirit" <[email protected]> + +- Update to verison 0.54.1: + + This is a standard patch release backporting some fixes from main + onto 0.54.0 + + Fixes backported: + - algo/dwindle: add back splitratio (#13498) + - algo/master: fix crash after dpms (#13522) + - algo/scrolling: fix offset on removeTarget (#13515) + - algo/scrolling: fix rare crash + - build: fix build on gcc 16.x after #6b2c08d (#13429) + - compositor: fix focus edge detection (#13425) + - deco/border: fix damageEntire + - desktop/group: fix movegroupwindow not following focus (#13426) + - desktop/rule: fix matching for content type by str + - desktop/window: fix floating windows being auto-grouped + (#13475) + - desktop/window: fix idealBB reserved (#13421) + - hyprctl: fix buffer overflowing writes to the socket + - hyprctl: fix workspace dynamic effect reloading (#13537) + - keybinds: fixup changegroupactive + - layout/algo: fix swar on removing a target (#13427) + - layout/scroll: fix configuredWidths not setting properly on new + workspaces (#13476) + - layout/scrolling: fix size_t underflow in idxForHeight (#13465) + - layout/windowTarget: fix size_limits_tiled (#13445) + - layouts: fix crash on missed relayout updates (#13444) + - renderer: fix crash on mirrored outputs needing recalc (#13534) + - screencopy: fix nullptr deref if shm format is weird + - tests/workspace: fix one test case failing + - algo/dwindle: don't crash on empty swapsplit (#13533) + - algo/dwindle: use focal point correctly for x-ws moves (#13514) + - algo/scroll: improve directional moves (#13423) + - compositor: damage monitors on workspace attachment updates + - desktop/group: respect direction when moving window out of + group (#13490) + - desktop/window: don't group modals + - format: safeguard drmGetFormat functions (#13416) + - layout/algos: use binds:window_direction_monitor_fallback for + moves (#13508) + - layout/windowTarget: damage before and after moves (#13496) + - layout/windowTarget: don't use swar on maximized (#13501) + - layout/windowTarget: override maximized box status in + updateGeom (#13535) + - layout: store and preserve size and pos after fullscreen + (#13500) + - monitor: damage old special monitor on change + - monitor: keep workspace monitor bindings on full reconnect + (#13384) + - monitor: update pinned window states properly on + changeWorkspace (#13441) + - pointer: damage entire buffer in begin of rendering hw + - screencopy: scale window region for toplevel export (#13442) + - scroll: clamp column widths properly + +------------------------------------------------------------------- +Fri Feb 27 21:00:57 UTC 2026 - Florian "sp1rit" <[email protected]> + +- Update to version 0.54.0: + + A big (large), actually huge update for y'all!! + + New features: + - cmakelists: add fno-omit-frame-pointer for tracy builds + - desktop/window: add stable id and use it for foreign + - gestures: add cursor zoom (#13033) + - groupbar: added group:groupbar:text_padding (#12818) + - hyprctl: add error messages to hyprctl hyprpaper wallpaper + (#13234) + - hyprctl: add overFullscreen field in hyprctl window debug + (#13066) + - keybinds: add inhibiting gestures under shortcut inhibitors + (#12692) + - main: add watchdog-fd and safe-mode options to help message + (#12922) + - opengl: add debug:gl_debugging (#13183) + + Fixes: + - algo/dwindle: fix focal point not being properly used in + movedTarget (#13373) + - algo/master: fix master:orientation being a noop + - algo/master: fix orientation cycling (#13372) + - algo/scrolling: fix crashes on destroying ws + - core/compositor: immediately do readable if adding waiter fails + for scheduling state + - compositor: fix calculating x11 work area (#13347) + - config/descriptions: fix use_cpu_buffer (#13285) + - core/xwaylandmgr: fix min/max clamp potentially crashing + - decorations/border: fix damage scheduling after #12665 + - desktop/layerRuleApplicator: fix an epic c+p fail + - desktop/ls: fix invalid clamp + - desktop/popup: fix use after free in Popup (#13335) + - desktop/reserved: fix a possible reserved crash (#13207) + - desktop/ruleApplicator: fix typo in border color rule parsing + (#12995) + - desktop/rules: fix border colors not resetting. (#13382) + - desktop/workspaceHistory: fix tracking for multiple monitors + (#12979) + - desktopAnimationMgr: fix slide direction + - dynamicPermManager: fix c+p fail + - eventLoop: various eventloopmgr fixes (#13091) + - example: fixup config for togglesplit + - fifo: miscellaneous fifo fixes (#13136) + - fix: handle fullscreen windows on special workspaces (#12851) + - hyprctl: fix layerrules not being applied dynamically with + hyprctl (#13080) + - hyprerror: add padding & adjust for scale when reserving area + (#13158) + - hyprerror: fix horizontal overflow and damage box (#12719) + - input: fix edge grab resize logic for gaps_out > 0 (#13144) + - input: fix kinetic scroll (#13233) + - keybinds: fix unguarded member access in moveWindowOrGroup + (#13337) + - mainLoopExecutor: fix incorrect pipe check + - monitor: fix DS deactivation (#13188) + - multigpu: fix multi gpu checking (#13277) + - pluginsystem: fix crash when unloading plugin hyprctl commands + (#12821) + - protocols/cm: Fix image description info events (#12781) + - protocols/contentType: fix missing destroy + - protocols/contentType: fix typo in already constructed check + - protocols/dmabuf: fix DMA-BUF checks and events (#12965) + - protocols/syncobj: fix DRM sync obj support logging (#12946) + - renderer/pass: fix surface opaque region bounds used in + occluding (#13124) + - renderer: add surface shader variants with less branching and + uniforms (#13030) + - renderer: optimise shader usage further, split shaders and add + more caching (#12992) + - renderer: fix dgpu directscanout explicit sync (#13229) + - renderer: fix frame sync (#13061) + - renderer: fix mouse motion in VRR (#12665) + - renderer: fix non shader cm reset (#13027) + - renderer: fix screen export back to srgb (#13148) + - systemd/sdDaemon: fix incorrect strnlen + - target: fix geometry for x11 floats + - tester: fix sleeps waiting for too long (#12774) + - xwayland/xwm: fix _NET_WM_STATE_MAXIMIZED_VERT type (#13151) + - xwayland/xwm: fix window closing when props race + - xwayland: fix size mismatch for no scaling (#13263) + + Other: + - algo/scrolling: adjust focus callbacks to be more intuitive + - animation: reset tick state on session activation (#13024) + - animationMgr: avoid uaf in ::tick() if handleUpdate destroys AV + - anr: open anr dialog on parent's workspace (#12509) + - anr: remove window on closewindow (#13007) + - buffer: add move constructor and operator to CHLBufferReference + (#13157) + - cm: block DS for scRGB in HDR mode (#13262) + - cmake: bump wayland-server version to 1.22.91 (#13242) + - cmake: use OpenGL::GLES3 when OpenGL::GL does not exist + (#13260) + - cmakelists: don't require debug for tracy + - compositor: guard null view() in getWindowFromSurface (#13255) + - config: don't crash on permission with a config check + - config: return windowrulev2 layerrulev2 error messages (#12847) + - config: support no_vrr rule on vrr 1 (#13250) + - core: optimize some common branches + - decoration: take desiredExtents on all sides into account + (#12935) + - dekstop/window: read static rules before guessing initial size + if possible (#12783) + - desktop/LS: avoid creating an invalid LS if no monitor could be + found (#12787) + - desktop/ls: clamp layer from protocol + - desktop/popup: avoid crash on null popup child in rechecking + - desktop/popup: only remove reserved for window popups + - desktop/reservedArea: clamp dynamic types to 0 + - desktop/reservedArea: clamp to 0 + - desktop/rules: use pid for exec rules (#13374) + - desktop/window: avoid uaf on instant removal of a window + - desktop/window: catch bad any cast tokens + - desktop/window: go back to the previously focused window in a + group (#12763) + - desktop/window: remove old fn defs + - desktop/window: track explicit workspace assignments to prevent + X11 configure overwrites (#12850) + - desktop/window: use workArea for idealBB (#12802) + - desktop/windowRule: allow expression in min_size/max_size + (#12977) + - desktop/windowRule: use content rule as enum directly (#13275) + - desktop: restore invisible floating window alpha/opacity when + focused over fullscreen (#12994) + - event: refactor HookSystem into a typed event bus (#13333) + - eventLoop: remove failed readable waiters + - framebuffer: revert viewport (#12842) + - gestures/fs: remove unneeded floating state switch (#13127) + - hyprctl: adjust json case + - hyprctl: bump hyprpaper protocol to rev 2 (#12838) + - hyprctl: remove trailing comma from json object (#13042) + - hyprerror: clear reserved area on destroy (#13046) + - i18n: add Romanian translations (#13075) + - i18n: add Traditional Chinese (zh_TW) translations (#13210) + - i18n: add Vietnamese translation (#13163) + - i18n: add bengali translations (#13185) + - i18n: update russian translation (#13247) + - input/TI: avoid UAF in destroy + - input/ti: avoid sending events to inactive TIs + - input: guard null view() when processing mouse down (#12772) + - input: use fresh cursor pos when sending motion events (#13366) + - layershell: restore focus to layer shell surface after popup is + destroyed (#13225) + - layout: rethonk layouts from the ground up (#12890) + - monitor: revert "remove disconnected monitor before unsafe + state #12544" (#13154) + - opengl/fb: use GL_DEPTH24_STENCIL8 instead of GL_STENCIL_INDEX8 + (#13067) + - opengl: allow texture filter to be changed (#13078) + - opengl: set EGL_CONTEXT_RELEASE_BEHAVIOR_KHR if supported + (#13114) + - pointermgr: damage only the surface size (#13284) + - pointermgr: remove onRenderBufferDestroy (#13008) + - pointermgr: revert "damage only the surface size (#13284)" + - popup: check for expired weak ptr (#13352) + - popup: reposition with reserved taken into account + - proto/shm: update wl_shm to v2 (#13187) + - protocolMgr: remove IME / virtual input protocols from sandbox + whitelist + - protocols/toplevelExport: Support transparency in toplevel + export (#12824) + - protocols: implement image-capture-source-v1 and + image-copy-capture-v1 (#11709) + - renderer/fb: dont forget to set m_drmFormat (#12833) + - renderer/gl: add internal gl formats and reduce internal driver + format conversions (#12879) + - renderer/opengl: invalidate intermediate FBs post render, avoid + stencil if possible (#12848) + - renderer: allow tearing with DS with invisible cursors (#13155) + - renderer: better sdr eotf settings (#12812) + - renderer: minor framebuffer and renderbuffer changes (#12831) + - renderer: shader code refactor (#12926) + - shm: ensure we use right gl unpack alignment (#12975) ++++ 22 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/hyprland/hyprland.changes ++++ and /work/SRC/openSUSE:Factory/.hyprland.new.21863/hyprland.changes Old: ---- hyprland-0.53.3.tar.xz New: ---- hyprland-0.54.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ hyprland.spec ++++++ --- /var/tmp/diff_new_pack.uLXnqR/_old 2026-04-05 18:25:30.533247098 +0200 +++ /var/tmp/diff_new_pack.uLXnqR/_new 2026-04-05 18:25:30.545247591 +0200 @@ -20,7 +20,7 @@ %define shortname hypr Name: hyprland -Version: 0.53.3 +Version: 0.54.3 Release: 0 Summary: Dynamic tiling Wayland compositor License: BSD-3-Clause @@ -52,7 +52,7 @@ BuildRequires: pkgconfig(hyprlang) >= 0.6.7 BuildRequires: pkgconfig(hyprutils) >= 0.11.0 BuildRequires: pkgconfig(hyprwayland-scanner) >= 0.3.10 -BuildRequires: pkgconfig(hyprwire) >= 0.2.1 +BuildRequires: pkgconfig(hyprwire) >= 0.3.0 BuildRequires: pkgconfig(libdrm) >= 2.4.118 BuildRequires: pkgconfig(libinput) >= 1.28.0 BuildRequires: pkgconfig(libudev) @@ -68,7 +68,7 @@ BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-protocols) >= 1.45 BuildRequires: pkgconfig(wayland-scanner) -BuildRequires: pkgconfig(wayland-server) >= 1.22.90 +BuildRequires: pkgconfig(wayland-server) >= 1.22.91 BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xcb-errors) BuildRequires: pkgconfig(xcb-icccm) ++++++ hyprland-0.53.3.tar.xz -> hyprland-0.54.3.tar.xz ++++++ /work/SRC/openSUSE:Factory/hyprland/hyprland-0.53.3.tar.xz /work/SRC/openSUSE:Factory/.hyprland.new.21863/hyprland-0.54.3.tar.xz differ: char 15, line 1 ++++++ start_hyprland_no_nixgl.patch ++++++ --- /var/tmp/diff_new_pack.uLXnqR/_old 2026-04-05 18:25:31.297278446 +0200 +++ /var/tmp/diff_new_pack.uLXnqR/_new 2026-04-05 18:25:31.329279759 +0200 @@ -1,4 +1,4 @@ -From 9af8b97f52bd35ae3cd911f4d8c18b70a38babe0 Mon Sep 17 00:00:00 2001 +From c85ac283a39d90b452f4358a04772732f579bde5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20=22sp1rit=22=E2=80=8B?= <[email protected]> Date: Fri, 23 Jan 2026 16:42:37 +0100 Subject: [PATCH] start: drop support for nix-gl handling @@ -11,11 +11,11 @@ Signed-off-by: Florian "sp1rit" <[email protected]> --- start/src/core/Instance.cpp | 8 +-- - start/src/core/State.hpp | 1 - - start/src/helpers/Nix.cpp | 110 ------------------------------------ + start/src/core/State.hpp | 4 +- + start/src/helpers/Nix.cpp | 125 ------------------------------------ start/src/helpers/Nix.hpp | 9 --- - start/src/main.cpp | 12 ---- - 5 files changed, 1 insertion(+), 139 deletions(-) + start/src/main.cpp | 14 ---- + 5 files changed, 2 insertions(+), 158 deletions(-) delete mode 100644 start/src/helpers/Nix.cpp delete mode 100644 start/src/helpers/Nix.hpp @@ -46,24 +46,26 @@ g_logger->log(Hyprutils::CLI::LOG_ERR, "fork(): execvp failed: {}", strerror(errno)); std::fflush(stdout); diff --git a/start/src/core/State.hpp b/start/src/core/State.hpp -index d00a1757..6cf73a96 100644 +index 6a44c8d0..d56868ad 100644 --- a/start/src/core/State.hpp +++ b/start/src/core/State.hpp -@@ -8,7 +8,6 @@ +@@ -8,8 +8,6 @@ struct SState { std::span<const char*> rawArgvNoBinPath; std::optional<std::string> customPath; -- bool noNixGl = false; +- bool noNixGl = false; +- bool forceNixGl = false; }; - inline UP<SState> g_state = makeUnique<SState>(); +-inline UP<SState> g_state = makeUnique<SState>(); \ No newline at end of file ++inline UP<SState> g_state = makeUnique<SState>(); diff --git a/start/src/helpers/Nix.cpp b/start/src/helpers/Nix.cpp deleted file mode 100644 -index 07cd2a4a..00000000 +index da66183e..00000000 --- a/start/src/helpers/Nix.cpp +++ /dev/null -@@ -1,110 +0,0 @@ +@@ -1,125 +0,0 @@ -#include "Nix.hpp" - -#include "Logger.hpp" @@ -148,6 +150,9 @@ -} - -bool Nix::shouldUseNixGL() { +- if (g_state->forceNixGl) +- return true; +- - if (g_state->noNixGl) - return false; - @@ -169,7 +174,19 @@ - - if (IS_NIX) { - const auto NAME = getFromEtcOsRelease("NAME"); -- return !NAME || *NAME != "NixOS"; +- +- // Hyprland is nix: recommend nixGL iff !NIX && !NIX-OPENGL +- +- if (*NAME == "NixOS") +- return false; +- +- std::error_code ec; +- +- if (std::filesystem::exists("/run/opengl-driver", ec) && !ec) // NOLINTNEXTLINE +- return false; +- +- // we are not on nix / no nix opengl driver +- return true; - } - - return false; @@ -191,7 +208,7 @@ -}; \ No newline at end of file diff --git a/start/src/main.cpp b/start/src/main.cpp -index e73fcfa5..8a408b2b 100644 +index 45a78357..9ca84119 100644 --- a/start/src/main.cpp +++ b/start/src/main.cpp @@ -3,7 +3,6 @@ @@ -202,23 +219,28 @@ #include "core/State.hpp" #include "core/Instance.hpp" -@@ -21,7 +20,6 @@ Any arguments after -- are passed to Hyprland. For Hyprland help, run start-hypr +@@ -21,8 +20,6 @@ Any arguments after -- are passed to Hyprland. For Hyprland help, run start-hypr Additional arguments for start-hyprland: --path [path] -> Override Hyprland path - --no-nixgl -> Force disable nixGL +- --force-nixgl -> Force enable nixGL )#"; // -@@ -76,7 +74,6 @@ int main(int argc, const char** argv, const char** envp) { +@@ -77,11 +74,9 @@ int main(int argc, const char** argv, const char** envp) { continue; } if (arg == "--no-nixgl") { - g_state->noNixGl = true; continue; } + if (arg == "--force-nixgl") { +- g_state->forceNixGl = true; + continue; + } } -@@ -87,15 +84,6 @@ int main(int argc, const char** argv, const char** envp) { +@@ -92,15 +87,6 @@ int main(int argc, const char** argv, const char** envp) { if (!g_state->rawArgvNoBinPath.empty()) g_logger->log(Hyprutils::CLI::LOG_WARN, "Arguments after -- are passed to Hyprland"); @@ -235,6 +257,6 @@ while (true) { g_instance = makeUnique<CHyprlandInstance>(); -- -2.50.1 +2.51.1
