Unity is unusuably slow with fallback software rendering (LLVMpipe)

Bug #1055936 reported by David Lawson
142
This bug affects 27 people
Affects Status Importance Assigned to Milestone
Unity
Fix Released
High
Unassigned
unity (Ubuntu)
Fix Released
High
Unassigned

Bug Description

I have Quantal Beta 1 installed in a Virtual Box VM, since unity-2d is no longer available it should be doing 3D rendering in software as a fallback since Virtual Box doesn't expose 3D hardware acceleration properly. Any form of 3D animation takes, roughly, five to ten times as long as it should. Opening the dash by clicking the Dash Home button takes about twenty seconds and you can watch the little spinner in the corner step through its animation in discreet chunks. Opening a new window of any application it's also possible to watch the window opening animation in stages. Operations within an application, scrolling, etc. aren't noticeably slower than on Precise, so I'm inclined to call this a unity bug but it's entirely possible it's not.

I'm keeping the Quantal VM around for testing, so if you need further information or debugging output, let me know and I'll be happy to provide it.

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: unity 6.6.0-0ubuntu1
ProcVersionSignature: Ubuntu 3.5.0-15.22-generic 3.5.4
Uname: Linux 3.5.0-15-generic x86_64
.tmp.unity.support.test.1:

ApportVersion: 2.5.2-0ubuntu4
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
Date: Tue Sep 25 00:19:23 2012
DistUpgraded: Fresh install
DistroCodename: quantal
DistroVariant: ubuntu
GraphicsCard: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter [80ee:beef] (prog-if 00 [VGA controller])
InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Beta amd64 (20120924)
Lsusb:
 Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
 Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: innotek GmbH VirtualBox
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.5.0-15-generic root=UUID=6c5353f4-6f9f-43c5-8a44-cbbdb1483ffb ro quiet splash vt.handoff=7
SourcePackage: unity
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 12/01/2006
dmi.bios.vendor: innotek GmbH
dmi.bios.version: VirtualBox
dmi.modalias: dmi:bvninnotekGmbH:bvrVirtualBox:bd12/01/2006:svninnotekGmbH:pnVirtualBox:pvr1.2:
dmi.product.name: VirtualBox
dmi.product.version: 1.2
dmi.sys.vendor: innotek GmbH
version.compiz: compiz 1:0.9.8.2+bzr3377-0ubuntu1
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.39-0ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 9.0~git20120917.7cfd42ce-0ubuntu3
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 9.0~git20120917.7cfd42ce-0ubuntu3
version.xserver-xorg-core: xserver-xorg-core 2:1.13.0-0ubuntu4
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.3-0ubuntu1
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.99.99~git20120913.8637f772-0ubuntu1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.20.8-0ubuntu1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.2-0ubuntu1

Revision history for this message
David Lawson (deej) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity (Ubuntu):
status: New → Confirmed
Changed in unity:
status: New → Confirmed
importance: Undecided → High
Changed in unity (Ubuntu):
importance: Undecided → High
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. This particular bug has already been reported and is a duplicate of bug 1046497, so it is being marked as such. Please look at the other bug report to see if there is any missing information that you can provide, or to see if there is a workaround for the bug. Additionally, any further discussion regarding the bug should occur in the other report. Feel free to continue to report any other bugs you may find.

Revision history for this message
David Lawson (deej) wrote :

I'm re-opening this as recommended in https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1046497/comments/14 is there further information that would be helpful at this point?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Just to confirm after reopening... What Unity version are you on now? You can check by running:
    dpkg -l unity

