Co-authored-by: Mihai Fufezan <fufexan@pm.me>
5 KiB
wAfter you have installed Hyprland, you can either launch it from a TTY with
Hyprland
or from a login manager. Although login managers aren't officially
supported, you might want to use SDDM
, as it's been working flawlessly with wayland
compositors.
It is recommended you have kitty
installed for terminal access, (example and
autogenerated configs have it bound to SUPER + Q).
Alternatively, manually change it in the config before launching Hyprland.
If you have an Nvidia card, please also take a look at The Nvidia page before launching. You should first make a wrapper, as described in the section below, then follow the instructions from the Nvidia page, and then continue on with sections below.
{{< hint type=important >}} Running Hyprland in a VM is unsupported. VMs employ a bunch of tactics that mess with Hyprland, on top of the fact that they do not provide a GPU.
If running Hyprland via WLR_RENDERER_ALLOW_SOFTWARE=1 Hyprland
does not work,
you are out of luck. Try installing it on a real machine.
Although it's 100% possible to use Hyprland in a VM, if it's not launching it's 99.9% of the times your fault. Please also keep in mind software rendering is REALLY slow. {{</ hint >}}
Wrapping the launcher (recommended)
With Xorg, you get the .xinitrc
. With Hyprland, you can create your own...
kind of.
Make an executable file somewhere in your PATH
, for example ~/.local/bin/
,
called (for example) wrappedhl
In it, put:
#!/bin/sh
cd ~
export _JAVA_AWT_WM_NONREPARENTING=1
export XCURSOR_SIZE=24
exec Hyprland
You can add as many exported envvars as you need (Nvidia users might need a lot), but it's recommended to have at least the shown two.
You should now launch Hyprland with wrappedhl
instead of Hyprland
. Make sure
to copy your .desktop
file in /usr/share/wayland-sessions/
and edit it if you use a
login manager! You might need to put the full path in it, as login managers are
usually not ran through the user account.
{{< hint type=important >}}
It is highly recommended to copy the desktop file to e.g. wrapped_hl.desktop
instead of editing
the provided one, as many package managers (and sudo make install
) will overwrite
the desktop file on updates. If you manually build Hyprland, consider using sudo make cleaninstall
to preserve hyprland.deskop
{{< /hint >}}
Immediate
OMG MY SCREEN IS BROKEN, FLASHY TEARY! -> see the bottom of this page
Once you log in, you'll be greeted with a yellow warning that will give you some basic keybind info of your pregenerated config.
It's better to use the config provided in examples/hyprland.conf
though.
Paste it into ~/.config/hypr/hyprland.conf
You can, of course, start from the pregenerated config if you wish to. If you
want the warning to go away, remove the autogenerated=1
line.
Monitors
Use hyprctl monitors
to list available outputs. hyprctl
will not tell you
what your monitor is capable of though, so if you want to check your resolution / refresh rate,
use a tool like wlr-randr
.
Then, you can configure your outputs with
hyprctl keyword monitor NAME,RES@HZ,OFFSET,SCALE
NAME
is the name of the display, e.g. DP-1
. Can be empty for a global rule.
RES@HZ
is the resolution and refresh rate, e.g. 1920x1080@144
. Can be
preferred
for auto-detection.
OFFSET
is the position of the monitor, e.g. 0x0
. Can be auto
to
automatically add it to the right of the viewport.
SCALE
is the display scale, e.g. 1
example command:
hyprctl keyword monitor DP-3,1920x1080@240,1920x0,1
{{< hint type=important >}} These changes are not permanent! If you want to make those changes persist, configure your outputs in the config! {{< /hint >}}
Proper configuring
Head onto the Configuring Hyprland page to learn all about configuring Hyprland to your likings.
Apps / X11 replacements
See the Useful Utilities page and the Sway wiki page just about that.
Screenshare / GTK slow launch issues
Screen broken on launch
This usually happens due to your monitor not being very happy about the default settings.
You can get your monitor's name(s) from the TTY.
Exit hyprland, and then:
cat /tmp/hypr/$(ls -t /tmp/hypr | head -n 1)/hyprland.log | grep monitor
will give you a bunch of logs about the connected monitors. Names likeDP-x
orHDMI-x
etc are your monitor names.- edit
~/.config/hypr/hyprland.conf
- replace the
monitor=
line withmonitor=NAME,RES@Hz,OFFSET,SCALE
, for examplemonitor=DP-1,1920x1080@60,0x0,1
(See Monitors for more info about the values). You can also add multiple of those for multi-monitor setups.
After this, upon launching Hyprland again, everything should be fine, provided you set an appropriate mode for your monitors.