Patchwork [Quantal,RFC] Avoid using the QEMU DRM (cirrus) driver

login
register
mail settings
Submitter Stefan Bader
Date Sept. 25, 2012, 1:16 p.m.
Message ID <1348578983-16055-1-git-send-email-stefan.bader@canonical.com>
Download mbox | patch
Permalink /patch/186811/
State New
Headers show

Comments

Stefan Bader - Sept. 25, 2012, 1:16 p.m.
As stated below, there is currently a race with that driver which
is not easy to remove. Also when using the drm driver + the modeset
X driver, I had quite a bad time when trying to change resolution
of the desktop. And it gives a different experience when running
Xen and KVM (while both seem to have a cirrus VGA).

For completeness I must say that at least on my desktop which
does suffer from cpu exhaustion, I have still seen X crashes 
that look similar to the one that previously happened on startup
(bug 1056080).

Instead of not compiling the module (which will also need a
module.ignore or an abi bump), it could be blacklisted. But
I am not sure this can be done from the kernel package.

Speed can often suck in both cases, but what would be other peoples
thoughts?

-Stefan


From 88adc6f8c438e969407dfe7fa989def4d9a20980 Mon Sep 17 00:00:00 2001
From: Stefan Bader <stefan.bader@canonical.com>
Date: Tue, 25 Sep 2012 14:56:28 +0200
Subject: [PATCH] UBUNTU: (config) Disable the QEMU drm driver

When enabled, this driver will provide modeset support for the
emulated cirrus card in KVM (and only KVM, not Xen).
However this currently leads to boot races as grub will cause
generic parts of the efifb driver to get active which the cirrus
DRM driver then has to replace.
By now the cirrus X driver (or unity) has been fixed not to crash
on starting unity. So by disabling the driver we avoid the race and
get the same experience with KVM and Xen.

BugLink: http://bugs.launchpad.net/bugs/1038055

Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
---
 debian.master/config/config.common.ubuntu |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Leann Ogasawara - Sept. 27, 2012, 8:47 p.m.
On 09/25/2012 06:16 AM, Stefan Bader wrote:
> As stated below, there is currently a race with that driver which
> is not easy to remove. Also when using the drm driver + the modeset
> X driver, I had quite a bad time when trying to change resolution
> of the desktop. And it gives a different experience when running
> Xen and KVM (while both seem to have a cirrus VGA).
>
> For completeness I must say that at least on my desktop which
> does suffer from cpu exhaustion, I have still seen X crashes 
> that look similar to the one that previously happened on startup
> (bug 1056080).
>
> Instead of not compiling the module (which will also need a
> module.ignore or an abi bump), it could be blacklisted. But
> I am not sure this can be done from the kernel package.
>
> Speed can often suck in both cases, but what would be other peoples
> thoughts?

I went ahead and applied this to Quantal.  Not using DRM_CIRRUS_QEMU
appears to me to provide more stability without a significant loss of
features.  It's also marked as an EXPERIMENTAL option.  Our Ubuntu
kernel config policy entertains experimental options being enabled,
however, if they are deemed problematic we'll disable them. 
Additionally, this brings us on par for what we supported in Precise.

Thanks,
Leann

> -Stefan
>
>
> From 88adc6f8c438e969407dfe7fa989def4d9a20980 Mon Sep 17 00:00:00 2001
> From: Stefan Bader <stefan.bader@canonical.com>
> Date: Tue, 25 Sep 2012 14:56:28 +0200
> Subject: [PATCH] UBUNTU: (config) Disable the QEMU drm driver
>
> When enabled, this driver will provide modeset support for the
> emulated cirrus card in KVM (and only KVM, not Xen).
> However this currently leads to boot races as grub will cause
> generic parts of the efifb driver to get active which the cirrus
> DRM driver then has to replace.
> By now the cirrus X driver (or unity) has been fixed not to crash
> on starting unity. So by disabling the driver we avoid the race and
> get the same experience with KVM and Xen.
>
> BugLink: http://bugs.launchpad.net/bugs/1038055
>
> Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
> ---
>  debian.master/config/config.common.ubuntu |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu
> index 9134a9d..edba5e0 100644
> --- a/debian.master/config/config.common.ubuntu
> +++ b/debian.master/config/config.common.ubuntu
> @@ -1384,7 +1384,7 @@ CONFIG_DRAGONRISE_FF=y
>  # CONFIG_DRBD_FAULT_INJECTION is not set
>  CONFIG_DRM=m
>  # CONFIG_DRM_AST is not set
> -CONFIG_DRM_CIRRUS_QEMU=m
> +# CONFIG_DRM_CIRRUS_QEMU is not set
>  CONFIG_DRM_GMA3600=y
>  CONFIG_DRM_GMA500=m
>  CONFIG_DRM_GMA600=y

Patch

diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu
index 9134a9d..edba5e0 100644
--- a/debian.master/config/config.common.ubuntu
+++ b/debian.master/config/config.common.ubuntu
@@ -1384,7 +1384,7 @@  CONFIG_DRAGONRISE_FF=y
 # CONFIG_DRBD_FAULT_INJECTION is not set
 CONFIG_DRM=m
 # CONFIG_DRM_AST is not set
-CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_CIRRUS_QEMU is not set
 CONFIG_DRM_GMA3600=y
 CONFIG_DRM_GMA500=m
 CONFIG_DRM_GMA600=y