Page: 1, 2  Next

sgfxi to the rescue
golinux
Status: Curious
Joined: 20 Oct 2012
Posts: 6
Reply Quote
I have installed several flavors of Wheezy testing on an older machine with a GeForce4 MX 4000 in preparation for stable coming soon. That card requires the 96.43.23 legacy driver. In the past I have used dkms to install but this time it just wouldn't work. It was frustrating because nouveau was not doing a very good job - disappearing text, misdrawn graphics etc. So I ventured into new territory with sgfxi. It took a while to get the job done because nouveau has some sort of death grip on the system. Setting 'nomodeset' in grub had no effect. In the end I had to blacklist nouveau to get the driver installed. Once nouveau was out of the way the process went smoothly in just a minute or two. Thanks so much for this wonderful script that did the nearly impossible.
Back to top
techAdmin
Status: Site Admin
Joined: 26 Sep 2003
Posts: 4127
Location: East Coast, West Coast? I know it's one of them.
Reply Quote
weird, sgfxi should have blacklisted nouveau automatically, and told you to reboot.

There may be a single case where dkms installed nvidia is removed by sgfxi, but at the time it runs its nouveau test, it shows as blacklisted, but then dkms removes the blacklist, which makes nouveau be non blacklisted. You can avoid that scenario in the future by running sgfxi -n first, then doing whatever it tells you to do, then, if you need to reboot, reboot, then run sgfxi again, then do what it says.

kms is to me the worst new linux kernel feature, it created the situation where, just like windows, you suddenly needed to reboot to change something that is not actually core to the kernel or os, thus removing one of the best linux features, almost never needing to reboot, except to run a new kernel. But that's what we have now, so we have to live with it.

sgfxi is supposed to 'just work' but I have to admit, i do not use dkms, nor do I intend to ever use it, so my testing has some holes in it for sgfxi, but in theory, it's always supposed to tell you what is happening, handle blacklisting, tell you if you need to reboot and rerun sgfxi.

Nice to see sgfxi rolling along. Be warned however, the 96 series nvidia is NOT going to be continued on, I believe this version, that supports current frozen xorg version in wheezy, will be the last xorg version supported, so be aware of that with that card, if nouveau isn't working well for you, do not up upgrade the system to a new xorg, keep it at wheezy permanently, unless you can replace the graphics card, with either a 5xxx, 6xxx or later card. 6xxx/7xxx cards will see support until I think 2018 or something like that.
Back to top
golinux
Status: Curious
Joined: 20 Oct 2012
Posts: 6
Reply Quote
I'm going to look at the logs later today and will report anything relevant. I remember seeing something about nouveau being removed, having to reboot and run the script again but it didn't work until I manually black listed nouveau.

Maybe by the time jessie is released, nouveau will work better.
Back to top
techAdmin
Status: Site Admin
Joined: 26 Sep 2003
Posts: 4127
Location: East Coast, West Coast? I know it's one of them.
Reply Quote
It's entirely possible that, once again, something has changed with nouveau blacklisting, it wouldn't be the first time, sadly.

dkms has always suffered from being a poorly implemented hack, from Dell, which has, slowly, over time, managed to work out some of its worst glitches, it's far more usable today than it was, but it's also been very inconsistent in terms of blacklisting. If they changed the blacklisting syntax, again, then sgfxi may need further updating.

The sgfxi nouveau blacklist/remove blacklist required an absurd amount of code to implement. Since I don't use nouveau unless I'm giving up on the non free driver, I don't get to test this very much.
Back to top
golinux
Status: Curious
Joined: 20 Oct 2012
Posts: 6
Reply Quote
This is the log portion re: nouveau from the first failed run. The log ends with this entry:

:: Code ::
Function: remove_module - Primary: Start
  Args: nvidia
  operation outcome: unset
Function: remove_module - Primary: End
Function: remove_module - Primary: Start
  Args: nouveau
FATAL: Module nouveau is in use.
  operation outcome: failed
Function: set_modesetting_off - Primary: End
Function: add_grub_nomodeset_blacklist_item - Utility: Start
  Args: nouveau
Function: get_active_grub_files - Utility: Start
  grub files:  /boot/grub/grub.cfg /etc/default/grub
