make master tutorial

This commit is contained in:
Vaxry 2023-01-09 20:18:37 +01:00
parent d7aaaeeb6e
commit 74a63a8dd2
3 changed files with 103 additions and 159 deletions

View file

@ -217,18 +217,3 @@ Now, of course, install manually.
```plain
sudo cp ./build/Hyprland /usr/bin && sudo cp ./example/hyprland.desktop /usr/share/wayland-sessions
```
## Launching
You can launch Hyprland by either going into a TTY and executing `Hyprland`, or
with a login manager.
**!IMPORTANT**: Do **not** launch Hyprland with `root` permissions (don't
`sudo`)
Login managers are not officially supported, but here's a short compatibility
list:
- SDDM → Works flawlessly. Install the [latest git version](https://github.com/sddm/sddm) (or [sddm-git](https://aur.archlinux.org/packages/sddm-git) from the AUR if you use Arch) to prevent SDDM bug [1476](https://github.com/sddm/sddm/issues/1476).
- GDM → Works with the caveat of crashing Hyprland on the first launch
- ly → Works with minor to major issues and/or caveats

View file

@ -0,0 +1,102 @@
If you are coming to Hyprland for the first time, this is the main tutorial to read.
Due to a lot of people doing stupid stuff, this tutorial will cover literally everything
you need to just get things going. It does link to other pages where necessary.
{{< toc >}}
## Install Hyprland
See [Installation](../Installation) and come back here once you install Hyprland.
Install `kitty` (default terminal emulator)
## NVIDIA?
_If not using an NVIDIA card, skip this step_
Please take a look at
[The Nvidia page](../../Nvidia) before launching. You should **first** make a
wrapper, as described in a section a bit below, then follow the instructions from
the Nvidia page, and then continue on with sections below.
## VM?
_If not using a VM, skip this step_
In a VM, make sure you have 3D acceleration enabled in your virtio config (or virt-manager)
otherwise Hyprland ***will not work***.
You can also passthru a GPU to make it work.
Please bear in mind 3D accel in VMs may be pretty slow.
## Launching Hyprland, part 1
We recommend you set up a wrapper. A wrapper will be your executable to launch
Hyprland with envvars.
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 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 will **overwrite**
the desktop file on updates.
{{< /hint >}}
## Launching Hyprland, part 2
Now, with your wrapper, you can just execute it in your tty.
**!IMPORTANT**: Do **not** launch Hyprland with `root` permissions (don't
`sudo`)
Login managers are not officially supported, but here's a short compatibility
list:
- SDDM → Works flawlessly. Install the [latest git version](https://github.com/sddm/sddm) (or [sddm-git](https://aur.archlinux.org/packages/sddm-git) from the AUR if you use Arch) to prevent SDDM bug [1476](https://github.com/sddm/sddm/issues/1476) (90s shutdowns).
- GDM → Works with the caveat of crashing Hyprland on the first launch
- ly → Works poorly
## In hyprland
Hello, you're good to go with your adventure, technically.
Use <key>SUPER</key> + <key>Q</key> to launch kitty.
If you want the best experience with less hassle googling, keep reading.
## Critical software
See the [Must-have Software page](../../Useful-Utilities/Must-have) for the crucial
things to make Wayland / Hyprland / other apps work correctly.
## Monitors config
See [Configuring Hyprland page](../../Configuring/Monitors) to learn all
about configuring your displays.
## 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.
## Fully configure
Head onto the
[Configuring Hyprland page](../../Configuring/Configuring-Hyprland) to learn all
about configuring Hyprland to your likings.

View file

@ -1,143 +0,0 @@
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, 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 <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.
{{< 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:
```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 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 will **overwrite**
the desktop file on updates.
{{< /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 pre-generated config.
To make the warning to go away, remove the `autogenerated=1` line from hyprland.conf
# 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.
# Critical software
See the [Must-have Software page](../../Useful-Utilities/Must-have) for the crucial
things to make Wayland / Hyprland / other apps work correctly.
## 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.