Keeps asking for a computer restart

Bug #96819 reported by Trouilliez vincent
4
Affects Status Importance Assigned to Milestone
restricted-manager (Ubuntu)
Confirmed
Low
Unassigned

Bug Description

Binary package hint: restricted-manager

Just updated to r-m 0.13.
The new "status" column read "Needs a computer restart", for no obvious reason (I had already installed nvidia-glx and all was working well, so no need to restart anything).
I restarted the computer anyway, but, no luck, it still reads "Need a computer restart".

Maybe the problem is that I installed the nvidia driver by hand, hence bypassing r-m, but shouldn't r-m detect this situation, and act gracefully ?

For example, to check if the nvidia driver is already installed, it could check if nvidia-glx is installed, and also do a "glxinfo |grep rendering", and "lsmod |grep nvidia" to see whether the driver is actually already working and running, this way it could avoid to ask for "computer restart", and just read "installed and running/working".

Generally speaking, r-m should be robust/clever enough to handle gracefully cases where the user bypasses (for a good reason), the r-m GUI. For example I HAVE to tweak xorg.conf by hand on a fresh Ubuntu install, because the default xorg.conf doesn't list the desired resolution (1152x864), doesn't detect my CRT monitor properly (at all), and uses the "vesa" driver, which makes the GUI so slow that it's unusable. I noticed with re-m 0.12 yesterday, that it refused to launch, saying that xorg.conf had been altered.
r-m should be able to modify the required sections of xorg.conf while still leaving intact all the mods the user might have done by hand, to get his system working properly. Like me with my problems of monitor detection and resolutions, but other people maybe need to mlodify xorg.conf by hand to get out of the ordinary set-up working, like grpahics tablets, dual head configs, or whatever thing that doesn't work properly of the box, and for which Gnome/Ubuntu doesn't provide any GUI way of configuring it.

Oops, sorry for the long bug report ! ;-)

ProblemType: Bug
Architecture: i386
Date: Tue Mar 27 06:58:45 2007
DistroRelease: Ubuntu 7.04
Uname: Linux Lotus-Esprit 2.6.20-13-generic #2 SMP Sun Mar 25 00:21:25 UTC 2007 i686 GNU/Linux

Revision history for this message
Lucas Goss (lgoss007-gmail) wrote :

Same here (tested on 0.14). But I don't think I've edited my Xorg config. I just went to enable the driver in the restricted manager and it said it needed a restart. I restarted and GUI stuff was choppy. Checked the restricted manager and it says it needs a restart. Repeated a few times... still says it needs a restart.

Additionally (should I enter as another bug?), when I went to enable it this time it said it needed the nvidia-glx-legacy, which it installed just fine. However I have a GeForce4 MX 4000, which I thought was supported under nvidia-glx (not legacy), and I've even had it working before under feisty without the legacy but a recent update broke nvidia drivers.

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

Ah, I see the problems here. For Lucas it's probably the recent update of the nvidia driver, now he needs to install nvidia-glx-legacy. For Trouilliez it is because nvidia-glx is not installed and thus it is considered 'active', but not 'enabled'.

BTW, 'sudo dpkg-reconfigure xserver-xorg' is the way to change xorg.conf that keeps the system consistent with the debconf database (and thus keeps r-m working with it).

Changed in restricted-manager:
importance: Undecided → Low
status: Unconfirmed → Confirmed
Revision history for this message
Lucas Goss (lgoss007-gmail) wrote :

The restricted manager did install the nvidia-glx-legacy! So I checked the xorg.conf, and it appears to be using it (using nvidia instead of nv). I checked the restricted manager again and the status is still (even after restart):

"Needs computer restart."

So either the status isn't getting updated properly (since I did restart the computer), or the driver isn't being enabled correctly (OpenGL stuff is really slow).

Just checked glxinfo and it says:

name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.3
...

So the status doesn't appear to be getting updated. I guess the speed issues I'll have to take up with nvidia, lol. This is with no manual xorg.conf hacking, I used 'sudo dpkg-reconfigure xserver-xorg' for any changes.

Revision history for this message
Lucas Goss (lgoss007-gmail) wrote :

So checking out the nvidia issue I stumbled upon this Ubuntu bug (#96430):

https://launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/96430

May be related? nvidia-glx-legacy appears to work, though pretty poorly, but it's not really the correct driver (the correct one isn't offered in Ubuntu at the moment it appears).