Changed in unity:
status: Confirmed → Incomplete
Changed in unity (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
David Lawson (deej) wrote :

I'm on 6.8.0, should I be expecting a fix in 7.0.0?

David Lawson (deej)
Changed in unity:
status: Incomplete → Confirmed
Changed in unity (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I've set the milestone to 7.0 (Ubuntu 13.04) but that does not guarantee a fix. It just makes the problem more visible to the team.

Changed in unity:
milestone: none → 7.0.0
summary: - Unity is unusuably slow with fallback software rendering
+ Unity is unusuably slow with fallback software rendering (LLVMpipe)
Revision history for this message
Benjamin Schmid (benbuntu) wrote :

This is a major issue: "unusable" is by no means an exaggeration: I can literally watch the different shades of a fade-out/in effects painting from top to down of every window on my Intel T9400 in Virtual Box.

Revision history for this message
stefanlindmark (stefan-lindmark) wrote :

I made the same observation as benbuntu on VirtualBox on a Lenovo X220 (Core i7 2640M @ 2.8 GHz, 12 GB). As windows fade in/out the progress is so slow you see every step in the fading process.

Revision history for this message
Mark (mark-k) wrote :

Having previously used Ubuntu 8.04 I later moved to Xubuntu 9.10 and currently Lubuntu 11.10. So I'm not really familiar with how the Unity experience has evolved over the past few releases. This comment is mostly about my first impressions on booting the Ubuntu 12.10 x86 CD in a VirtualBox VM.

The user experience is, to be frank, awful. It's almost unusably slow.

No accelerated graphics driver is loaded when the CD boots. The overall GUI experience is dog-slow, and that's with a ~2GHz Core 2 Duo. I imagine many potential users will try Ubuntu/Unity and be put off before even installing it. Not to mention users of ARM systems which have significantly slower CPUs and probably no accelerated graphics driver available even after installing...

13.04 is supposed to have an emphasis on efficiency, so I hope something can be done about the unaccelerated graphics experience by then. Probably many systems are unaccelerated when booting the CD, even if an accelerated driver might be available after installation. It gives a very poor impression to potential users.

I recently read about Enlightenment, and how it's supposed to be very efficient even with various "blingy" graphical effects. So I downloaded an Ubuntu-based distribution which uses it, Bodhi Linux (http://sourceforge.net/projects/bodhilinux/).

I booted the Bodhi CD in VirtualBox and selected the Compositing profile. Once the desktop had loaded, there was a stark contrast between the fluidity of the GUI vs Ubuntu/Unity. Try opening several windows and Alt-Tabbing between them. Even with my system slowed to 800MHz that was pretty smooth.

Is there any possibility for a future version of Unity to build on or borrow ideas/code from Enlightenment? That could largely solve the problem. (Apparently Enlightenment does use accelerated graphics when available.)

Revision history for this message
Roman Yepishev (rye) wrote :

The reason why llvmpipe is slow is because it is a completely software-based rendering solution, the whole desktop is rendered in software and then pushed at once. A change of a single pixel is causing full desktop redraw on every frame. I have filed LP:1098744 to track disabling the animations in case low graphics mode is enabled which will make it a bit faster but not fast enough to be considered useful in these environments.

I have also tested Intel HD 3000 running under plain VESA driver on Core i5 @ 2.5GHz and surprisingly found the performance of llvmpipe-based Unity to be quite on par with the accelerated version so it appears that some systems are indeed OK with such kind of full screen redraw mode.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Roman,

Software-based rendering can be quite fast. And the way Compiz renders the screen is using buffer swapping (in 0.9.8 and later) which is implemented efficiently in most cases using page flipping. Page flipping is efficient even without hardware rendering.

(Showing my age) I remember when we used to render everything in software on 16MHz CPUs. It's possible for software-based rendering to be fast (although less common these days).

However the main problem in this bug is the slow(er) software-based implementation of shaders in LLVMpipe, which Nux (and hence Unity) relies on heavily. So it is a problem specific to Unity, not Compiz.

Stephen M. Webb (bregma)
Changed in unity:
milestone: 7.0.0 → 7.0.1
Revision history for this message
madbiologist (me-again) wrote :

When using mesa 9.2-devel git from 12th April 2013 (specifically up to and including commit c6a86fb5639977f37a1403012669cdee86bbd89f (r300g: Fix bug in OMOD optimization)), LLVMpipe is significantly faster than it was on mesa 9.1.1. See http://www.phoronix.com/scan.php?page=article&item=mesa_92dev_llvmpipe for some examples.

The xorg-edgers PPA at https://launchpad.net/~xorg-edgers/+archive/ppa currently has a mesa build from 4th April 2013 git. This will likely be updated soon.

Revision history for this message
madbiologist (me-again) wrote :

Is this still occurring in Ubuntu 14.04 "Trusty Tahr"?

Changed in unity (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Benjamin Schmid (benbuntu) wrote :

I just tried the current daily built in a VirtualBox on a fast T4200 (software rendering) as well as natively (RS880 Gallium rendering) on an Neo K350 Lenovo Edge 11 [Mobility Radeon HD 4250].

Speed improvement is indeed drastic, so 'unusable' is no longer appropriate. Though 'making fun to use', neither.

Opening dashboard takes ~2-3s under VirtualBox, 1-2s as native 3D on the Edge. Under Unity2D opending the dash occurs instantly including blur effect on both environments. At least one interims shade grade is still visible on trsuty. Also other desktop operations like window maximizing are visibly laggy (~0.6s).

I recently tried the Ubuntu Gnome Alpha Build on the Edge, which I remember quite snappy w/o significant lags while toying around.

Based on my user experience I would say it's "ok" now, but still a bit annoying for daily use on low powered devices and VMs. Maybe turning off some visual goodies in those environment could help to close that final gap.

madbiologist (me-again)
Changed in unity (Ubuntu):
status: Incomplete → Confirmed
Changed in unity:
milestone: 7.0.1 → 7.3.1
Stephen M. Webb (bregma)
Changed in unity:
milestone: 7.3.1 → 7.3.2
Stephen M. Webb (bregma)
Changed in unity:
milestone: 7.3.2 → 7.3.3
Revision history for this message
Christopher Townsend (townsend) wrote :

Based on comment #15, I'm going to close this Fix Released since it's no long unusable. I agree that running Compiz/Unity on llvmpipe is not fun and miss Unity 2d for these types of systems.

Changed in unity:
milestone: 7.3.3 → none
status: Confirmed → Fix Released
Changed in unity (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.