diff options
author | Miguel A. Vico | 2017-04-11 13:24:50 -0700 |
---|---|---|
committer | Miguel A. Vico | 2017-04-11 13:24:50 -0700 |
commit | a85e34ab34e6fe1e5c4b36126a4102de97ddeaa9 (patch) | |
tree | 4794a2e59ac77b10244993c772679d183e1c482e | |
parent | 0c13397cfb664feded35ae04f83dac78fb7f60bc (diff) | |
download | aur-a85e34ab34e6fe1e5c4b36126a4102de97ddeaa9.tar.gz |
Add modeset fix when vt-switching
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | 0008-compositor-drm-Release-current-next-fb-when-deactiva.patch | 53 | ||||
-rw-r--r-- | PKGBUILD | 8 |
3 files changed, 61 insertions, 4 deletions
@@ -1,7 +1,7 @@ pkgbase = weston-eglstream pkgdesc = Reference implementation of a Wayland compositor with EGLStream support pkgver = 2.0.0 - pkgrel = 1 + pkgrel = 2 url = https://wayland.freedesktop.org/ arch = i686 arch = x86_64 @@ -42,6 +42,7 @@ pkgbase = weston-eglstream source = 0005-compositor-drm-Add-support-for-EGLDevice-EGLOutput.patch source = 0006-simple-egl-Do-not-set-EGL-up-until-XDG-setup-is-comp.patch source = 0007-Add-nvidia-release-notes-file.patch + source = 0008-compositor-drm-Release-current-next-fb-when-deactiva.patch sha256sums = b4e446ac27f118196f1609dab89bb3cb3e81652d981414ad860e733b355365d8 sha256sums = c81d07f0a2b26e772faa02e4b088ff979206216652a4c30beb9aa24631d9d648 sha256sums = c32048c7b1e57c24ca7fa665c9e70bc3c12dec338aea3643b637bf8d30188335 @@ -50,6 +51,7 @@ pkgbase = weston-eglstream sha256sums = 8087849a01853e5c69fad7c9821e2202fd78ffe904626fe2f9ff51e83816ed02 sha256sums = 3bb9b0a354aa07fb3eb89ad9b7e425b1ce980b1bd0b90166a41795a80acc78ca sha256sums = 47fc9f44083096299e1502cf15c93d9f8670e1a4e4784870d7a843d4de09d502 + sha256sums = ca6c3a6fef381c6c7dd05e6d1bfda97b221fd90fc78ebf7b7ade9cfad2b38b63 pkgname = weston-eglstream diff --git a/0008-compositor-drm-Release-current-next-fb-when-deactiva.patch b/0008-compositor-drm-Release-current-next-fb-when-deactiva.patch new file mode 100644 index 000000000000..612bd930026e --- /dev/null +++ b/0008-compositor-drm-Release-current-next-fb-when-deactiva.patch @@ -0,0 +1,53 @@ +From 812868a91f8c9c42167bf3bf2c66f6ec1f049c41 Mon Sep 17 00:00:00 2001 +From: "Miguel A. Vico" <mvicomoya@nvidia.com> +Date: Tue, 4 Apr 2017 14:39:47 -0700 +Subject: [PATCH] compositor-drm: Release current & next fb when deactivating + the session +X-NVConfidentiality: public + +With + + commit 47224cc9312fef05c1a523ea0da0a1aae66f100d + Author: Daniel Stone <daniels@collabora.com> + Date: Sat Nov 5 08:04:07 2016 +0000 + + compositor-drm: Delete drm_backend_set_modes + +we stopped forcing a modeset when restoring the session. The motivation +was that we would use a stale fb, so better to let the next repaint +handle it. + +However, if drm_output::current != NULL, we won't issue a modeset upon +repaint. + +This change releases both drm_output::current and drm_output::next when +deactivating the current session. This ensures the very first repaint +after restoring the session will issue a modeset. + +Signed-off-by: Miguel A Vico Moya <mvicomoya@nvidia.com> +--- + libweston/compositor-drm.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c +index 0236d196..7283d0ff 100644 +--- a/libweston/compositor-drm.c ++++ b/libweston/compositor-drm.c +@@ -3058,6 +3058,14 @@ session_notify(struct wl_listener *listener, void *data) + wl_list_for_each(output, &compositor->output_list, base.link) { + output->base.repaint_needed = 0; + drmModeSetCursor(b->drm.fd, output->crtc_id, 0, 0, 0); ++ if (output->current != NULL) { ++ drm_output_release_fb(output, output->current); ++ output->current = NULL; ++ } ++ if (output->next != NULL) { ++ drm_output_release_fb(output, output->next); ++ output->next = NULL; ++ } + } + + output = container_of(compositor->output_list.next, +-- +2.12.1 + @@ -5,7 +5,7 @@ pkgname=weston-eglstream pkgver=2.0.0 -pkgrel=1 +pkgrel=2 pkgdesc='Reference implementation of a Wayland compositor with EGLStream support' arch=('i686' 'x86_64') url='https://wayland.freedesktop.org/' @@ -24,7 +24,8 @@ source=("https://wayland.freedesktop.org/releases/weston-$pkgver.tar.xz" '0004-compositor-drm-Gracefully-handle-vblank-and-flip-inv.patch' '0005-compositor-drm-Add-support-for-EGLDevice-EGLOutput.patch' '0006-simple-egl-Do-not-set-EGL-up-until-XDG-setup-is-comp.patch' - '0007-Add-nvidia-release-notes-file.patch') + '0007-Add-nvidia-release-notes-file.patch' + '0008-compositor-drm-Release-current-next-fb-when-deactiva.patch') sha256sums=('b4e446ac27f118196f1609dab89bb3cb3e81652d981414ad860e733b355365d8' 'c81d07f0a2b26e772faa02e4b088ff979206216652a4c30beb9aa24631d9d648' 'c32048c7b1e57c24ca7fa665c9e70bc3c12dec338aea3643b637bf8d30188335' @@ -32,7 +33,8 @@ sha256sums=('b4e446ac27f118196f1609dab89bb3cb3e81652d981414ad860e733b355365d8' 'db56a9f0d09441af58d530130e5f04f7066d11a32cdd99522e39a19ee4ee9f46' '8087849a01853e5c69fad7c9821e2202fd78ffe904626fe2f9ff51e83816ed02' '3bb9b0a354aa07fb3eb89ad9b7e425b1ce980b1bd0b90166a41795a80acc78ca' - '47fc9f44083096299e1502cf15c93d9f8670e1a4e4784870d7a843d4de09d502') + '47fc9f44083096299e1502cf15c93d9f8670e1a4e4784870d7a843d4de09d502' + 'ca6c3a6fef381c6c7dd05e6d1bfda97b221fd90fc78ebf7b7ade9cfad2b38b63') prepare() { cd weston-$pkgver |