Not sure if that would affect the restricted manager or not?

Revision history for this message
Trouilliez vincent (vincent-trouilliez-modulonet) wrote :

> For Trouilliez

Just call me Vince, that will do ;-)

>BTW, 'sudo dpkg-reconfigure xserver-xorg' is the way to change xorg.conf
> that keeps the system consistent

:o( I did try this program, but it always scare the hell out of me, as it asks LOTS of question, when all I want is change one or two little things, and most question are chinese (or german ;o) to me, so I don't know what to answer and fear that I might end up with a completely screwed xorg.conf. I was told in the past, that when I don't know what to answer, I can just take the default value, but I don't trust this, because when it asks for my keyboard layout, the default was US, even though the current setting in xorg.conf is FR !! :-O
So at least for me, I have a lot more peace of mind when editing the file by hand, as I only touch the bits I need to touch, and leave alone all the things I don't need or don't understand.
Isn't there another command that could be run so that a hand tweaked xorg.conf can be considered as "consistent" by the system ?

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

Alright; 0.15 now mangles xorg.conf directly, so there's no need to keep it consistent with debconf any more. Feedback greatly appreciated!

Revision history for this message
Trouilliez vincent (vincent-trouilliez-modulonet) wrote :

> Alright; 0.15 now mangles xorg.conf directly, so there's no need to keep it
> consistent with debconf any more. Feedback greatly appreciated!

Would love to test, but 0.15 still isn't available ! :o(
I keep refreshing the page at packages.ubuntu.com , but it still reads "0.14"... grrr... no 0.15 in sight...

Revision history for this message
Trouilliez vincent (vincent-trouilliez-modulonet) wrote :

> Alright; 0.15 now mangles xorg.conf directly, so there's no need to keep it
> consistent with debconf any more. Feedback greatly appreciated!

Ah, 0.15 is available at last ! :-)
Feedback ?

1) it doesn't say "needs a computer restart" anymore
2) it does say "enabled" despite I installed nvidia-glx by hand
3) it doesn't complain of my hand tweaked xorg.conf
4) the GUI has been reworked and now looks "just right", nice, intuitive, not confusing at all anymore.

So, well done Martin, thanks ! :-)

Revision history for this message
Lucas Goss (lgoss007-gmail) wrote :

Still asks me for a restart, so I had a look at the source...

From a quick glance through the code (so let me know if I'm off anywhere), it appears it asks for a restart when the "is_enabled" and "is_loaded" are not equal.

"is_enabled" looks at the file "/etc/modprobe.d/blacklist-restricted", which I looked for and couldn't find. I have blacklist, blacklist-framebuffer, blacklist-modem, blacklist-oss, blacklist-scanner, blacklist-watchdog... but no blacklist-restricted. However when I view the restricted-manager, it has a check mark for enabled, so maybe there's some custom code I'm missing.

"is_loaded" looks at the file "/proc/modules" which I checked and found this line:
nvidia 3930348 12 - Live 0xf8f30000 (P)

So... maybe just wait till the new nvidia-legacy driver (9631 I think) is added and see if that fixes it? Probably the best option. But if you want me to run some tests or scripts or something just let me know.

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

Lucas, nvidia has a special handler in RestrictedManager/nvidia.py, it uses the XorgDriverHandler in RestrictedManager/xorg_driver.py. is_loaded() still checks whether the kernel module is loaded, but is_enabled checks the current driver in xorg.conf. It might boil down to the same problem that Sebastien has in bug 97402 (i. e. that is_loaded() should check the currently active X driver instead of checking for the loaded module).

Revision history for this message
Lucas Goss (lgoss007-gmail) wrote :

Ok, I see it now. So the is_enabled() is checking if the driver in the xorg.conf file (from "device" section) is the same as the xorg_driver, which should be true ("nvidia" for both).

So is_loaded() must be returning false, but...

Striped out the load_module_list() to just run seperately and just had it print out. "nvidia" was in the list. So checking the is_loaded() call, it checks:

return self.name in self._modules

Which should return true. So if both return true (or should), then it shouldn't ask for a restart. So one must be returning false?!?!

Well I saw your other post about checking the running X driver instead of the kernel module. I'm not sure how to do that either. There's not an X command to get the driver (far as I know), but maybe xlib (been awhile since I've been in there)? I just always use glxinfo, but that checks OpenGL (which I think should be everywhere, but...).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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