gui-wm/hyprland: add nvidia patch

Signed-off-by: Julien Roy <julien@jroy.ca>
This commit is contained in:
Julien Roy
2023-05-07 14:14:54 -04:00
parent ff7707887c
commit 0067859eef
3 changed files with 49 additions and 15 deletions

View File

@@ -1,13 +0,0 @@
diff --git a/protocols/meson.build b/protocols/meson.build
index 9d47e0a..c082845 100644
--- a/protocols/meson.build
+++ b/protocols/meson.build
@@ -29,7 +29,7 @@ protocols = [
['pointer-constraints-unstable-v1.xml'],
['tablet-unstable-v2.xml'],
['idle.xml'],
- [hl_protocol_dir, 'protocols/hyprland-toplevel-export-v1.xml']
+ ['hyprland-toplevel-export-v1.xml']
]
wl_protos_src = []
wl_protos_headers = []

View File

@@ -0,0 +1,41 @@
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,

View File

@@ -18,7 +18,7 @@ S="${WORKDIR}/${PN}-source"
KEYWORDS="~amd64"
LICENSE="BSD"
SLOT="0"
IUSE="X grimblast hyprprop legacy-renderer scratchpad shellevents systemd"
IUSE="X grimblast hyprprop legacy-renderer scratchpad shellevents systemd video_cards_nvidia"
RDEPEND="
app-misc/jq
@@ -75,7 +75,13 @@ src_prepare() {
die "Hyprland requires >=sys-devel/gcc-12.1.0 to build"
fi
default
if use video_cards_nvidia; then
cd "${S}/subprojects/wlroots" || die
eapply "${FILESDIR}/nvidia-0.25.0.patch"
cd "${S}" || die
fi
eapply_user
}
src_configure() {