After all Fallback Mode was a hybrid solution for hardware that hadn’t 3d-acceleration to run Gnome Shell. Gnome Shell since version 3.6 can run with software rendering, so it was matter of time to drop it. However this decision has some negative side-effects to other software like Unity.
Why they drop it?
Except the fact that Gnome doesn’t need anymore Fallback to support no 3d-hardware there are more reasons.
- nearly nobody actively tests it
- it’s in maintenance mode (no new features for the core, but bug fixes go in), with no active development since nobody is stepping up (and some required parts, like polkit-gnome, are even not maintained at all), and the quality of the fallback mode has decreased since it was introduced (example: new bugs in the display of notifications, that haven’t been fixed)
- the presence of fallback mode is having a negative impact on the quality of the primary GNOME 3 user experience
- several apps now require clutter and can’t work without GL. Thus they won’t work in fallback mode if it was forced by lack of GL (totem, audio/video UI in empathy, cheese, etc.)
- some changes in our architecture require additional work to keep things somewhat working in fallback, even though they won’t offer the full experience (keyboard config in 3.6 is an example)
Fallback mode was discussed in June. It was discussed again at the Boston Summit in October. It was discussed again on the list in October. And then the release team discussed it in its November meeting. As far as I read none was like “we don’t need it, let’s drop it!”, but the reason was that Gnome couldn’t maintain it in a quality form. Fallback 3.4 and Fallback 3.6 are almost identical and none was interested to work on it and improve it -or at least fix some bugs.
Gnome 3.8 is dropping Fallback Mode
Matthias made the announcement (Nov 5):
I’m writing to inform you that the release team discussed https://live.gnome.org/ThreePointSeven/Features/DropOrFixFallbackMode yesterday. We’ve come to the conclusion that we can’t maintain fallback mode in reasonable quality, and are better off dropping it.
We’re now working on organizing this so that it does not create more fallout than necessary. As part of this, I’m reaching out to our distributors to see what parts they care about. We haven’t worked out a detailed plan for 3.8 tasks yet, but the feature page should give you a good idea about what things will be part of the 3.8 plan:
- remove the ‘forced fallback’ ui in control-center
- unify ‘gnome can’t run’ and ‘failwhale’ UX
- move background rendering entirely into gnome-shell; this is most likely to cause some problems for other environments that reuse g-s-d for background rendering. Splitting off the desktop-rendering functionality from nautilus is a separate issue, and does not necessarily have to happen for 3.8.
Please watch the feature page for more details, as we work them out, and please contact us with your concerns. Lets work together and minimize the pain of this transition.
Matthias, for the release team
Regardless all the work that has to be done in Gnome to progress with this change, -dropping modules (metacity etc), simplify others(gnome-session etc), fix broken (totem etc)- dropping Fallback also affects third party software.
- Unity, LXDE, XFCE reuse of some fallback components, including tray icons and gnome-settings-daemon (notify about changes)
- On what hardware / distribution combinations do we have acceptable software rendering ? (Need data about what hardware we do support/want to support)
- On which ones do we lack that ? See ajax’ post
- Are we happy recommending another desktop (XFCE, for instance – or MATE ?!) for cases where fallback would be needed?
- LLVM testing/buggy
- Tracker bug
While this is a perfectly reasonable choice given your constraints, there are several cases where plain GNOME is not an option.
* Some GPU drivers are still full of bugs or completely non-working. This is now for a minority of machines, but still an alternative is necessary. * Some not-so-old CPUs do not seem fast enough to run llvmpipe (e.g. netbooks). * Non-x86 machines become out of question (Solaris). * When you want all the GPU power to be available for heavy 3D applications, there’s a measurable impact of running gnome-shell. This can probably be improved on the clutter/cogl side, and anyway if it’s a hard constraint another desktop can be used, but currently, desktops without 3D requirements are far from as featureful.
None of this is a blocker per se, but if there is no mechanism to switch to something that works in all cases, it will be hard to defend installation of GNOME by default. What are users left out with if they find they cannot log in with their hardware?
This goes as far as being able to detect GNOME compatibility from the early stages of installation – which has consequences for all distributors. It is not impossible, but this is not just a technical problem.
Note that this is not a final feature but is mostly like to happen. On Meetings Minutes (Nov 4) the plan for Fallback mode was:
All agree to kill the fallback mode, plan is now to: 1/ contact relevant module maintainers & distributors-list 2/ mail ddl, including a list of technical reasons (there's some of that in the feature page already) → mclasen to mail module maintainers and distributor-list → fredp to mail seb128
but still on Gnome Live the outcome of the release team discussion was that Gnome don’t have the resources to provide fallback mode in adequate quality. Therefore, Gnome should drop it from 3.8. But it hasn’t been dropped yet.
Benefits to Gnome
All benefits to Gnome comes from less software to maintain. Also there are some modules that can be simplified
- gnome-session (fallback session support and the check-accelerated helper)
- gnome-control-center (option to force fallback mode, the sound applet, fallback ibus code)
- gnome-settings-daemon (remove fallback automount code, call out to gnome-shell directly for screenshots, remove status icon in power/a11y-keyboard plugins)
- gdm (for the fallback mode greeter and gdmflexiserver)
- gnome-bluetooth (applet)
- nautilus (desktop rendering)
While this will bring some issues to Gnome use in BSDs, Virtual Environments and older hardware it is a reasonable choice considering the constraints and will bring only benefits to the majority of users and Gnome itself, as less work will be needed.
Extensions as part of dropping Fallback Mode.
One piece to the dropping Fallback mode story is that it’s possible to get some of the GNOME2 style workflow with extensions (bug #685744)
Jeremy Bicha says:
I think we really do want a list of supported extensions for a GNOME2-ish experience. By “supported”, I mean that if somebody does something that breaks an extension on the list, that somebody needs to either fix the extension or find someone to do that. An example would be if someone overhauls the way “places” work, then they need to make sure the “places status indicator” still works.
If you follow the bug you will see that there is willingness from Gnome Contributors to support some “Gnome2-ish extensions” like Apps Menus Extensions.