nuke nvidia patches mentions

This commit is contained in:
Vaxry 2023-11-26 03:03:20 +00:00
parent 038dc16dfd
commit aeeb0f5e0b
2 changed files with 2 additions and 45 deletions

View file

@ -12,7 +12,6 @@ can be changed by setting the appropriate option to `true`/`false`.
```nix ```nix
(pkgs.hyprland.override { # or inputs.hyprland.packages.${pkgs.system}.hyprland (pkgs.hyprland.override { # or inputs.hyprland.packages.${pkgs.system}.hyprland
enableXWayland = true; enableXWayland = true;
enableNvidiaPatches = false;
}) })
``` ```
@ -22,7 +21,6 @@ can be changed by setting the appropriate option to `true`/`false`.
programs.hyprland = { # or wayland.windowManager.hyprland programs.hyprland = { # or wayland.windowManager.hyprland
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
enableNvidiaPatches = false;
}; };
``` ```
@ -37,15 +35,6 @@ in the package itself, or through the module options.
See [XWayland](../../Configuring/XWayland). See [XWayland](../../Configuring/XWayland).
### Nvidia Patches
Nvidia is notorious for not working by default with wlroots. That's why we
patch wlroots.
In the NixOS and Home Manager modules, you can enable the
Nvidia patches using `programs.hyprland.enableNvidiaPatches` and
`wayland.windowManager.hyprland.enableNvidiaPatches`, respectively.
## Using Nix repl ## Using Nix repl
If you're using Nix (and not NixOS or Home Manager) and you want to override, If you're using Nix (and not NixOS or Home Manager) and you want to override,
@ -54,7 +43,7 @@ you can do it like this
```nix ```nix
$ nix repl $ nix repl
nix-repl> :lf "github:hyprwm/Hyprland" nix-repl> :lf "github:hyprwm/Hyprland"
nix-repl> :bl outputs.packages.x86_64-linux.hyprland.override {enableNvidiaPatches = true;} # option = value nix-repl> :bl outputs.packages.x86_64-linux.hyprland.override
``` ```
Then you can run Hyprland from the built path. Then you can run Hyprland from the built path.

View file

@ -8,20 +8,6 @@ You may want to use the proprietary Nvidia drivers in some cases, for example: i
Below are some tips to try to make the proprietary Nvidia driver work with Hyprland properly: Below are some tips to try to make the proprietary Nvidia driver work with Hyprland properly:
## Hyprland Nvidia Patch (Arch only) (Unofficial)
```sh
hyprland-nvidia (AUR)
hyprland-nvidia-git (AUR)
```
{{< hint type=warning >}}
Hyprland Nvidia Patch is **NOT** an official patch and is not maintained by us.
If you have any concerns (updates, broken pkgbuild, etc), you should contact the maintainer.
{{< /hint >}}
{{< hint type=important >}}
`nvidia-dkms` is still **required** to run this patch, Install the `nvidia-dkms` driver and add it to your initramfs & kernel parameters before running. You should still however read the content below to make sure the patch is properly working and to avoid any bugs/crashes.
{{< /hint >}}
## How to get Hyprland to possibly work on Nvidia ## How to get Hyprland to possibly work on Nvidia
Install the `nvidia-dkms` driver and add it to your initramfs & kernel parameters. Install the `nvidia-dkms` driver and add it to your initramfs & kernel parameters.
@ -71,25 +57,7 @@ Launch Hyprland.
It _should_ work now. It _should_ work now.
## Fixing screensharing / screenshots ## Fixing random flickering, (nuclear method)
Apply nvidia patches to the wlroots in `subprojects/wlroots` before building.
See [patch](https://aur.archlinux.org/cgit/aur.git/tree/nvidia.patch?h=hyprland-nvidia-git)
and [hyprland-nvidia-git's PKGBUILD](https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=hyprland-nvidia-git#n72).
## Fixing random flickering, method 1
If you take a look at the wlroots patches in the [nix flake](https://github.com/hyprwm/Hyprland/blob/main/nix/wlroots.nix)
you will find a one-line patch:
```sh
substituteInPlace render/gles2/renderer.c --replace "glFlush();" "glFinish();"
```
What this means, for non-nix users, is you have to (before building) go to
`subprojects/wlroots/render/gles2/renderer.c` and replace all occurrences of `glFlush()`
with `glFinish()`, and then compile Hyprland as usual.
## Fixing random flickering, method 2 (nuclear)
Do note though that this forces performance mode to be active, resulting in Do note though that this forces performance mode to be active, resulting in
increased power-consumption (from 22W idle on a RTX 3070TI, to 74W). increased power-consumption (from 22W idle on a RTX 3070TI, to 74W).