summaryrefslogtreecommitdiff
path: root/gui-wm/hyprland/files/nvidia-0.25.0.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gui-wm/hyprland/files/nvidia-0.25.0.patch')
-rw-r--r--gui-wm/hyprland/files/nvidia-0.25.0.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/gui-wm/hyprland/files/nvidia-0.25.0.patch b/gui-wm/hyprland/files/nvidia-0.25.0.patch
new file mode 100644
index 000000000000..d9d2213607f4
--- /dev/null
+++ b/gui-wm/hyprland/files/nvidia-0.25.0.patch
@@ -0,0 +1,43 @@
+# From https://github.com/hyprwm/Hyprland/issues/2239#issuecomment-1536725235
+# This patch is recommended by the developer on systems running and Nvidia GPu
+diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c
+index 6a86b183..823fc318 100644
+--- a/render/gles2/renderer.c
++++ b/render/gles2/renderer.c
+@@ -165,7 +165,7 @@ static bool gles2_bind_buffer(struct wlr_renderer *wlr_renderer,
+ assert(wlr_egl_is_current(renderer->egl));
+
+ push_gles2_debug(renderer);
+- glFlush();
++ glFinish();
+ glBindFramebuffer(GL_FRAMEBUFFER, 0);
+ pop_gles2_debug(renderer);
+
+diff --git a/types/output/render.c b/types/output/render.c
+index ed1afa4a..ddc730c7 100644
+--- a/types/output/render.c
++++ b/types/output/render.c
+@@ -225,22 +225,7 @@ struct wlr_drm_format *output_pick_format(struct wlr_output *output,
+ }
+
+ uint32_t wlr_output_preferred_read_format(struct wlr_output *output) {
+- struct wlr_renderer *renderer = output->renderer;
+- assert(renderer != NULL);
+-
+- if (!renderer->impl->preferred_read_format || !renderer->impl->read_pixels) {
+- return DRM_FORMAT_INVALID;
+- }
+-
+- if (!output_attach_back_buffer(output, &output->pending, NULL)) {
+- return false;
+- }
+-
+- uint32_t fmt = renderer->impl->preferred_read_format(renderer);
+-
+- output_clear_back_buffer(output);
+-
+- return fmt;
++ return DRM_FORMAT_XRGB8888;
+ }
+
+ bool output_is_direct_scanout(struct wlr_output *output,