First raw alpha test run, in a vm, the basic stuff works, there's some glitches, the package name of the headers isn't the same, ie, because these are actual packages and not metapackages, they don't pull in a single package name, but rather have a variety that are all the same.
So far rpm doesn't impress me at all, it's weird, and very non intuitive, I give this one to Debian apt without any question, apt debs have better rules and design. Package testing, install, gcc testing, install, work, nvidia driver download/extract, works, and I exited at that point to avoid breaking the vm install. My guess is it will work with some bug fixes for the .run package installer at least. Back to top |
I need a way to see if the rpm fusion repos are setup, maybe I'll have to do a grep of the .d/ directory and the yum.conf file or whatever, that's easy enough to do, but I seem to remmeber it having active/inactive in the string, sigh...
Back to top |
rpm fusion free/nonfree repo test added, using rpm repolist
if repo missing, uses the rpm add commands and repo urls given early in this thread. I don't like using such commands because they are slower than searching the files, but I think I'll just do a one time test and then set an override in sgfxi.conf, plus it's easier to parse the output of repolist than reading the actual repo data, which inxi does but it took a bit of gawk code which I don't want to use in sgfxi because it's complicated. Back to top |
Working: direct run install of nvidia
I had the distro akmod working, it installs, but it's missing a glx thing so it doesn't have glx, otherwise it's running. One time I got glx but I have no idea what package needs to be reinstalled. The regular sgfxi -s works fine. To start x current quit/exit sgfxi when it's done and simply do init 5. To stop x, do init 3. The message to reboot needs to force reboot or exit, after removing nouveau, that works fine though. So it's almost all working, just some details and figuring out what package to reinstall for akmod-nvidia. adding nouveau isn't done yet, but it should be easy to do that. Back to top |
OK, sgfxi -s seems to work, the results:
inxi -G Graphics: Card nVidia GeForce 9800 GT Fedora 1.7.4 Res: 1680x1050@50.0hz GLX Renderer GeForce 9800 GT/PCI/SSE2/3DNOW! GLX Version 3.2.0 NVIDIA 190.53 Direct Rendering Yes sgfxi.log :: Code :: START sgfxi LOGGING:
========================================================= Script started: 2010-02-18-18:58:02 Video Card Information: nVidia Corporation GeForce 9800 GT (rev a2) Video Card Type: 10de Video Card Number: 0614 Xorg Version: 1.7 Installing driver to kernel: 2.6.31.12-174.2.19.fc12.i686.PAE sgfxi script version: 4.10.81 sgfxi start options: -s SYSTEM_BASE: fedora SYSTEM_CODENAME: 12 DISTRIB_CODENAME: Constantine DISTRIB_ID: fedora DISTRIB_RELEASE: FG_DISTRIB_CODENAME: FG_DISTRIB_ID: Fedora APT_TYPE: yum ========================================================= INSTALL_TO_KERNEL: KERNEL_VERSION: 2.6.31.12-174.2.19.fc12.i686.PAE KERNEL_BASE: 2.6 KERNEL_THREE: 2.6.31 KERNEL_THIRD: 31 IS_XEN: CONFIG_XEN=y Function: create_x_conf - Primary: Start xorg is present, no xorg.conf file Function: x_is_running - Utility: Start Function: x_is_running - Utility: End Function: update_xorgconf_driver_version - Utility: Start Function: update_xorgconf_driver_version - Utility: End xorg xorg.conf file generated Function: create_x_conf - Primary: End Function: check_dpkg_update - Utility: Start Function: check_dpkg_update - Utility: End Function: set_version - Primary: Start Function: print_information_continue - Utility: Start Args: info You are using the following options: -s - Install distro packaged driver. (ATI fglrx or nVidia) Function: print_information_continue - Utility: End Function: print_information_continue - Utility: Start Args: standard The graphics installer will be installing the nvidia driver: fedora-nvidia Function: print_information_continue - Utility: End Installing this driver: fedora-nvidia Function: set_version - Primary: End Function: driver_support_tests - Utility: Start Args: supported-driver Function: driver_support_tests - Utility: End Function: check_kernel_headers - Utility: Start Function: check_package_status - Utility: Start Args: kernel-headers-2.6.31.12-174.2.19.fc12.i686 i Package Version: kernel-headers-2.6.31.12-174.2.19.fc12.i686 Function: check_package_status - Utility: End Function: check_package_status - Utility: Start Args: kernel-PAE-devel-2.6.31.12-174.2.19.fc12.i686 i Package Version: kernel-PAE-devel-2.6.31.12-174.2.19.fc12.i686 Function: check_package_status - Utility: End Function: check_kernel_headers - Utility: End Function: x_start_stop_master - Primary: Start Args: stop Function: start_stop_x - Utility: Start Args: stop Function: x_is_running - Utility: Start Function: x_is_running - Utility: End Function: start_stop_x - Utility: End Function: x_start_stop_master - Primary: End Function: check_install_tools - Primary: Start Function: check_package_status - Utility: Start Args: logrotate c Package Version: 3.7.8-5.fc12 Function: check_package_status - Utility: End Function: check_package_status - Utility: Start Args: patch c Package Version: 2.6.1-1.fc12 Function: check_package_status - Utility: End Function: check_package_status - Utility: Start Args: fakeroot c Package Version: 1.12.2-22.fc12 Function: check_package_status - Utility: End Function: check_install_tools - Primary: End Function: prep_install - Primary: Start Function: check_package_status - Utility: Start Args: gcc i Package Version: libgcc-4.4.3-4.fc12.i686 gcc-4.4.3-4.fc12.i686 Function: check_package_status - Utility: End Function: prep_install - Primary: End Function: preinstall_cleanup - Primary: Start 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. file updated to add nouveau blacklist: /boot/grub/grub.conf file updated to add vmalloc=256m: /boot/grub/grub.conf file updated to restore grub timeout/unhide menu: /boot/grub/grub.conf operation outcome: failed Function: remove_module - Primary: End Using nvidia uninstaller: /usr/bin/nvidia-installer WARNING: Your driver installation has been altered since it was initially installed; this may happen, for example, if you have since installed the NVIDIA driver through a mechanism other than nvidia-installer (such as your distribution's native package management system). nvidia-installer will attempt to uninstall as best it can. Please see the file '/var/log/nvidia-installer.log' for details. Function: list_installed_packages - Utility: Start Args: nvidia (modalias|libvdpau) packageList: Function: list_installed_packages - Utility: End Function: list_installed_packages - Utility: Start Args: fglrx modalias packageList: Function: list_installed_packages - Utility: End Function: remove_module - Primary: Start Args: fglrx operation outcome: unset Function: remove_module - Primary: End Function: clean_dkms - Primary: Start Function: clean_dkms - Primary: End Function: preinstall_cleanup - Primary: End Function: update_to_nonfree_sources - Primary: Start Function: update_to_nonfree_sources - Primary: End Function: install_distro_drivers - Primary: Start Function: clean_up_fglrx_junk - Utility: Start Function: clean_up_fglrx_junk - Utility: End Function: install_package - Utility: Start Args: akmod-nvidia xorg-x11-drv-nvidia-libs.i686 Function: check_package_status - Utility: Start Args: akmod-nvidia xorg-x11-drv-nvidia-libs.i686 i Package Version: Function: check_package_status - Utility: End Function: install_package - Utility: End Function: remove_module - Primary: Start Args: nouveau FATAL: Module nouveau is in use. file updated to restore grub timeout/unhide menu: /boot/grub/grub.conf operation outcome: failed Function: remove_module - Primary: End Function: install_distro_drivers - Primary: End Function: update_xorg - Primary: Start xorg.conf was backed up to: /etc/X11/xorg.conf-bu-2010-02-18-19:01:53 Function: create_section_device - Utility: Start Function: create_section_device - Utility: End Function: create_driver_entry - Utility: Start Function: create_driver_entry - Utility: End Function: update_xorgconf_driver_version - Utility: Start Function: update_xorgconf_driver_version - Utility: End Function: clear_prep_xorg - Utility: Start Function: clear_prep_xorg - Utility: End Function: check_extensions - Utility: Start Function: check_extensions - Utility: End Function: remove_modelines - Utility: Start Function: remove_modelines - Utility: End Function: update_xorg - Primary: End Function: final_install_steps - Primary: Start Function: process_xvmc - Utility: Start Function: process_xvmc - Utility: End Function: remove_module - Primary: Start Args: nouveau FATAL: Module nouveau is in use. file updated to restore grub timeout/unhide menu: /boot/grub/grub.conf operation outcome: failed Function: remove_module - Primary: End Function: final_install_steps - Primary: End Function: x_start_stop_master - Primary: Start Args: start Function: start_x_question - Primary: Start Final Step: quit xorg.conf :: Code :: # Xorg configuration created by livna-config-display
Section "ServerLayout" Identifier "X.org Configured" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Files" ModulePath "/usr/lib/xorg/modules/extensions/nvidia" ModulePath "/usr/lib/xorg/modules" FontPath "catalogue:/etc/X11/fontpath.d" FontPath "built-ins" EndSection Section "Module" Load "record" Load "dri2" Load "glx" Load "dbe" Load "extmod" EndSection Section "ServerFlags" Option "AIGLX" "on" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5 6 7" EndSection Section "Monitor" #DisplaySize 470 300 # mm Identifier "Monitor0" VendorName "ACR" ModelName "Acer X223W" HorizSync 31.0 - 83.0 VertRefresh 56.0 - 75.0 Option "DPMS" EndSection Section "Device" ### Available Driver options are:- ### Values: <i>: integer, <f>: float, <bool>: "True"/"False", ### <string>: "String", <freq>: "<f> Hz/kHz/MHz" ### [arg]: arg optional #Option "SWcursor" # [<bool>] #Option "HWcursor" # [<bool>] #Option "NoAccel" # [<bool>] #Option "ShadowFB" # [<bool>] #Option "VideoKey" # <i> #Option "FPDither" # [<bool>] #Option "FPScale" # [<bool>] #Option "ScalingMode" # <str> #Option "EXAPixmaps" # [<bool>] Identifier "Card0" Driver "nvidia" VendorName "nVidia Corporation" BoardName "GeForce 9800 GT" Option "AddARGBGLXVisuals" "True" BusID "PCI:4:0:0" EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" SubSection "Display" Viewport 0 0 Depth 1 EndSubSection SubSection "Display" Viewport 0 0 Depth 4 EndSubSection SubSection "Display" Viewport 0 0 Depth 8 EndSubSection SubSection "Display" Viewport 0 0 Depth 15 EndSubSection SubSection "Display" Viewport 0 0 Depth 16 EndSubSection SubSection "Display" Viewport 0 0 Depth 24 EndSubSection EndSection Section "Extensions" Option "Composite" "Enable" EndSection For my twin displays, I'll have to adjust xorg.conf with nvidia-settings, but except for that, everything seems to be in the correct place. grub.conf :: Code :: # grub.conf generated by anaconda
# # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/sda3 rdblacklist=nouveau vmalloc=256m # initrd /initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=3 splashimage=(hd0,0)/grub/splash.xpm.gz #hiddenmenu title Fedora (2.6.31.12-174.2.19.fc12.i686.PAE) root (hd0,0) kernel /vmlinuz-2.6.31.12-174.2.19.fc12.i686.PAE ro root=UUID=fe965864-4d75-4066-b19f-1fc7bd5e528e LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet rdblacklist=nouveau vmalloc=256m initrd /initramfs-2.6.31.12-174.2.19.fc12.i686.PAE.img :: Code :: [root@F12test32 GoinEasy9]# dir /etc/modprobe.d/
anaconda.conf blacklist-nouveau.conf blacklist-visor.conf dist-alsa.conf dist.conf dist-oss.conf openfwwf.conf Back to top |
good, the data showed one small bug, now fixed, that's why it kept redoing your grub.conf
sgfxi sgfxi -B should be working fine now. I have not been able to restore glx to my sgfxi -s distro driver install, but the regular run packages install fine and glx loads, which suggests there is a package that contains the nvidia glx that needs something done to it. Here's how it stands now: nouveau: will require redoing the initrd every time nouveau is removed, following the steps you listed. I got bizarre reloads of nouveau AFTER blacklisting in grub.conf, in the modprobe.d directory, so that is going to have to be even more strongly suppressed. nouveau is a serious mess, in my opinion it may be the worst thing I have ever seen in the linux system, definitely in the kernel. The initial update to tell people they need to reboot will require a reboot / exit question there, it's fine if you know, but it will need to force exit / reboot, like it does in the end. The standard driver install seems reliable, as is usually the case, except for that cancerous nouveau which, like the undead, comes back even after you kill, blacklist, reboot, in weird ways. free xorg nouveau should work I think, with a forced reboot to make sure. I have had major issues on reboots, nouveau simply crashes, have to do a hard reset reboot, which usually works, nouveau isn't even a beta driver from what I can see, this is the worst part of supporting fedora by far. I tried installing first distro -s drivers, then binary run drivers, and after I forced the kernel build on the first akmod build, it builds nvidia fine, but may not work if you push it. Try. Install: sgfxi -B, then start x with init 5, and test to see if glx works, etc, with: inxi -G if you see the nvidia driver number, it's working. If not, it's nv or nouveau running it. Then install sgfxi -s again. Let me know, I'm going to add that rebuild initrd thing you gave me, it simply does not work without it reliably, with a reboot. Let's see what else, today I fine tuned the xorg nouveau install, that seems to work reasonably well. found some bugs, working on the above stuff. We'll see how it goes. Back to top |
Found most of the main issues:
:: Code :: ModulePath "/usr/lib/xorg/modules/extensions/nvidia" that line was commented out in xorg.conf from some earlier tests, it isn't there though by default with X -configure generated xorg.conf, I had to add it manually, when I uncommented it, I got the fedora nvidia driver package to work with glx again. Let's see, what else. I have in but commented out the initrd rebuild thing if nouveau gives errors, I'd made a mistake, sgfxi didn't have nouveau on its whitelist of xorg drivers supported, not sure how I missed that one, so the system was trying to run nouveau, ie, user error, mine in that case. Basically sgfxi -N nouveau should remove nvidia non free drivers and replace them with nouveau. sgfxi -s should install fedora packaged nvidia drivers, and remove binary run nouveau stuff, and also, if required, add blacklist stuff to files, make grub visible, make time out 3, so users can actually not start x, init 3 start. users are now told this will have to be a reboot, without the option to continue if nouveau was loaded. sgfxi also shows this if nouveau is loaded, removes nvidia fedora packages, then installs the run packages from nvidia. And that's about it. I shudder to think about what catalyst/fglrx looks like, that's not a pretty thought, I think I'll give that a wait for now. Oh, yes, I need to know the start command for gdm, I can't find the /etc/init.d path, and it's not in service commands, not sure what xorg uses there, it's one of the rc.5 things but I can't figure out which one. And with that I think I'll wait a bit to hear if there is any further feedback. Getting the actual command used to start gnome would be nice, wherever it is, can't find it in /etc/init.d don't know where else it would be. Back to top |
Found some consistent failures, and have worked around them
On initial initrd rebuild, if you restart your computer, it may work, but if you shut down and let sit, you might get your nouveau reloaded, not sure why or how this works. So it seems that this is the required course: blacklist nouveau in grub.conf and in modprobe.d update xorg.conf to use vesa for system restart, to make sure you don't get that gunky nouveau loading again. rebuild initrd halt wait 1 minute restart start sgfxi this may or may not work, I'm getting VERY erratic results here. this is what sgfxi updates to. if you use sgfxi -N nouveau it will remove the blacklists, restore the initrd if found, install nouveau and update xorg.conf I have l little faith in this. Please do some serious tests to confirm whether you can cleanly move between each method, sgfxi, sgfxi -s, and sgfxi -N nouveau Do not reboot, shutdown using: halt please. reboot may leave initrd in ram, I'm not sure, it appears that may be the case. Back to top |
Sorry if I haven't been around for testing, next day off is Sunday, just finishing 12 hours working and have another full day tomorrow. Hopefully I'll be able to look at it again Saturday night, if not Sunday.
It was pretty amazing to see it running, but I still have to see if everything matches how I have it running in my production machines. I never have problems with the nvidia driver or nouveau once I have the drivers installed, and, the akmods keep the drivers working through kernel updates. Time to start closing up shop, talk to you soon. Back to top |
When you test, moving from nouveau to nvidia binary run to fedora nvidia packages over and over exposes what will fail.
This is how I test, and it exposed a lot, the stuff is very unreliable, and I have been adding more and more to sgfxi until it actually basically always works as expected. nouveau tends to crash with my nvidia 5700 card, often not even managing to start the desktop, that didn't help testing, but it did prove to me that nouveau has no business being in the stable branch of the kernel, and it most definitely has NO business being a default for your console frame buffer, ie, rooted into your core system. My tests so far show it's finally working now, and I have added more output to users, and added a shutdown option, since reboot may actually distort the results, ie, if you reboot after blacklisting nouveau, it works, but then when you shutdown and restart later, it starts nouveau again despite the blacklist. I've also added in setting xorg to use vesa for the reboot if nouveau was used, that may help some fringe failiures as well on reboot. Halt, then wait, then start, may be the safest. Since nouveau will enter mainline distros like debian at some point, it's best to be prepared, for now the custom fixes run only for fedora, in the future I'll move them to other distros, but each will require intensive testing to really make stable. nouveau is the worst of the foss world, and the attitude to subject users to it I find extremely annoying. Linus by the way is the one who decided to force it into the mainline kernel even though nouveau was clearly not ready, this was noted as a strange decision on his part, totally illogical and certainly is going to cause a lot of people problems. nouveau is seriously and deeply unstable on my system, I have had to reboot repeatedly, reset, hard reboot, to get out of it, so it's not like it's something that you can count on. Back to top |
All times are GMT - 8 Hours |