Function: get_active_grub_files - Utility: End
  /boot/grub/grub.cfg file updated to add nouveau nomodeset: /boot/grub/grub.cfg /etc/default/grub
  File /etc/default/grub updated to add nouveau nomodeset: /etc/default/grub
  File /etc/default/grub updated to add nouveau nouveau.modeset=0: /etc/default/grub
Function: add_grub_nomodeset_blacklist_item - Utility: End
Function: add_modprobe_d_blacklist_item - Utility: Start
  Args: nouveau
Function: add_modprobe_d_blacklist_item - Utility: End
Function: update_initramfs - Primary: Start
  Args: remove-nouveau
Function: update_initramfs - Primary: End
Function: update_xorgconf_driver_version - Utility: Start
Function: update_xorgconf_driver_version - Utility: End
Function: reboot_now_question - Primary: Start
  Args: nouveau modeset-off


This is the nouveau section from the successful run after I had manually blacklisted nouveau. There were additional lines after this section. Before I blacklisted it, I tried nomodeset and nouveau.modeset=0 as additions to the kernel line at boot. They had no effect and sent me right to the login screen.

:: Code ::
Function: remove_module - Primary: Start
  Args: nouveau
  operation outcome: removed
Function: set_modesetting_off - Primary: End
Function: add_grub_nomodeset_blacklist_item - Utility: Start
  Args: nouveau
Function: get_active_grub_files - Utility: Start
  grub files:  /boot/grub/grub.cfg /etc/default/grub
Function: get_active_grub_files - Utility: End
Function: add_grub_nomodeset_blacklist_item - Utility: End
Function: add_modprobe_d_blacklist_item - Utility: Start
  Args: nouveau
Function: add_modprobe_d_blacklist_item - Utility: End
Function: set_modesetting_off - Primary: Start
  Args: nouveau removed
Function: remove_module - Primary: End


And late last night x crashed with a segmentation fault at login and kept sending me back to the login screen. After fiddling unsuccessfully with xorg.conf and as an act of desperation, I ran sgfxi again. After that, I able to get back into x. The only thing I can think of that may have caused it was that I enabled and then disabled compositing in xfce and HWA in Iceweasel. X was acting a little strangely after that but still working until reboot. Here's the error section from the Xorg log:

:: Code ::
[   136.293] Backtrace:
[   136.293] 0: /usr/bin/X (xorg_backtrace+0x49) [0xb77316d9]
[   136.293] 1: /usr/bin/X (0xb75b4000+0x1810f6) [0xb77350f6]
[   136.293] 2: (vdso) (__kernel_rt_sigreturn+0x0) [0xb759540c]
[   136.293]
[   136.293] Segmentation fault at address (nil)
[   136.293]
Fatal server error:
[   136.293] Caught signal 11 (Segmentation fault). Server aborting
[   136.293]
[   136.293]
Please consult the The X.Org Foundation support
    at http://wiki.x.org
 for help.
[   136.293] Please also check the log file at "/var/log/Xorg.1.log" for additional information.
[   136.293]
[   136.312] (II) evdev: Power Button: Close
[   136.312] (II) UnloadModule: "evdev"
[   136.312] (II) evdev: Power Button: Close
[   136.312] (II) UnloadModule: "evdev"
[   136.316] (II) evdev: AT Translated Set 2 keyboard: Close
[   136.316] (II) UnloadModule: "evdev"
[   136.324] (II) evdev: ImPS/2 Logitech Wheel Mouse: Close
[   136.324] (II) UnloadModule: "evdev"
[   136.386] Server terminated with error (1). Closing log file.


Hope that might give you a clue as to what's going on. I'm gonna reboot now and see if I can get back in.
Back to top
techAdmin
Status: Site Admin
Joined: 26 Sep 2003
Posts: 4127
Location: East Coast, West Coast? I know it's one of them.
Reply Quote
what, exactly, was the nouveau blacklisting syntax you added manually, and where? which files etc?

I see one thing that might be slightly off in sgfxi, not positive, I'll have to look at that, and current nouveau blacklisting.

However, in all cases, with that old nvidia card, you're right on the edge of what is actually going to work. nvidia really isn't supporting that card anymore, and won't release new xorg support, so keep that in mind.

