Re: [opensuse-factory] Major Upgrade to Nvidia Driver for Video Playback
On Sat, 2008-11-22 at 07:58 -0600, David C. Rankin wrote:
Quentin Jackson wrote:
On Fri, 2008-11-21 at 23:51 -0500, Patrick Shanahan wrote:
* Sid Boyce <sboyce@blueyonder.co.uk> [11-21-08 23:39]:
I have always had to do so or the long way before I found out about cloneconfig, "cd /usr/src/linux;cp /boot/config-`uname -r` .config;make oldconfig". Using the NV...pkg directly from NVidia?
It's mentioned in an obscure place, see /usr/src/linux/README.SUSE, but no doubt documented elsewhere. I don't recall it being with the install instructions referred by the NVidia package specifically for openSUSE.
You say you "have always had to", have you ever tried w/o? How do you know this? -- Patrick Shanahan Plainfield, Indiana, USA HOG # US1244711 http://wahoo.no-ip.org Photo Album: http://wahoo.no-ip.org/gallery2 Registered Linux User #207535 @ http://counter.li.org
Actually it would be great to know what the perfect way of doing this and what the benefits are, if we can get more fps or somehow a more stable driver I'm sure everyone would want to know :)
Q
Q
It has nothing to do with getting any more FPS out of a driver or making it more stable, it has to do with making sure the driver (kernel module actually) gets built (compiled against the present kernel) in the first place so that you can run the driver package you are trying to install.
In the past you needed to "prepare" the kernel before compiling a new module against it. Which essentially meant cleaning up and getting rid of all the pieces left over from whatever you built against the kernel last in case it didn't do that for itself.
The prescribed manner for doing that was/is:
cd /usr/src/linux make mrproper make cloneconfig > /dev/null 2>&1 make modules_prepare make clean
However, today, I have been told that preparing the kernel is no longer necessary before building a kernel module because the opensuse kernel is in the prepared state at the time it is installed.
My view is that the traditional manner for preparing the kernel prior to module compilation is a no-cost bit of insurance that everything has the best chance of going right during the module build. Not to mention that if you throw the 5 lines in a file and either put #!/bin/bash on top or call it with 'sh filename' there's not a whole lot of work involved with doing it right anyway.
And like was already suggested:
cd /usr/src/linux make help
07:56 alchemy/usr/src/linux> make help Cleaning targets: clean - Remove most generated files but keep the config and enough build support to build external modules mrproper - Remove all generated files + config + various backup files distclean - mrproper + remove editor backup and patch files
Configuration targets: config - Update current config utilising a line-oriented program menuconfig - Update current config utilising a menu based program xconfig - Update current config utilising a QT based front-end gconfig - Update current config utilising a GTK based front-end oldconfig - Update current config utilising a provided .config as base silentoldconfig - Same as oldconfig, but quietly randconfig - New config with random answer to all options defconfig - New config with default answer to all options allmodconfig - New config selecting modules when possible allyesconfig - New config where all options are accepted with yes allnoconfig - New config where all options are answered with no
Other generic targets: all - Build all targets marked with [*] * vmlinux - Build the bare kernel * modules - Build all modules modules_install - Install all modules to INSTALL_MOD_PATH (default: /) dir/ - Build all files in dir and below dir/file.[ois] - Build specified target only dir/file.ko - Build module including final link prepare - Set up for building external modules tags/TAGS - Generate tags file for editors cscope - Generate cscope index kernelrelease - Output the release version string kernelversion - Output the version stored in Makefile headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH (default: /usr/src/linux-2.6.25.18-0.2/usr)
Static analysers checkstack - Generate a list of stack hogs namespacecheck - Name space analysis on compiled kernel versioncheck - Sanity check on version.h usage includecheck - Check for duplicate included header files export_report - List the usages of all exported symbols headers_check - Sanity check on exported headers
Kernel packaging: rpm-pkg - Build both source and binary RPM kernel packages binrpm-pkg - Build only the binary kernel package deb-pkg - Build the kernel as an deb package tar-pkg - Build the kernel as an uncompressed tarball targz-pkg - Build the kernel as a gzip compressed tarball tarbz2-pkg - Build the kernel as a bzip2 compressed tarball
Documentation targets: Linux kernel internal documentation in different formats: htmldocs - HTML installmandocs - install man pages generated by mandocs mandocs - man pages pdfdocs - PDF psdocs - Postscript xmldocs - XML DocBook
Architecture specific targets (x86_64): * bzImage - Compressed kernel image (arch/x86/boot/bzImage) install - Install kernel using (your) ~/bin/installkernel or (distribution) /sbin/installkernel or install to $(INSTALL_PATH) and run lilo fdimage - Create 1.4MB boot floppy image (arch/x86/boot/fdimage) fdimage144 - Create 1.4MB boot floppy image (arch/x86/boot/fdimage) fdimage288 - Create 2.8MB boot floppy image (arch/x86/boot/fdimage) isoimage - Create a boot CD-ROM image (arch/x86/boot/image.iso) bzdisk/fdimage*/isoimage also accept: FDARGS="..." arguments for the booted kernel FDINITRD=file initrd for the booted kernel
make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build make V=2 [targets] 2 => give reason for rebuild of target make O=dir [targets] Locate all output files in "dir", including .config make C=1 [targets] Check all c source with $CHECK (sparse by default) make C=2 [targets] Force check of all c source with $CHECK
-- David C. Rankin, J.D.,P.E. | Rankin Law Firm, PLLC | Countdown for openSuSE 11.1 www.rankinlawfirm.com | http://counter.opensuse.org/11.1/small
OK Thanks for the info, I guess if it's only to do with compiling the kernel module and performance etc isn't effected I can just keep doing what I always do, INIT 3, run the NVIDIA driver script, let it uninstall and fix everything up, INIT 5. Seems to work for me and is about as simple as it gets next to one click. I actually do the whole sax2 -r -m 0=nvidia thing too, but from what I'm reading here it seems I don't need to. Q
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
Quentin Jackson wrote:
On Sat, 2008-11-22 at 07:58 -0600, David C. Rankin wrote:
Quentin Jackson wrote:
On Fri, 2008-11-21 at 23:51 -0500, Patrick Shanahan wrote:
* Sid Boyce <sboyce@blueyonder.co.uk> [11-21-08 23:39]:
I have always had to do so or the long way before I found out about cloneconfig, "cd /usr/src/linux;cp /boot/config-`uname -r` .config;make oldconfig". Using the NV...pkg directly from NVidia?
It's mentioned in an obscure place, see /usr/src/linux/README.SUSE, but no doubt documented elsewhere. I don't recall it being with the install instructions referred by the NVidia package specifically for openSUSE.
You say you "have always had to", have you ever tried w/o? How do you know this? -- Patrick Shanahan Plainfield, Indiana, USA HOG # US1244711 http://wahoo.no-ip.org Photo Album: http://wahoo.no-ip.org/gallery2 Registered Linux User #207535 @ http://counter.li.org Actually it would be great to know what the perfect way of doing this and what the benefits are, if we can get more fps or somehow a more stable driver I'm sure everyone would want to know :)
Q
Q
It has nothing to do with getting any more FPS out of a driver or making it more stable, it has to do with making sure the driver (kernel module actually) gets built (compiled against the present kernel) in the first place so that you can run the driver package you are trying to install.
In the past you needed to "prepare" the kernel before compiling a new module against it. Which essentially meant cleaning up and getting rid of all the pieces left over from whatever you built against the kernel last in case it didn't do that for itself.
The prescribed manner for doing that was/is:
cd /usr/src/linux make mrproper make cloneconfig > /dev/null 2>&1 make modules_prepare make clean
However, today, I have been told that preparing the kernel is no longer necessary before building a kernel module because the opensuse kernel is in the prepared state at the time it is installed.
My view is that the traditional manner for preparing the kernel prior to module compilation is a no-cost bit of insurance that everything has the best chance of going right during the module build. Not to mention that if you throw the 5 lines in a file and either put #!/bin/bash on top or call it with 'sh filename' there's not a whole lot of work involved with doing it right anyway.
And like was already suggested:
cd /usr/src/linux make help
07:56 alchemy/usr/src/linux> make help Cleaning targets: clean - Remove most generated files but keep the config and enough build support to build external modules mrproper - Remove all generated files + config + various backup files distclean - mrproper + remove editor backup and patch files
Configuration targets: config - Update current config utilising a line-oriented program menuconfig - Update current config utilising a menu based program xconfig - Update current config utilising a QT based front-end gconfig - Update current config utilising a GTK based front-end oldconfig - Update current config utilising a provided .config as base silentoldconfig - Same as oldconfig, but quietly randconfig - New config with random answer to all options defconfig - New config with default answer to all options allmodconfig - New config selecting modules when possible allyesconfig - New config where all options are accepted with yes allnoconfig - New config where all options are answered with no
Other generic targets: all - Build all targets marked with [*] * vmlinux - Build the bare kernel * modules - Build all modules modules_install - Install all modules to INSTALL_MOD_PATH (default: /) dir/ - Build all files in dir and below dir/file.[ois] - Build specified target only dir/file.ko - Build module including final link prepare - Set up for building external modules tags/TAGS - Generate tags file for editors cscope - Generate cscope index kernelrelease - Output the release version string kernelversion - Output the version stored in Makefile headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH (default: /usr/src/linux-2.6.25.18-0.2/usr)
Static analysers checkstack - Generate a list of stack hogs namespacecheck - Name space analysis on compiled kernel versioncheck - Sanity check on version.h usage includecheck - Check for duplicate included header files export_report - List the usages of all exported symbols headers_check - Sanity check on exported headers
Kernel packaging: rpm-pkg - Build both source and binary RPM kernel packages binrpm-pkg - Build only the binary kernel package deb-pkg - Build the kernel as an deb package tar-pkg - Build the kernel as an uncompressed tarball targz-pkg - Build the kernel as a gzip compressed tarball tarbz2-pkg - Build the kernel as a bzip2 compressed tarball
Documentation targets: Linux kernel internal documentation in different formats: htmldocs - HTML installmandocs - install man pages generated by mandocs mandocs - man pages pdfdocs - PDF psdocs - Postscript xmldocs - XML DocBook
Architecture specific targets (x86_64): * bzImage - Compressed kernel image (arch/x86/boot/bzImage) install - Install kernel using (your) ~/bin/installkernel or (distribution) /sbin/installkernel or install to $(INSTALL_PATH) and run lilo fdimage - Create 1.4MB boot floppy image (arch/x86/boot/fdimage) fdimage144 - Create 1.4MB boot floppy image (arch/x86/boot/fdimage) fdimage288 - Create 2.8MB boot floppy image (arch/x86/boot/fdimage) isoimage - Create a boot CD-ROM image (arch/x86/boot/image.iso) bzdisk/fdimage*/isoimage also accept: FDARGS="..." arguments for the booted kernel FDINITRD=file initrd for the booted kernel
make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build make V=2 [targets] 2 => give reason for rebuild of target make O=dir [targets] Locate all output files in "dir", including .config make C=1 [targets] Check all c source with $CHECK (sparse by default) make C=2 [targets] Force check of all c source with $CHECK
-- David C. Rankin, J.D.,P.E. | Rankin Law Firm, PLLC | Countdown for openSuSE 11.1 www.rankinlawfirm.com | http://counter.opensuse.org/11.1/small
OK Thanks for the info, I guess if it's only to do with compiling the kernel module and performance etc isn't effected I can just keep doing what I always do, INIT 3, run the NVIDIA driver script, let it uninstall and fix everything up, INIT 5. Seems to work for me and is about as simple as it gets next to one click.
I actually do the whole sax2 -r -m 0=nvidia thing too, but from what I'm reading here it seems I don't need to.
Q
NVIDIA-Linux-x86_64-180.08-pkg2.run up and running 4 hours on vanilla kernel 2.6.28-rc6-git1. I just went into init 3 and ran the script, then back to init 5. Regards Sid. -- Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support Specialist, Cricket Coach Microsoft Windows Free Zone - Linux used for all Computing Tasks -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
participants (2)
-
Quentin Jackson
-
Sid Boyce