Graceful treatment of manually installed drivers and impact on dependant tools

Bug #94626 reported by Nico
12
Affects Status Importance Assigned to Milestone
restricted-manager (Ubuntu)
Fix Released
Medium
Martin Pitt

Bug Description

Binary package hint: restricted-manager

Hi,

The restricted-manager is a great idea, and goes a long way in user-friendliness for non-technical people with mainstream setups.

On the other hand, it is quite restrictive for more "handy" people (I though of using the word "advanced", but it is certainly not the right choice... "dangerous" could maybe be used too...), and tends to get in the way.

Today (March 21, fully up-to-date install), my situation is weird.

I use exotic nVIDIA hardware that needs the very latest drivers. Ubuntu has only 1.0-9631 available.

---------------------------------

Here is my user case:

I have a fresh install.

I want the Desktop effects.

I start the Desktop Effects Control panel

I am sent to the restricted manager in order to setup the nVIDIA driver.

nvidia-glx is installed, xorg.conf is tweaked more or less gracefully (other bugs are openned on this one, so I'll shut up and wait, I understand this is a difficult problem to solve).

I reboot.

I get no X, the drivers are not recent enough.

Bummer. I have to be dangerous.

I get rid of nvidia-glx, edit /etc/default/linux-restric..., use the nVIDIA installer (yes, bad, yes, it creates havoc... but I have no choice), I tweak my xorg.conf, I restart GDM.

I get X, I get accelerated 3D.

I start the Desktop Effects panel.

It goes to Restricted Manager.

It complains about my custom xorg.conf.

I restore the "proper" xorg.conf, I can always put things back like I want them later.

I manage to end up again in Restricted Manager from Desktop Effects.

It shows that I have NVIDIA "In use" but "not enabled".

I select "Enable", it want to install nvidia-glx, but I know that will not work for me.

I have no way to have the desktop effects.

-------------------------

I see some options there.

1. Could it be enough for Desktop Effects to see "In Use" and start doing its thing, instead of needing to see "Enabled" as it appears to be now?

2. Could there be a switch for users, to tell the restricted manager "don't worry, I know enough to be dangerous, all is fine and dandy, please say so to the rest of the World when asked", basically a manual override, in a text file or in the GUI?

3. Is there a better way for restricted-manager to detect a manual install? (might be difficult, do tell)

As a final thought, some documentation about those tools is seriously lacking, not even a small thing is present in /usr/share/doc.

I hope this bug will be considered as a contribution towards a better Feisty, and not just like a rant.

Nico

Revision history for this message
Martin Pitt (pitti) wrote :

First, I think r-m should not even propose to install nvidia-glx for your card. Can you pleae give me the output of

  lspci | grep VGA
  lspci -n | grep 0300

?

Your other points are valid as well, but right now, r-m is simply not designed to be able to cope with custom configurations. It would be safest just to shut up, which it would do when we remove your video cards from the supported set of nvidia cards.

In the future, when we solve bug 92836, I will reconsider this, but I'm afraid this isn't Feisty material.

Thank you!

Changed in restricted-manager:
assignee: nobody → pitti
importance: Undecided → Medium
status: Unconfirmed → Confirmed
Revision history for this message
Nico (nico-rdo) wrote :

Martin,

Thanks for this.

My video cards models aside, the system is currently broken if I want a manually installed driver (for whatever reason, good or bad, it is my reason) and Desktop Effects, or if I want a dual-screen setup, which forces me to edit my xorg.conf, even on machines with cards that are supported by the currently shipped driver.

Before automagic Nirvana is reached, and I agree that it is not Feisty material, r-m is currently breaking a lot, for a population that is far from marginal.

I think that at least creating and/or documenting a master switch for it is proper Feisty material.

Nico

Revision history for this message
Martin Pitt (pitti) wrote :

Fixed in -xorgconf branch.

Changed in restricted-manager:
status: Confirmed → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :

 restricted-manager (0.15) feisty; urgency=low
 .
   * debian/control: Use XS-Python-Version 'all' instead of 'current', since
     the latter seems to break quite often on upgrades. (see #93795)
   * applications/restricted-manager.desktop.in: Do not show for non-admins.
     (LP: #97163)
   * Add RestrictedManager/xorgconfig.py (stolen from kdeguidance):
     Parser/writer for X.org configuration files. Add author and copyright to
     debian/copyright.
   * RestrictedManager/xorgconfig.py: Change formatting a bit to make it more
     similar to what dexconf produces.
   * RestrictedManager/xorg_driver.py:
     - Use xorgconfig.py to mangle /etc/X11/xorg.conf directly instead of
       relying on consistent debconf values and using dexconf. This makes r-m
       work with custom configurations (including install scripts from
       nvidia/fglrx upstream packages) and avoids changing unrelated settings
       like keyboard/screen resolution/BusID etc. (LP: #92836, LP: #94549,
       LP: #93075)
     - Back up the entire original config before enabling a driver. If it
       exists when disabling again, restore it entirely. (LP: #96474)
     - is_enabled(): Do not check for installed GLX library package any more
       (such as nvidia-glx), since they could be installed directly from
       upstream. Now only check the xorg.conf configuration. (LP: #94626)
     - Add {enable,disable}_config_hook() for nonstandard modifications to the
       X.org configuration.
   * RestrictedManager/fglrx.py: Use above *_config_hook() to add/remove the
     'Extensions' section and disable Composite. In previous versions, dexconf
     did that for us.
   * restricted-manager: Drop check for readability of debconf database, since
     we do not need it any more.
   * Some small UI improvements, thanks to izi!
     - Remove the redundant 'Enable' button, we already have the check boxes.
     - Display stock yes/no/reload icons in addition to the textual status.
     - Add window icon.
     - Do not update the tree model when cancelling enabling/disabling.
     - Make modal dialogs transient.
   * RestrictedManager/core.py: Add a global variable
     package_install_idle_function which, if set to a function, is executed
     repeatedly while waiting for synaptic to finish. This avoids GTK specific
     code in the backend.
   * restricted-manager: Set core.package_install_idle_function to a default
     GTK event processing loop. (LP: #97399)
   * restricted-manager: Determine main window xid and pass it to synaptic as
     parent window, so that it becomes transient.

Changed in restricted-manager:
status: Fix Committed → Fix Released
Revision history for this message
Nico (nico-rdo) wrote :

It looks like it is doing it.

Many thanks!

Nico

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.