disabling compositing may have edited xorg.conf if you used the xfce controls to do that, I don't know how that works technically.

Basically, once you get this card working, stop, and do not change anything, the nvidia driver is barely tested anymore, I'm sure all they do when they release the updates for new xorg versions is run some quick tests, and make sure x starts, and that's probably about it. And the odds are very high that that card is never actually itself tested.

So I wouldn't treat your system as something you can tweak and mess around with, I'd just get it stable, then leave xorg and nvidia alone completely, you're actually lucky it's working at all.

dkms also adds some more unknowns, by the way, while sgfxi tries to clean up after it, it's hampered by the fact I don't use it, and only test it on very rare occasions if bug reports are not getting resolved.
Back to top
golinux
Status: Curious
Joined: 20 Oct 2012
Posts: 6
Reply Quote
I created blacklist-nouveau.conf in /etc/modprobe.d/ with the instruction "blacklist nouveau". Got that off one of the Debian forums - either DUF or FDN.

I understand this card's days using the proprietary driver are numbered. When it comes time to test Jessie, I'll try nouveau with this card and if it's funky, I'll switch out with a 8400 GS that's in the back room. Hopefully the MB can handle it.

Yes, I did use the xfce Window Manager Tweaks to to enable/disable compositing and the screen shuddered a bit.

This is a test machine so not critical if something screws up. When I install on my 'working' machine after wheezy goes stable, it will be with an 8400 GS which uses the 173.14.36 driver which should get me to Jessie but maybe not beyond.

I'll take your advice and not mess with X anymore. Now if I could just get either DVDStyler or DeVeDe installed. Debian Multimedia is not in a good state these days . . .

Thanks for your help and this wonderful script. I hope you can keep it going into the future.
Back to top
techAdmin
Status: Site Admin
Joined: 26 Sep 2003
Posts: 4127
Location: East Coast, West Coast? I know it's one of them.
Reply Quote
8400 uses either 304 legacy or current stable nvidia, I don't remember the cutoff.

173 is only for the 5xxx nvidia card series.

304 may be for the 6/7xxx card series, I believe. 8400 should be supported for a long time.
Back to top
techAdmin
Status: Site Admin
Joined: 26 Sep 2003
Posts: 4127
Location: East Coast, West Coast? I know it's one of them.
Reply Quote
sgfxi should have, and does, create this file:
/etc/modprobe.d/kms-sg-blacklist.conf
with the contents:
blacklist nouveau

I'm wondering if dkms being present made it not do that because of course, it also tests /etc/modprobe.d files for a nouveau blacklist item, and if present already, does not add one.

So I will guess until checking further that what is happening is that the file is present but sgfxi may check before dkms is removed, so neither the grub or the modprobe.d data gets written because sgfxi believed it was already there, that would make sense to me.

So the trick is to maybe check again at some p oint prior to the actual install, not sure, but it may just require another test to make sure, after dkms is fully removed.
Back to top
techAdmin
Status: Site Admin
Joined: 26 Sep 2003
Posts: 4127
Location: East Coast, West Coast? I know it's one of them.
Reply Quote
nope, bad guess, the nouveau module blacklisting happens after all nvidia stuff is removed from the system, which means either it's leaving something behind or some completely unknown event is occurring.

Basically sgfxi cleans up all nvidia packages, uninstalls any nvidia, then checks for the nouveau module, if found, tries removing it, then it blacklists nouveau in all cases, in grub files and in modprobe.d, then it tells you you have to reboot, you reboot, and run sgfxi again.

that's what's supposed to happen, but there could be something else going on that is breaking that process. However, the real test would have been after sgfxi ran the first time, when dkms was installed, to see, after it told you to reboot, if the files were updated and present, blacklisting there.

I wonder if this is related to a long time issue mepis users have reported, where they have to run sgfxi twice to get something to click, sadly, none of them have ever followed through on the problem, and I can't make it happen, so I have no idea what causes it, though dkms having been installed makes me suspect more cruft that is left that makes something not work right in sgfxi the first time you try running it after removing either nouveau or dkms.
Back to top
Display posts from previous:   
Page: 1, 2  Next
All times are GMT - 8 Hours