mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-15 10:03:30 -04:00
gui-wm/hyprland: add nvidia patch
Signed-off-by: Julien Roy <julien@jroy.ca>
This commit is contained in:
@@ -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 = []
|
||||
41
gui-wm/hyprland/files/nvidia-0.25.0.patch
Normal file
41
gui-wm/hyprland/files/nvidia-0.25.0.patch
Normal 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,
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user