hyprland-wiki/pages/Getting Started/Quick-start.md

132 lines
4.5 KiB
Markdown

After 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, I recommend `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 <kbd>SUPER</kbd> + <kbd>Q</kbd>).
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](../../Nvidia) 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.
## 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:
```bash
#!/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 I recommend having _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.
I recommend you 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
```bash
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:
```plain
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](../../Configuring/Configuring-Hyprland) to learn all
about configuring Hyprland to your likings.
## Apps / X11 replacements
See the [Useful Utilities page](../../Useful-Utilities) and the
[Sway wiki page](https://github.com/swaywm/sway/wiki/Useful-add-ons-for-sway)
just about that.
## Screenshare / GTK slow launch issues
[FAQ (GTK issue)](../../FAQ/#some-of-my-apps-take-a-really-long-time-to-open)
[FAQ (screensharing)](../../FAQ/#screenshare--obs-no-worky)
## 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 like `DP-x`
or `HDMI-x` etc are your monitor names.
- edit `~/.config/hypr/hyprland.conf`
- replace the `monitor=` line with `monitor=NAME,RES@Hz,OFFSET,SCALE`, for
example `monitor=DP-1,1920x1080@60,0x0,1` (See [Monitors](#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.