Created attachment 359973 [details]
virt-manager console screenshot
Description of problem:
I am running rawhide in a i686 kvm guest and tried to run gnome-shell.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. start rawhide gnome desktop in kvm
2. run "gnome-shell --replace"
vertically striped screen
to see gnome shell
Works better but also see problems with nouveau.
Does it work better on intel? :)
Ok thanks I worked it out: desktop-effects is the correct
entry point for this and politely informs one that no
3d is available.
gnome-shell works well for me on intel.
Still think it would be nice if gnome-shell (mutter?)
handled the case of no 3d support more gracefully.
I wonder if 2d compositing would ever be sufficient
for basic gnome-shell use though?
Gnome-shell is designed for compositing by default and was the primary driving force for the creation of the Mutter compositing branch of Metacity. It is highly unlikely there will ever be a "GNOME-Shell for 3D-less systems".
This was a recent thread on GNOME's desktop-devel-list ("is a 3D shell bad?"), where the consensus decision is that GNOME's desktop platform has matured enough to where modern hardware should be expected. Until 3D hardware virtualization is better, that goes for that too.
Whether you agree is another matter, but there you have it.
Mutter already depends on OpenGL, so it is probably not going to be refactored to support XComposite as well (see Kwin).
KVM does support virtualization of 3D, on supported cards. Since nouveau can't do good 3D yet, I guess that doesn't help NVIDIA cards much though.
You don't need OpenGL to do compositing. KWin can do it just fine with only XRender, even software XRender (e.g. the vesa driver).
Oh, and you also don't need compositing to provide a modern desktop shell, Plasma works just fine (just with less eye candy) if you disable compositing in KWin entirely.
In my personal opinion, I am disappointed with the functionality of gnome-shell that only requires 3D and not providing fallback like using XRender. After trying again Plasma on KDE4, I am impressed to see the behavior without 3D. If KDE did, why can't Gnome development?
Qt has much better support for animations and transformations, which allow Plasma to look really darn nice even without 3D.
GTK doesn't have nearly as much flexibility in animation; requiring Clutter helps give GTK cool capabilities it doesn't have, but requires OpenGL.
So yes, for GNOME Shell, you're gonna need 3D. That's just the way the creators wanted to make it.
This has been discussed at great length in more appropriate places, but I will quickly note that if you want to work with only software you have to either:
- Design and implement all your animations and effects twice
- Limit yourself to what can be done in software
Composited, alpha-blended animations cannot, in general, be done in software.
(Falling back to hardware accelerated RENDER isn't interesting... RENDER uses the same parts of the hardware as the 3D drivers, and if one can be supported in open source drivers then so can the other.)
Certainly as KDE (and Windows Vista) proved, you can do a reasonable job at providing seemless fallback given enough effort, but we'd rather put our effort into functionality and usability rather than compatibility with old hardware at this point.
P.S. - I'm not aware of any 3D virtualization capabilities in KVM - though maybe it has grown them while I wasn't looking.
Closing the bug.
PS. I don't use KVM myself, but I asked the question on GNOME's desktop-devel-list and got this response:
Wherein it is stated that KVM does 3D pretty well, and that Moblin's shell is routinely tested in KVM too.
> (Falling back to hardware accelerated RENDER isn't interesting... RENDER uses
> the same parts of the hardware as the 3D drivers, and if one can be supported
> in open source drivers then so can the other.)
Software XRender actually works for KWin effects, software OpenGL breaks for both KWin effects and gnome-shell. My experience is also that software OpenGL, when it works, is much slower than software 2D code like XRender or SDL. Of course, if you can fix and optimize Mesa, everyone will benefit...
> but we'd rather put our effort into functionality and usability rather than
> compatibility with old hardware at this point.
The way it is now, gnome-shell will not work at all on a default Fedora installation for all users with NVidia cards (die NVidia die!), not just old hardware.
Just to clarify the original intention behind this bug
was really avoiding gnome-shell starting up when 3d is not
available rather than an rfe for 2d support per se.
I was starting gnome-shell from gnome-terminal: I since
discovered that it should start from Desktop Effects
which correctly refuses to start gnome-shell when there
is no 3d available. So I guess it is ok to leave this closed.
I feel sympathic about 2d but hear what Owen is saying
about the effort vs win - hopefully when gnome3
ships 3d will be even more ubiquitous than now
and/or some 2d workarounds might be available.