View previous topic :: View next topic |
Author |
Message |
Thaidog Veteran
Joined: 19 May 2004 Posts: 1053
|
Posted: Tue Mar 23, 2010 9:04 am Post subject: |
|
|
Gentoo4Work wrote: | Thaidog wrote: | Gentoo4Work wrote: | Wow, this is a really cool project guys. One of the things that I've been lamenting is GCC's inability to take advantage of my nehalems, and I've been dying for a way to ditch GCC for either ICC or SunStudio. My benchmarks for individual software run speeds compiled under the three compilers are so dramatically different its just absurd (we're talking multipliers rather than percentages for the math-heavy apps).
I'll definitely be trying this out once I get a fully-stable vanilla setup up and running. Cheers! |
Glad you're enjoying it We have been trying to get a hold of some patches that have been postulated to compile the kernel with Sun's compiler but have been unsuccessful in get a hold of anyone in development. I would doubt it would be faster than ICC but may be of benefit for exposing bugs. |
Believe it or not, it's actually considerably quicker at heavy maths, at least on the Nehalems... we'll have to see how it fares now that Intel's new line is out. You'd think otherwise, but I suppose when it comes down to it Oracle is the operation with the experience in optimizing the performance of algorithms in distributed node settings, so all they really need is the architecture to translate their existing IP to the particular application, whereas with Intel the case is just the opposite. |
Is there an ebuild?
@ darkbasic - sweet let me know how it goes _________________ Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds |
|
Back to top |
|
|
darkbasic Tux's lil' helper
Joined: 06 Sep 2006 Posts: 133
|
|
Back to top |
|
|
Thaidog Veteran
Joined: 19 May 2004 Posts: 1053
|
Posted: Tue Mar 23, 2010 6:11 pm Post subject: |
|
|
Couple of things... did you compile your icc kernel with: make AR=xiar LD=xild or simply with make?
Also how were the applications tested compiled? Did you try using ICC for any? If so did you employ IPO or PGO? These would make a big difference. _________________ Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds |
|
Back to top |
|
|
darkbasic Tux's lil' helper
Joined: 06 Sep 2006 Posts: 133
|
Posted: Tue Mar 23, 2010 9:10 pm Post subject: |
|
|
Thaidog wrote: | Couple of things... did you compile your icc kernel with: make AR=xiar LD=xild or simply with make? |
Just make.
Thaidog wrote: | Also how were the applications tested compiled? Did you try using ICC for any? If so did you employ IPO or PGO? These would make a big difference. |
I wanted to test just the kernel, so the applications binaries were the same (gcc-4.4.3). _________________ Computers are like air conditioners:
they stop working properly when you open Windows...
Coltiva Linux, Windows si pianta da solo.
http://www.linuxsystems.it/ |
|
Back to top |
|
|
Thaidog Veteran
Joined: 19 May 2004 Posts: 1053
|
Posted: Wed Mar 24, 2010 5:31 am Post subject: |
|
|
darkbasic wrote: | Thaidog wrote: | Couple of things... did you compile your icc kernel with: make AR=xiar LD=xild or simply with make? |
Just make.
Thaidog wrote: | Also how were the applications tested compiled? Did you try using ICC for any? If so did you employ IPO or PGO? These would make a big difference. |
I wanted to test just the kernel, so the applications binaries were the same (gcc-4.4.3). |
I would retry with AR=xiar LD=xild
I imagine it would make at least a little difference. _________________ Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds |
|
Back to top |
|
|
Thaidog Veteran
Joined: 19 May 2004 Posts: 1053
|
Posted: Sun Mar 28, 2010 4:27 am Post subject: |
|
|
For everybody who wants a 32bit patch:
wget http://www.linuxdna.com/dna-2.6.33-intel32-1.patch
Remember to use the correct source command when compiling:
ex:
source /opt/intel/Compiler/11.1/069/bin/iccvars.sh ia32
instead of:
source /opt/intel/Compiler/11.1/069/bin/iccvars.sh intel64 _________________ Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds |
|
Back to top |
|
|
costel78 Guru
Joined: 20 Apr 2007 Posts: 407
|
Posted: Sun Mar 28, 2010 9:05 am Post subject: |
|
|
Not related with LinuxDNA, but...
Here are my questions:
1. Could I safely replace ld with xild for packages compiled with icc ? I mean: Will I break gcc compatibility ? What is the right way to do that ?
From what I found some people say that it's happen automatically, but it seem that ld from binutils is used if I don't specify AR=xiar LD=xild
My /etc/portage/bashrc from gentoo-wiki
Code: |
export GCC=${OCC}
export GCXX=${OCXX}
export OCC="icc"
export OCXX="icpc"
export CFLAGS=${ICCCFLAGS}
export CXXFLAGS=${ICCCXXFLAGS}
[ -r ${ROOT}/etc/portage/package.gcc ] || return 0
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export OCC=${GCC}
export OCXX=${GCXX}
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
if [ -r ${ROOT}/etc/portage/package.gcc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < ${ROOT}/etc/portage/package.gcc-cflags
fi
break
fi
done < ${ROOT}/etc/portage/package.gcc
# My add to script. Is that correct ? Will it work properly ?
if [ "${GCC}" = "icc" ]; then
export AR=xiar
export LD=xild
fi
if [ -r ${ROOT}/etc/portage/package.icc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < ${ROOT}/etc/portage/package.icc-cflags
fi
if [ "${OCC}" != "" ]; then
export CC_FOR_BUILD="${OCC}" #workaround gcc detection function in toolchain-funcs.eclass
fi
unset GCC
unset GCXX
|
2. Does anyone have a list of Gentoo packages which compile fine with -ip and -ipo icc flags ?
Thank you! _________________ Sorry for my English. I'm still learning this language. |
|
Back to top |
|
|
Thaidog Veteran
Joined: 19 May 2004 Posts: 1053
|
Posted: Sun Mar 28, 2010 5:31 pm Post subject: |
|
|
costel78 wrote: | Not related with LinuxDNA, but...
Here are my questions:
1. Could I safely replace ld with xild for packages compiled with icc ? I mean: Will I break gcc compatibility ? What is the right way to do that ?
From what I found some people say that it's happen automatically, but it seem that ld from binutils is used if I don't specify AR=xiar LD=xild
My /etc/portage/bashrc from gentoo-wiki
Code: |
export GCC=${OCC}
export GCXX=${OCXX}
export OCC="icc"
export OCXX="icpc"
export CFLAGS=${ICCCFLAGS}
export CXXFLAGS=${ICCCXXFLAGS}
[ -r ${ROOT}/etc/portage/package.gcc ] || return 0
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export OCC=${GCC}
export OCXX=${GCXX}
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
if [ -r ${ROOT}/etc/portage/package.gcc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < ${ROOT}/etc/portage/package.gcc-cflags
fi
break
fi
done < ${ROOT}/etc/portage/package.gcc
# My add to script. Is that correct ? Will it work properly ?
if [ "${GCC}" = "icc" ]; then
export AR=xiar
export LD=xild
fi
if [ -r ${ROOT}/etc/portage/package.icc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < ${ROOT}/etc/portage/package.icc-cflags
fi
if [ "${OCC}" != "" ]; then
export CC_FOR_BUILD="${OCC}" #workaround gcc detection function in toolchain-funcs.eclass
fi
unset GCC
unset GCXX
|
2. Does anyone have a list of Gentoo packages which compile fine with -ip and -ipo icc flags ?
Thank you! |
You will need to add the flags like you have here. Once linked this way you will need icc to be installed of the binaries will not work... so in a sense it does break compatibility because it is now dependent on icc libs. _________________ Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds |
|
Back to top |
|
|
darkbasic Tux's lil' helper
Joined: 06 Sep 2006 Posts: 133
|
|
Back to top |
|
|
costel78 Guru
Joined: 20 Apr 2007 Posts: 407
|
Posted: Sun Mar 28, 2010 9:34 pm Post subject: |
|
|
@Thaidog
That was my presumptions also, so I already compiled my world set using:
Code: |
export GCC=${OCC}
export GCXX=${OCXX}
export OCC="icc"
export OCXX="icpc"
export CFLAGS=${ICCCFLAGS}
export CXXFLAGS=${ICCCXXFLAGS}
[ -r "${ROOT}"/etc/portage/package.gcc ] || return 0
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export OCC=${GCC}
export OCXX=${GCXX}
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
if [ -r ${ROOT}/etc/portage/package.gcc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < "${ROOT}"/etc/portage/package.gcc-cflags
fi
break
fi
done < "${ROOT}"/etc/portage/package.gcc
if [ "${GCC}" = "icc" ]; then
# found="no"
# while read -a target; do
# if [ "${target}" = "${CATEGORY}/${PN}" ]; then
# found="yes"
# break;
# fi
# done < "${ROOT}"/etc/portage/package.icc-plain
grep "${CATEGORY}/${PN}" "${ROOT}"/etc/portage/package.icc-plain
if [ $? -eq 0 ]; then
found="no";
else
# if [ "${found}" = "no" ]; then
export AR=xiar
export LD=xild
export LDFLAGS="--as-needed,--warn-once,--sort-common,--hash-style=gnu"
fi
fi
if [ -r ${ROOT}/etc/portage/package.icc-cflags ]; then
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$flags"
export CXXFLAGS="$CFLAGS"
break
fi
done < ${ROOT}/etc/portage/package.icc-cflags
fi
if [ "${OCC}" != "" ]; then
export CC_FOR_BUILD="${OCC}" #workaround gcc detection function in toolchain-funcs.eclass
fi
unset GCC
unset GCXX
|
The only problems were:
Code: |
cat /etc/portage/package.icc-plain
net-misc/openssh
sys-cluster/openmpi
www-apache/mod_security
|
and media-libs/gd which I have to add to package.gcc. It compile fine, but break media-gsx/graphviz (compile time, linking) and /dev-lang/php (runtime)
If someone is interested, list of packages witch doesn't compile with icc, or can't be build with icc because, by doing that, break other packages:
Code: | # Basic, important packages
app-shells/bash
sys-apps/sed
sys-devel/binutils
sys-devel/gcc
sys-libs/glibc
sys-libs/libstdc++-v3
sys-libs/ncurses
sys-libs/zlib
sys-process/procps
# It's compile, but the result during runtime is cathastophic
app-arch/xz-utils
dev-libs/openssl
sys-fs/ntfs3g
# Qt - it compile and works fine with icc, but kdelibs can't be compiled, event with gcc, so switched them to gcc
x11-libs/qt-core
x11-libs/qt-dbus
x11-libs/qt-gui
x11-libs/qt-opengl
x11-libs/qt-qt3support
x11-libs/qt-script
x11-libs/qt-sql
x11-libs/qt-svg
x11-libs/qt-test
x11-libs/qt-webkit
x11-libs/qt-xmlpatterns
# Various packages
app-arch/gzip
app-emulation/virtualbox-modules
app-emulation/virtualbox-ose
app-office/openoffice
app-text/aspell
dev-cpp/gtkmm
dev-db/cdb
dev-lang/perl
dev-lang/php
dev-libs/boost
dev-libs/check
dev-libs/elfutils
dev-libs/klibc
dev-libs/libatomic_ops
dev-libs/libffi
dev-libs/liboil
dev-libs/libpcre
dev-libs/nss
dev-libs/ppl
dev-libs/STLport
dev-util/kdevelop
dev-util/subversion
gnome-extra/wp_tray
kde-base/gwenview
kde-base/juk
kde-base/kcheckpass
kde-base/kdeartwork-kscreensaver
kde-base/kdebase-kioslaves
kde-base/kdelibs
kde-base/kdepimlibs
kde-base/kdm
kde-base/klinkstatus
kde-base/kopete
kde-base/krfb
kde-base/krosspython
kde-base/krunner
kde-base/ksysguard
kde-base/kwin
kde-base/libkcompactdisc
kde-base/libkdcraw
kde-base/okular
kde-misc/krusader
mail-client/mailx
media-gfx/graphviz
media-gfx/inkscape
media-libs/babl
media-libs/gegl
media-libs/id3lib
media-libs/libcanberra
media-libs/libmp4v2
media-libs/libv4l
media-libs/openjpeg
media-libs/taglib
media-libs/xine-lib
media-plugins/gst-plugins-ffmpeg
media-plugins/gst-plugins-taglib
media-sound/sox
media-video/avidemux
media-video/mkvtoolnix
net-analyzer/nmap
net-analyzer/ntop
net-firewall/iptables
net-fs/samba-client
net-fs/samba-libs
net-fs/samba-server
net-ftp/lftp
net-libs/libnice
net-libs/xulrunner
net-misc/ntp
net-p2p/ktorrent
perl-core/version
sys-apps/busybox
sys-apps/coreutils
sys-apps/memtest86+
sys-apps/parted
sys-apps/preload
sys-apps/util-linux
sys-apps/v86d
sys-boot/lilo
sys-boot/syslinux
sys-devel/m4
sys-devel/prelink
sys-fs/btrfs-progs
sys-libs/gpm
www-client/chromium
www-plugins/moonlight
x11-apps/x11perf
x11-apps/xauth
x11-apps/xhost
x11-apps/xinit
x11-base/xorg-server
x11-drivers/xf86-video-nv
x11-libs/cairo
x11-libs/libXvMC
x11-misc/makedepend
x11-wm/compiz
x11-wm/metacity
sys-fs/mdadm
app-misc/lirc
media-video/vlc
media-libs/gd
|
@darkbasic
Thanks, but it's not what I looking for. I know how to set flags per package.
I'm looking for a list of packages witch copile and perform stable using icc and -ip/-ipo flag.
Thank you, anyway. _________________ Sorry for my English. I'm still learning this language. |
|
Back to top |
|
|
Thaidog Veteran
Joined: 19 May 2004 Posts: 1053
|
Posted: Mon Mar 29, 2010 12:41 am Post subject: |
|
|
Give Luyi an email:
luyi at linuxdna dot com
He has compiled a pure 64bit LFS atom based system and has much insight on what will compile with what flags... etc _________________ Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds |
|
Back to top |
|
|
costel78 Guru
Joined: 20 Apr 2007 Posts: 407
|
Posted: Tue Mar 30, 2010 9:41 am Post subject: |
|
|
Thaidog wrote: | Give Luyi an email:
luyi at linuxdna dot com
He has compiled a pure 64bit LFS atom based system and has much insight on what will compile with what flags... etc |
Done that, waiting for response. Thank you!
More info about replacing ld with xild:
- system is more responsible
- so far, no segfault, no problems
- booting (until desktop) faster with 4.3 seconds
- mysql import a database ~2GB (sql dump) faster with 12.8 seconds
- revdep-rebuild check also quicker
- works fine with prelink
Conclusion: it's worth to use xild instead ld from binutils.
Anyway, I'm speaking from a user perspective. I'm Java and web developer so I don't know much about C/C++ except syntax
Next step: Find out packages which compile and works fine with ip/ipo icc's flag.
If anyone have a list with packages which compile or don't compile fine using this flag, please don't be shy. It's a long and time consuming process to find out package by package.
If someone it's interested about a stage4 backup (1.4GB - 7zip archive) I'll put that on a webserver. Unfortunately, I have only 1mbs upload speed. _________________ Sorry for my English. I'm still learning this language. |
|
Back to top |
|
|
tranquilcool Veteran
Joined: 25 Mar 2005 Posts: 1245
|
Posted: Tue Mar 30, 2010 2:05 pm Post subject: |
|
|
Thaidog wrote: | For everybody who wants a 32bit patch:
wget http://www.linuxdna.com/dna-2.6.33-intel32-1.patch
Remember to use the correct source command when compiling:
ex:
source /opt/intel/Compiler/11.1/069/bin/iccvars.sh ia32
instead of:
source /opt/intel/Compiler/11.1/069/bin/iccvars.sh intel64 |
patching file include/linux/compiler-gcc4.h
patch: **** malformed patch at line 531: diff -urN stable//include/linux/compiler-intel.h linux-2.6-zen/include/linux/compiler-intel.h
errors.
thanks. _________________ this is a strange strange world. |
|
Back to top |
|
|
Thaidog Veteran
Joined: 19 May 2004 Posts: 1053
|
Posted: Wed Mar 31, 2010 2:59 am Post subject: |
|
|
tranquilcool wrote: | Thaidog wrote: | For everybody who wants a 32bit patch:
wget http://www.linuxdna.com/dna-2.6.33-intel32-1.patch
Remember to use the correct source command when compiling:
ex:
source /opt/intel/Compiler/11.1/069/bin/iccvars.sh ia32
instead of:
source /opt/intel/Compiler/11.1/069/bin/iccvars.sh intel64 |
patching file include/linux/compiler-gcc4.h
patch: **** malformed patch at line 531: diff -urN stable//include/linux/compiler-intel.h linux-2.6-zen/include/linux/compiler-intel.h
errors.
thanks. |
add these lines to the bottom of the patch and reapply the patch:
Code: |
diff -urN stable//include/linux/compiler-gcc4.h linux-2.6-zen/include/linux/compiler-gcc4.h
--- stable//include/linux/compiler-gcc4.h 2010-03-27 04:01:34.000000000 +0100
+++ linux-2.6-zen/include/linux/compiler-gcc4.h 2010-03-31 02:39:03.000000000 +0200
@@ -52,9 +52,6 @@
|
and take out:
Code: |
#endif
-#if __GNUC_MINOR__ > 0
-#define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
-#endif
#if __GNUC_MINOR__ >= 4
#define __compiletime_warning(message) __attribute__((warning(message)))
#define __compiletime_error(message) __attribute__((error(message)))
|
_________________ Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds |
|
Back to top |
|
|
tranquilcool Veteran
Joined: 25 Mar 2005 Posts: 1245
|
Posted: Wed Mar 31, 2010 6:17 am Post subject: |
|
|
Thaidog wrote: | tranquilcool wrote: | Thaidog wrote: | For everybody who wants a 32bit patch:
wget http://www.linuxdna.com/dna-2.6.33-intel32-1.patch
Remember to use the correct source command when compiling:
ex:
source /opt/intel/Compiler/11.1/069/bin/iccvars.sh ia32
instead of:
source /opt/intel/Compiler/11.1/069/bin/iccvars.sh intel64 |
patching file include/linux/compiler-gcc4.h
patch: **** malformed patch at line 531: diff -urN stable//include/linux/compiler-intel.h linux-2.6-zen/include/linux/compiler-intel.h
errors.
thanks. |
add these lines to the bottom of the patch and reapply the patch:
Code: |
diff -urN stable//include/linux/compiler-gcc4.h linux-2.6-zen/include/linux/compiler-gcc4.h
--- stable//include/linux/compiler-gcc4.h 2010-03-27 04:01:34.000000000 +0100
+++ linux-2.6-zen/include/linux/compiler-gcc4.h 2010-03-31 02:39:03.000000000 +0200
@@ -52,9 +52,6 @@
|
and take out:
Code: |
#endif
-#if __GNUC_MINOR__ > 0
-#define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
-#endif
#if __GNUC_MINOR__ >= 4
#define __compiletime_warning(message) __attribute__((warning(message)))
#define __compiletime_error(message) __attribute__((error(message)))
|
|
done but same error. ant the first code is already present. _________________ this is a strange strange world. |
|
Back to top |
|
|
tranquilcool Veteran
Joined: 25 Mar 2005 Posts: 1245
|
Posted: Wed Mar 31, 2010 6:35 am Post subject: |
|
|
i removed the compiler-intel.h section and edited by hand then patch applied but
make AR=xiar LD=xild && make AR=xiar LD=xild modules_install
hangs here forever;
CC arch/x86/kernel/cpu/powerflags.o
CC arch/x86/kernel/cpu/common.o
EDIT: disabled fstack-protector and it compiled.
so far it works but btrfs crashes.
i have tried the suggestions in the pages to no avail. _________________ this is a strange strange world. |
|
Back to top |
|
|
Thaidog Veteran
Joined: 19 May 2004 Posts: 1053
|
Posted: Fri Apr 02, 2010 1:54 am Post subject: |
|
|
The 32bit patch has now been updated for more performance and fixes:
wget http://www.linuxdna.com/dna-2.6.33-intel32-1.patch _________________ Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds |
|
Back to top |
|
|
tranquilcool Veteran
Joined: 25 Mar 2005 Posts: 1245
|
Posted: Fri Apr 02, 2010 8:53 am Post subject: |
|
|
with latest patch no way to get nvidia-drivers to compile. (32bit) _________________ this is a strange strange world. |
|
Back to top |
|
|
Thaidog Veteran
Joined: 19 May 2004 Posts: 1053
|
Posted: Fri Apr 02, 2010 9:31 am Post subject: |
|
|
tranquilcool wrote: | with latest patch no way to get nvidia-drivers to compile. (32bit) |
I submitted this to Chi. Hopefully he will have an easy fix. _________________ Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds |
|
Back to top |
|
|
tranquilcool Veteran
Joined: 25 Mar 2005 Posts: 1245
|
Posted: Fri Apr 02, 2010 9:42 am Post subject: |
|
|
Thaidog wrote: | tranquilcool wrote: | with latest patch no way to get nvidia-drivers to compile. (32bit) |
I submitted this to Chi. Hopefully he will have an easy fix. |
thanks. _________________ this is a strange strange world. |
|
Back to top |
|
|
linuxrouter n00b
Joined: 03 Apr 2010 Posts: 3
|
Posted: Sat Apr 03, 2010 11:40 pm Post subject: |
|
|
tranquilcool wrote: | with latest patch no way to get nvidia-drivers to compile. (32bit) |
What I do to build the nvidia driver is I grab the latest one from nvidia.com and then I extract it using the -x flag. I then go to the usr/src/nv directory and I build the nvidia.ko driver using icc. Here is part of my build script for the nvidia driver:
ROOT=/tmp/root.33 # Directory where I installed the kernel and modules
KROOT=/usr/src/linux-2.6.33.dna
NROOT=/usr/src/NVIDIA-Linux-x86_64-195.36.15-pkg2
cd $NROOT/usr/src/nv
make clean
make SYSSRC=$KROOT CC=icc module
mkdir -p $ROOT/lib/modules/$KERNEL/kernel/drivers/video
cp nvidia.ko $ROOT/lib/modules/$KERNEL/kernel/drivers/video
echo "kernel/drivers/video/nvidia.ko:" >> $ROOT/lib/modules/$KERNEL/modules.dep
This has been working fine for me with 64-bit dna-icc kernel but I have not had the chance yet to try it with 32-bit. |
|
Back to top |
|
|
tranquilcool Veteran
Joined: 25 Mar 2005 Posts: 1245
|
Posted: Sun Apr 04, 2010 12:08 am Post subject: |
|
|
linuxrouter wrote: | tranquilcool wrote: | with latest patch no way to get nvidia-drivers to compile. (32bit) |
What I do to build the nvidia driver is I grab the latest one from nvidia.com and then I extract it using the -x flag. I then go to the usr/src/nv directory and I build the nvidia.ko driver using icc. Here is part of my build script for the nvidia driver:
ROOT=/tmp/root.33 # Directory where I installed the kernel and modules
KROOT=/usr/src/linux-2.6.33.dna
NROOT=/usr/src/NVIDIA-Linux-x86_64-195.36.15-pkg2
cd $NROOT/usr/src/nv
make clean
make SYSSRC=$KROOT CC=icc module
mkdir -p $ROOT/lib/modules/$KERNEL/kernel/drivers/video
cp nvidia.ko $ROOT/lib/modules/$KERNEL/kernel/drivers/video
echo "kernel/drivers/video/nvidia.ko:" >> $ROOT/lib/modules/$KERNEL/modules.dep
This has been working fine for me with 64-bit dna-icc kernel but I have not had the chance yet to try it with 32-bit. |
i don't understand. let me have your script. thanks.
EDIT: tried but it doesn't load. _________________ this is a strange strange world. |
|
Back to top |
|
|
linuxrouter n00b
Joined: 03 Apr 2010 Posts: 3
|
Posted: Sun Apr 04, 2010 11:27 pm Post subject: |
|
|
tranquilcool wrote: |
i don't understand. let me have your script. thanks.
EDIT: tried but it doesn't load. |
The script is an example. I posted the part that is relevant to building the nvidia driver. The full script may not run in Gentoo since I build on a different distribution (Slackware64). You will need to grab the nvidia drivers, extract them and then you can go to the source directory for the nvidia driver and build the driver. Here is an example of the steps I take when building the nvidia driver manually:
To extract the driver:
./NVIDIA-Linux-x86_64-195.36.15-pkg2 -x
cd NVIDIA-Linux-x86_64-195.36.15-pkg2/usr/src/nv
To build the driver:
make SYSSRC=/usr/src/linux CC=icc module
Replace /usr/src/linux with the kernel source directory that you built the icc kernel with.
Then to install:
make install
If all goes well, you can load the module and start X:
depmod -a
modprobe nvidia
startx |
|
Back to top |
|
|
tranquilcool Veteran
Joined: 25 Mar 2005 Posts: 1245
|
Posted: Mon Apr 05, 2010 7:54 am Post subject: |
|
|
linuxrouter wrote: | tranquilcool wrote: |
i don't understand. let me have your script. thanks.
EDIT: tried but it doesn't load. |
The script is an example. I posted the part that is relevant to building the nvidia driver. The full script may not run in Gentoo since I build on a different distribution (Slackware64). You will need to grab the nvidia drivers, extract them and then you can go to the source directory for the nvidia driver and build the driver. Here is an example of the steps I take when building the nvidia driver manually:
To extract the driver:
./NVIDIA-Linux-x86_64-195.36.15-pkg2 -x
cd NVIDIA-Linux-x86_64-195.36.15-pkg2/usr/src/nv
To build the driver:
make SYSSRC=/usr/src/linux CC=icc module
Replace /usr/src/linux with the kernel source directory that you built the icc kernel with.
Then to install:
make install
If all goes well, you can load the module and start X:
depmod -a
modprobe nvidia
startx |
doesn't work for me. driver installs but crashes. _________________ this is a strange strange world. |
|
Back to top |
|
|
Gentoo4Work n00b
Joined: 20 Mar 2010 Posts: 39
|
Posted: Mon Apr 05, 2010 9:15 am Post subject: |
|
|
No ebuild, but I haven't run into a single snag installing it from source, whether on OpenSolaris, Ubuntu, or Gentoo. Referring to SunStudio12U1 here. There is an RPM available for download, if you'd rather use that. |
|
Back to top |
|
|
|