Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks. https://hypr.land
  • C++ 95.2%
  • GLSL 2%
  • Shell 0.8%
  • CMake 0.5%
  • Nix 0.5%
  • Other 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Scott Jones 4bb6844b03
render: detect software rendering from the GL renderer (#16343)
* render: detect software rendering from the GL renderer

Classify the active GL context instead of DRM driver names so software
renderers use the existing synchronization fallback. Make EGL current
before querying GL_RENDERER; otherwise glGetString returns null in the
renderer constructor and detection never runs.

Co-authored-by: Eryk Wieliczko <44800858+erykwieliczko@users.noreply.github.com>

* render: match software renderer names case-insensitively

---------

Co-authored-by: Eryk Wieliczko <44800858+erykwieliczko@users.noreply.github.com>
2026-09-27 23:02:32 +02:00
.github ci/docs: update links to point to new wiki (#16375) 2026-09-26 10:46:50 +02:00
assets README: update showcase 2026-07-14 11:35:12 +02:00
debug-tools debug/flame-graph: fix script for nixos 2026-08-03 12:35:10 +02:00
docs [gha] build man pages 2026-09-26 08:47:06 +00:00
example config: link to the new wiki pages (#16241) 2026-09-13 17:27:21 +02:00
hyprctl hyprctl: random Lua-adjacent fixes (#15767) 2026-08-09 20:00:17 +02:00
hyprpm hyprpm: make hyprwayland-scanner runtime dep explicit (#16047) 2026-08-30 16:31:42 +02:00
hyprtester ipc: clean up workspace data (#16269) 2026-09-17 15:50:23 +02:00
meta config/lua: allow get_monitors with a table for specifying args (#14693) 2026-08-21 13:26:23 +02:00
nix ci/docs: update links to point to new wiki (#16375) 2026-09-26 10:46:50 +02:00
protocols protocols/vicinae-hotkey-v1: implement client-managed global shortcuts (#15010) 2026-06-14 12:31:00 +01:00
scripts shaders: replace SHADERS std::map with a constexpr sorted std::array (#15113) 2026-06-14 13:40:06 +01:00
src render: detect software rendering from the GL renderer (#16343) 2026-09-27 23:02:32 +02:00
start build: link Glaze to the compositor core (#15454) 2026-07-17 11:42:56 +02:00
subprojects input-capture: implement the session destroy request (#16204) 2026-09-22 11:10:46 +02:00
systemd session: add disable-able systemd session target (#15776) 2026-08-22 13:57:45 +02:00
tests render: detect software rendering from the GL renderer (#16343) 2026-09-27 23:02:32 +02:00
.clang-format touch up the clang format and format all files 2022-12-20 02:18:47 +00:00
.clang-format-ignore style/ci: apply clang-format and verify it in ci (#4039) 2023-12-06 22:54:56 +00:00
.clang-tidy config/lua: init lua config manager, use lua if available (#13817) 2026-04-26 15:16:36 +01:00
.codeowners codeowners: set erstarr to codeowners for fullscreen related stuff (#15752) 2026-08-06 15:13:29 +02:00
.gitattributes Initial commit 2022-03-16 20:49:02 +01:00
.gitignore chore: add keyboard-modifiers.txt to .gitignore (#15828) 2026-08-11 17:02:12 +02:00
.gitmodules Core: Move to aquamarine (#6608) 2024-07-21 13:09:54 +02:00
AGENTS.md ci/docs: update links to point to new wiki (#16375) 2026-09-26 10:46:50 +02:00
CLAUDE.MD Core/Guidelines: update CLAUDE.md for claude and AI policy (#16099) 2026-09-01 20:14:39 +02:00
CMakeLists.txt input-capture: implement the session destroy request (#16204) 2026-09-22 11:10:46 +02:00
CODE_OF_CONDUCT.md doc: Add a CoC (#3366) 2023-09-20 19:38:44 +01:00
codeowners.toml ci: add code owners via codeowners-plus (#15261) 2026-07-02 23:19:02 +02:00
flake.lock [gha] Nix: update inputs 2026-09-19 10:37:24 +00:00
flake.nix treewide: alejandra -> nixfmt 2026-03-02 21:03:44 +02:00
hyprland.pc.in hyprland.pc.in: add src include flag 2026-03-13 22:57:49 +02:00
LICENSE LICENSE: update year 2026-01-11 16:13:52 +01:00
Makefile makefile: smol Makefile QoL patches (#15491) 2026-07-22 13:54:58 +02:00
README.md ci/docs: update links to point to new wiki (#16375) 2026-09-26 10:46:50 +02:00
SECURITY.md SECURITY: init security policy 2025-04-27 00:07:00 +02:00
VERSION version: bump to 0.56.0 2026-07-20 09:50:48 +02:00

banner

Badge Workflow Badge License Badge Language Badge Pull Requests Badge Issues Badge Hi Mom


Hyprland is a 100% independent, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.

It provides the latest Wayland features, is highly customizable, has all the eyecandy, the most powerful plugins, easy IPC, much more QoL stuff than other compositors and more...


 
 Install 
 
   
 Quick Start 
 
   
 Configure 
 
   
 Contribute 
 



Features

  • All of the eyecandy: gradient borders, many types of blur, animations, glow, shadows and much more
  • A lot of customization
  • 100% independent, no wlroots, no libweston, no kwin, no mutter.
  • Custom bezier and spring curves for the best animations
  • Powerful plugin support
  • Built-in plugin manager
  • Tearing support for better gaming performance
  • Easily expandable and readable codebase
  • Fast and active development
  • Not afraid to provide bleeding-edge features
  • Config reloaded instantly upon saving
  • Global keybinds passed to your apps of choice
  • Tiling/pseudotiling/floating/fullscreen windows
  • Special workspaces (scratchpads)
  • Window groups (tabbed mode)
  • Powerful window/monitor/layer rules
  • Socket-based IPC
  • Native IME and Input Panels Support
  • Fully dynamic workspaces
  • Extensive layout support
    • Dwindle
    • Scrolling
    • Master
    • Monocle
    • Custom layout with Lua
    • Custom layouts with plugins
  • Per Workspace Layouts
  • and much more...


Gallery


Preview A


Preview B


Preview C



Special Thanks


wlroots - For powering Hyprland in the past

tinywl - For showing how 2 do stuff

Sway - For showing how 2 do stuff the overkill way

Vivarium - For showing how 2 do stuff the simple way

dwl - For showing how 2 do stuff the hacky way

Wayfire - For showing how 2 do some graphics stuff