mirror of
https://github.com/hyprwm/hyprland-wiki.git
synced 2026-05-04 22:58:08 +02:00
content: Fix TOC on a few pages via markdown headings (#1219)
This commit is contained in:
parent
54c24ea540
commit
5294b755f3
3 changed files with 40 additions and 42 deletions
|
|
@ -3,8 +3,6 @@ weight: 13
|
|||
title: Contributing and Debugging
|
||||
---
|
||||
|
||||
# Contributing guidelines
|
||||
|
||||
PR, code styling and code FAQs are [here](./PR-Guidelines)
|
||||
|
||||
For issues, please see
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ weight: 8
|
|||
title: NVidia
|
||||
---
|
||||
|
||||
# Foreword
|
||||
## Foreword
|
||||
|
||||
There is no _official_ Hyprland support for Nvidia hardware. However, many
|
||||
people have had success with the instructions on this page. Please read
|
||||
|
|
@ -42,7 +42,7 @@ If either of the proprietary Nvidia driver setups do not work properly on your
|
|||
computer, the Nouveau driver might work fine. This will likely be the case for
|
||||
[older cards](https://wiki.archlinux.org/title/NVIDIA#Unsupported_drivers).
|
||||
|
||||
# Proprietary driver setup
|
||||
## Proprietary driver setup
|
||||
|
||||
On Arch Linux and other Arch-based distros, we recommend using the DKMS variety
|
||||
of the kernel modules, as it will support all installed kernels on your system.
|
||||
|
|
@ -59,7 +59,7 @@ kernels of choice. So please make sure you have all relevant headers packages
|
|||
installed on your system. For example, if you have the Zen kernel installed, you
|
||||
must ensure `linux-zen-headers` is also installed.
|
||||
|
||||
## Further Installation
|
||||
### Further Installation
|
||||
|
||||
The following packages must also be installed to ensure a smooth experience with
|
||||
the proprietary drivers.
|
||||
|
|
@ -72,7 +72,7 @@ the proprietary drivers.
|
|||
This is required in order to enable compatibility between the EGL API and the
|
||||
Wayland protocol. This should already be installed on most distros.
|
||||
|
||||
## Early KMS, modeset and fbdev
|
||||
### Early KMS, modeset and fbdev
|
||||
|
||||
As of Nvidia driver version 570.86.16, `fbdev` has now been enabled by default
|
||||
when `modeset` is also enabled. Therefore we simply need to enable `modeset`.
|
||||
|
|
@ -119,7 +119,7 @@ After rebooting, you can verify that DRM is actually enabled by running
|
|||
More information is available
|
||||
[here](https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting).
|
||||
|
||||
## Environment variables
|
||||
### Environment variables
|
||||
|
||||
Add these variables to your Hyprland config:
|
||||
|
||||
|
|
@ -128,7 +128,7 @@ env = LIBVA_DRIVER_NAME,nvidia
|
|||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
```
|
||||
|
||||
## Finishing up
|
||||
### Finishing up
|
||||
|
||||
Install a few packages to get some apps to function natively with Wayland for
|
||||
the best compatibility and performance. See
|
||||
|
|
@ -140,7 +140,7 @@ Launch Hyprland.
|
|||
|
||||
It _should_ work now.
|
||||
|
||||
## Flickering in Electron / CEF apps
|
||||
### Flickering in Electron / CEF apps
|
||||
|
||||
Electron and CEF apps flicker because:
|
||||
|
||||
|
|
@ -193,7 +193,7 @@ to any Electron/CEF app:
|
|||
Using this in conjunction with native Wayland on these apps should solve all
|
||||
issues.
|
||||
|
||||
## VA-API hardware video acceleration
|
||||
### VA-API hardware video acceleration
|
||||
|
||||
Hardware video acceleration on Nvidia and Wayland is possible with the
|
||||
[nvidia-vaapi-driver](https://github.com/elFarto/nvidia-vaapi-driver). This may
|
||||
|
|
@ -217,9 +217,9 @@ will be given here:
|
|||
You can check the README to get it working for Firefox. There is also
|
||||
experimental support for Chromium, however there has not been much success.
|
||||
|
||||
## Other issues
|
||||
### Other issues
|
||||
|
||||
### Multi-monitor with hybrid graphics
|
||||
#### Multi-monitor with hybrid graphics
|
||||
If you experience issues with multi-monitor setup on a hybrid graphics device
|
||||
(a laptop with both an Intel and an Nvidia GPU), switching to discrete-only mode may help:
|
||||
|
||||
|
|
@ -228,7 +228,7 @@ If you experience issues with multi-monitor setup on a hybrid graphics device
|
|||
2. Change your BIOS settings from hybrid graphics to discrete graphics.
|
||||
|
||||
|
||||
### Multi-GPU (or hybrid graphics) not working for monitors attached to Nvidia GPU
|
||||
#### Multi-GPU (or hybrid graphics) not working for monitors attached to Nvidia GPU
|
||||
Nvidia doesn't support important features for Multi-GPU which can result in a broken or slow setup.
|
||||
There are some workarounds to try:
|
||||
|
||||
|
|
@ -238,7 +238,7 @@ There are some workarounds to try:
|
|||
This might slow down rendering to secondary monitors and make Hyprland a bit laggy on them,
|
||||
but it's better than not having a secondary monitor at all, and it's the best we can do on Nvidia.
|
||||
|
||||
### Flickering in XWayland games
|
||||
#### Flickering in XWayland games
|
||||
|
||||
XWayland games may flicker or present frames out-of-order in a way which makes
|
||||
them unplayable. This is due to the lack of implicit synchronization in the
|
||||
|
|
@ -257,7 +257,7 @@ There are a few fixes:
|
|||
the 535xx series of drivers. These can be installed on Arch via
|
||||
[these AUR packages](https://aur.archlinux.org/packages?O=0&K=535xx)
|
||||
|
||||
### Suspend/wakeup issues
|
||||
#### Suspend/wakeup issues
|
||||
|
||||
On Arch Linux and NixOS, the instructions below are already done for you, but
|
||||
for others:
|
||||
|
|
@ -284,7 +284,7 @@ worth trying the fully proprietary one.
|
|||
|
||||
{{< /callout >}}
|
||||
|
||||
# Still having issues?
|
||||
## Still having issues?
|
||||
|
||||
If you're still having issues after following this guide, you can join the
|
||||
[Hyprland Discord](https://discord.gg/hQ9XvMUjjr) and ask for help in the
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@ weight: 2
|
|||
title: Status bars
|
||||
---
|
||||
|
||||
# Simple status bars
|
||||
## Simple status bars
|
||||
|
||||
Typically you'll be able to configure the order and style of widgets with little to no coding skill.
|
||||
|
||||
## Waybar
|
||||
### Waybar
|
||||
|
||||
Waybar is a GTK status bar made specifically for wlroots compositors and
|
||||
supports Hyprland by default. To use it, it's recommended to use your distro's
|
||||
|
|
@ -22,7 +22,7 @@ with `hyprland/workspaces`. Addionally replace all occurences of `sway/mode` wit
|
|||
For more info regarding configuration, see
|
||||
[The Waybar Wiki](https://github.com/Alexays/Waybar/wiki/Module:-Hyprland).
|
||||
|
||||
### How to launch
|
||||
#### How to launch
|
||||
|
||||
Type `waybar` into your terminal. In order to have Waybar launch alongside
|
||||
Hyprland, add this line to your Hyprland configuration:
|
||||
|
|
@ -37,14 +37,14 @@ Waybar also provides a systemd service. If you use Hyprland with [uwsm](../../Us
|
|||
systemctl --user enable --now waybar.service
|
||||
```
|
||||
|
||||
### Waybar FAQ
|
||||
#### Waybar FAQ
|
||||
|
||||
#### Active workspace doesn't show up
|
||||
##### Active workspace doesn't show up
|
||||
|
||||
Replace `#workspaces button.focused` with `#workspaces button.active` in
|
||||
`~/.config/waybar/style.css`.
|
||||
|
||||
#### Scrolling through workspaces
|
||||
##### Scrolling through workspaces
|
||||
|
||||
Since a lot of configuration options from `sway/workspaces` are missing,
|
||||
you should deduce some of them by yourself. In the case of scrolling, it should
|
||||
|
|
@ -58,7 +58,7 @@ look like this:
|
|||
}
|
||||
```
|
||||
|
||||
### Window title is missing
|
||||
#### Window title is missing
|
||||
|
||||
The prefix for the window module that provides the title is `hyprland` not `wlr`.
|
||||
In your Waybar config, insert this module:
|
||||
|
|
@ -74,7 +74,7 @@ If you are using multiple monitors, you may want to insert the following option:
|
|||
"separate-outputs": true
|
||||
},
|
||||
```
|
||||
# Widget systems
|
||||
## Widget systems
|
||||
|
||||
Use them when you want custom menus with fully customizable layout.
|
||||
You basically need to write code, but widget systems significantly
|
||||
|
|
@ -86,7 +86,7 @@ Below are three popular choices in alphabetical order.
|
|||
| UI Toolkit | GTK 3/4 | GTK 3 | Qt |
|
||||
| Config language | JS(X)/TS/languages that support [Gobject Introspection](https://en.wikipedia.org/wiki/List_of_language_bindings_for_GTK) | Yuck (EWW's flavor of Lisp) | QML |
|
||||
|
||||
## AGS/Astal
|
||||
### AGS/Astal
|
||||
|
||||
- [Astal](https://aylur.github.io/astal/) is a suite and framework to craft desktop shells and Wayland widgets with GTK.
|
||||
- [AGS](https://aylur.github.io/ags/) (Aylur's GTK Shell) is a scaffolding tool for Astal and TypeScript/Javascript(X).
|
||||
|
|
@ -96,15 +96,15 @@ To get started with Astal, see its [installation instructions](https://aylur.git
|
|||
and [examples](https://aylur.github.io/astal/guide/introduction#supported-languages).
|
||||
For AGS, see its [Quick start](https://aylur.github.io/ags/guide/quick-start.html) page.
|
||||
|
||||
### Advantages
|
||||
#### Advantages
|
||||
- Language flexibility: You can use your favorite if it supports
|
||||
[Gobject Introspection](https://en.wikipedia.org/wiki/List_of_language_bindings_for_GTK) (although JS(X)/TS are most well-supported by AGS)
|
||||
- Provides a large set of libraries, including Network (both Wi-Fi and Ethernet) and Bluetooth
|
||||
|
||||
### Disadvantages
|
||||
#### Disadvantages
|
||||
- Does not provide hot reload out of the box
|
||||
|
||||
## Eww
|
||||
### Eww
|
||||
|
||||
[Eww](https://github.com/elkowar/eww) (ElKowar's Wacky Widgets) is a widget
|
||||
system made in Rust + GTK, which allows the creation of custom widgets
|
||||
|
|
@ -115,17 +115,17 @@ Install Eww either using your distro's package manager, by searching
|
|||
`eww-wayland`, or by manually compiling. In the latter case, you can follow the
|
||||
[instructions](https://elkowar.github.io/eww).
|
||||
|
||||
### Advantages
|
||||
#### Advantages
|
||||
- Its Lisp-like config syntax is simple compared to other config languages
|
||||
- Supports styling with SCSS out of the box
|
||||
|
||||
### Disadvantages
|
||||
#### Disadvantages
|
||||
- Heavy reliance on external scripts/programs, as it does not provide many libraries
|
||||
- Performance
|
||||
- Only supports GTK 3, which does not support GPU acceleration
|
||||
- Overhead from the use of external scripts and unnecessary component recreations on data re-evaluation
|
||||
|
||||
### Configuration
|
||||
#### Configuration
|
||||
|
||||
There are a few examples listed in the [Readme](https://github.com/elkowar/eww).
|
||||
It's also highly recommended to read through the
|
||||
|
|
@ -155,7 +155,7 @@ workspaces. It requires [bash](https://linux.die.net/man/1/bash),
|
|||
[socat](https://linux.die.net/man/1/socat),
|
||||
[jq](https://stedolan.github.io/jq/), and [Python 3](https://www.python.org/).
|
||||
|
||||
#### `~/.config/eww.yuck`
|
||||
##### `~/.config/eww.yuck`
|
||||
|
||||
```lisp
|
||||
...
|
||||
|
|
@ -178,7 +178,7 @@ workspaces. It requires [bash](https://linux.die.net/man/1/bash),
|
|||
...
|
||||
```
|
||||
|
||||
#### `~/.config/eww/scripts/change-active-workspace`
|
||||
##### `~/.config/eww/scripts/change-active-workspace`
|
||||
|
||||
```sh
|
||||
#!/usr/bin/env bash
|
||||
|
|
@ -204,7 +204,7 @@ then
|
|||
fi
|
||||
```
|
||||
|
||||
#### `~/.config/eww/scripts/get-active-workspace`
|
||||
##### `~/.config/eww/scripts/get-active-workspace`
|
||||
|
||||
```sh
|
||||
#!/usr/bin/env bash
|
||||
|
|
@ -215,7 +215,7 @@ socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket
|
|||
stdbuf -o0 awk -F '>>|,' -e '/^workspace>>/ {print $2}' -e '/^focusedmon>>/ {print $3}'
|
||||
```
|
||||
|
||||
#### `~/.config/eww/scripts/get-workspaces`
|
||||
##### `~/.config/eww/scripts/get-workspaces`
|
||||
|
||||
```sh
|
||||
#!/usr/bin/env bash
|
||||
|
|
@ -242,7 +242,7 @@ This widget simply displays the title of the active window. It requires
|
|||
[socat](https://linux.die.net/man/1/socat), and
|
||||
[jq](https://stedolan.github.io/jq/).
|
||||
|
||||
#### `~/.config/eww/eww.yuck`
|
||||
##### `~/.config/eww/eww.yuck`
|
||||
|
||||
```lisp
|
||||
...
|
||||
|
|
@ -255,7 +255,7 @@ This widget simply displays the title of the active window. It requires
|
|||
...
|
||||
```
|
||||
|
||||
#### `~/.config/eww/scripts/get-window-title`
|
||||
##### `~/.config/eww/scripts/get-window-title`
|
||||
|
||||
```sh
|
||||
#!/bin/sh
|
||||
|
|
@ -265,7 +265,7 @@ socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket
|
|||
|
||||
</details>
|
||||
|
||||
## Quickshell
|
||||
### Quickshell
|
||||
|
||||
[Quickshell](https://quickshell.outfoxxed.me/) is a flexbile QtQuick-based desktop shell toolkit.
|
||||
Note that although Qt is notoriously hard to theme, Quickshell can be styled independently.
|
||||
|
|
@ -274,19 +274,19 @@ To get started, see the
|
|||
[setup instructions](https://quickshell.outfoxxed.me/docs/configuration/getting-started/)
|
||||
and a [guided hello world](https://quickshell.outfoxxed.me/docs/configuration/intro/)
|
||||
|
||||
### Advantages
|
||||
#### Advantages
|
||||
- Provides advanced Wayland/Hyprland integrations, for example live window previews
|
||||
- Automatically reloads config on changes out of the box
|
||||
|
||||
### Disadvantages
|
||||
#### Disadvantages
|
||||
- Qt can be less intuitive to work with compared to GTK for its positioning system
|
||||
- Does not yet provide a Wi-Fi service at the time of writing
|
||||
- It is still in alpha and minor breaking changes are to be expected
|
||||
- Styles are declared with components instead of in CSS, which might be less familiar for some people
|
||||
|
||||
# Tips
|
||||
## Tips
|
||||
|
||||
## Blur
|
||||
### Blur
|
||||
|
||||
Use the `blur` and `ignorealpha` [layer rules](https://wiki.hyprland.org/Configuring/Window-Rules/#layer-rules).
|
||||
The former enables blur, and the latter makes it ignore insufficiently opaque regions.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue