fix multi-gpu after VT switch
This commit is contained in:
parent
3d627e5309
commit
d62d1492fe
51
0001-xf86-call-enter-leave-VT-for-gpu-screens-as-well.patch
Normal file
51
0001-xf86-call-enter-leave-VT-for-gpu-screens-as-well.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
From fa9cd6caf572d6550f7acf679b6c727676241bb5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dave Airlie <airlied@redhat.com>
|
||||||
|
Date: Mon, 3 Sep 2012 15:09:36 +1000
|
||||||
|
Subject: [PATCH] xf86: call enter/leave VT for gpu screens as well
|
||||||
|
|
||||||
|
Otherwise we can't do fast user switch properly for multiple GPUs.
|
||||||
|
|
||||||
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||||||
|
---
|
||||||
|
hw/xfree86/common/xf86Events.c | 11 +++++++++++
|
||||||
|
1 file changed, 11 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
|
||||||
|
index 47429ec..3ad34b5 100644
|
||||||
|
--- a/hw/xfree86/common/xf86Events.c
|
||||||
|
+++ b/hw/xfree86/common/xf86Events.c
|
||||||
|
@@ -460,6 +460,8 @@ xf86VTSwitch(void)
|
||||||
|
OsBlockSIGIO();
|
||||||
|
for (i = 0; i < xf86NumScreens; i++)
|
||||||
|
xf86Screens[i]->LeaveVT(xf86Screens[i]);
|
||||||
|
+ for (i = 0; i < xf86NumGPUScreens; i++)
|
||||||
|
+ xf86GPUScreens[i]->LeaveVT(xf86GPUScreens[i]);
|
||||||
|
|
||||||
|
xf86AccessLeave(); /* We need this here, otherwise */
|
||||||
|
|
||||||
|
@@ -474,6 +476,10 @@ xf86VTSwitch(void)
|
||||||
|
if (!xf86Screens[i]->EnterVT(xf86Screens[i]))
|
||||||
|
FatalError("EnterVT failed for screen %d\n", i);
|
||||||
|
}
|
||||||
|
+ for (i = 0; i < xf86NumGPUScreens; i++) {
|
||||||
|
+ if (!xf86GPUScreens[i]->EnterVT(xf86GPUScreens[i]))
|
||||||
|
+ FatalError("EnterVT failed for gpu screen %d\n", i);
|
||||||
|
+ }
|
||||||
|
if (!(dispatchException & DE_TERMINATE)) {
|
||||||
|
for (i = 0; i < xf86NumScreens; i++) {
|
||||||
|
if (xf86Screens[i]->EnableDisableFBAccess)
|
||||||
|
@@ -530,6 +536,11 @@ xf86VTSwitch(void)
|
||||||
|
if (!xf86Screens[i]->EnterVT(xf86Screens[i]))
|
||||||
|
FatalError("EnterVT failed for screen %d\n", i);
|
||||||
|
}
|
||||||
|
+ for (i = 0; i < xf86NumGPUScreens; i++) {
|
||||||
|
+ xf86GPUScreens[i]->vtSema = TRUE;
|
||||||
|
+ if (!xf86GPUScreens[i]->EnterVT(xf86GPUScreens[i]))
|
||||||
|
+ FatalError("EnterVT failed for gpu screen %d\n", i);
|
||||||
|
+ }
|
||||||
|
for (i = 0; i < xf86NumScreens; i++) {
|
||||||
|
if (xf86Screens[i]->EnableDisableFBAccess)
|
||||||
|
(*xf86Screens[i]->EnableDisableFBAccess) (xf86Screens[i], TRUE);
|
||||||
|
--
|
||||||
|
1.7.10.2
|
||||||
|
|
@ -43,7 +43,7 @@
|
|||||||
Summary: X.Org X11 X server
|
Summary: X.Org X11 X server
|
||||||
Name: xorg-x11-server
|
Name: xorg-x11-server
|
||||||
Version: 1.12.99.905
|
Version: 1.12.99.905
|
||||||
Release: 3%{?gitdate:.%{gitdate}}%{dist}
|
Release: 4%{?gitdate:.%{gitdate}}%{dist}
|
||||||
URL: http://www.x.org
|
URL: http://www.x.org
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: User Interface/X
|
Group: User Interface/X
|
||||||
@ -112,6 +112,9 @@ Patch7040: 0001-config-udev-add-wrapper-around-check-if-server-is-no.patch
|
|||||||
Patch7041: 0002-config-udev-respect-seat-for-hotplugged-video-device.patch
|
Patch7041: 0002-config-udev-respect-seat-for-hotplugged-video-device.patch
|
||||||
Patch7042: 0003-xf86-fix-multi-seat-video-device-support.patch
|
Patch7042: 0003-xf86-fix-multi-seat-video-device-support.patch
|
||||||
|
|
||||||
|
# backport vt switch fix from list
|
||||||
|
Patch7050: 0001-xf86-call-enter-leave-VT-for-gpu-screens-as-well.patch
|
||||||
|
|
||||||
%global moduledir %{_libdir}/xorg/modules
|
%global moduledir %{_libdir}/xorg/modules
|
||||||
%global drimoduledir %{_libdir}/dri
|
%global drimoduledir %{_libdir}/dri
|
||||||
%global sdkdir %{_includedir}/xorg
|
%global sdkdir %{_includedir}/xorg
|
||||||
@ -584,6 +587,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{xserver_source_dir}
|
%{xserver_source_dir}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Sep 03 2012 Dave Airlie <airlied@redhat.com> 1.12.99.905-4
|
||||||
|
- fix multi-gpu after VT switch
|
||||||
|
|
||||||
* Mon Aug 27 2012 Dave Airlie <airlied@redhat.com> 1.12.99.905-3
|
* Mon Aug 27 2012 Dave Airlie <airlied@redhat.com> 1.12.99.905-3
|
||||||
- port multi-seat video fixes from upstream
|
- port multi-seat video fixes from upstream
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user