View previous topic :: View next topic |
Author |
Message |
DawgG l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/141141986446bd852be0016.jpg)
Joined: 17 Sep 2003 Posts: 874
|
Posted: Sun Feb 24, 2013 2:03 pm Post subject: |
|
|
GREAT, THX for the patch & ebuild. Worked for me, too. Of course, i'm completely ~unstable :wink: _________________ DUMM KLICKT GUT. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
tld Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 09 Dec 2003 Posts: 1852
|
Posted: Mon Feb 25, 2013 2:58 pm Post subject: |
|
|
Gusar wrote: | Olis wrote: | how do I know whether this a Geforce 5, 6, 7, 8 or up? |
Wikipedia knows everything: http://en.wikipedia.org/wiki/GeForce_series#Generations. Well, probably not everything , but that list is very nice.
Olis wrote: | I also found bug 447566 but it seems at the moment there's only an official patch for the latest unstable version of the driver (313.18 ). |
Look more closely, there's patches for 304.64 too in that bug. Or you use the links to the Arch patches I gave above. But since your 530 is "up", you can use 313.18 |
My card requires the 304 drivers. I've applied the patch in that bug for 3.7.9 (nvidia-drivers-304.64-kernel-3.7.patch). I can see it's applying properly:
Code: | * Converting /kernel/Makefile.kbuild to use M= instead of SUBDIRS= ... [ ok ]
* Applying user patches from /etc/portage/patches//x11-drivers/nvidia-drivers-304.64 ...
* nvidia-drivers-304.64-kernel-3.7.patch ... [ ok ]
* Done with patching
|
...but it's still failing with the same "Unable to determine the target kernel version" error. I have an older x86 system. Is that patch possibly not for that??
EDIT: Comments in that bug seem to imply that even with that patch I need to symlink the version.h file. Is that correct? I'm a little confused as to exactly what I need to symlink there.
EDIT: OK...I needed the patch plus the following:
Code: | ln -s /usr/src/linux/include/generated/uapi/linux/version.h /usr/src/linux/include/linux/version.h |
Tom
Last edited by tld on Mon Feb 25, 2013 3:26 pm; edited 2 times in total |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Gusar Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
Joined: 09 Apr 2005 Posts: 2665 Location: Slovenia
|
Posted: Mon Feb 25, 2013 3:08 pm Post subject: |
|
|
Have you tried the Arch patches? There's two of them. The link to the patches is in one of my previous posts in this thread. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
dewhite Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
Joined: 16 Mar 2003 Posts: 106 Location: Houston, Texas, USA
|
Posted: Tue Feb 26, 2013 5:21 pm Post subject: |
|
|
Olis wrote: | Gusar wrote: | Hardware compatibility is very simple: 173.xx for Geforce FX 5, 304.xx for Geforce 6/7, newer versions for Geforce 8 and up. |
I was also hit by the "Unable to determine the target kernel version" problem when I tried to update the kernel from 3.6.11 to the now stable 3.7.9.
My system is using an NVIDIA GeForce GT 530 (HP OEM, 14 month old), how do I know whether this a Geforce 5, 6, 7, 8 or up? I'm currently using nvidia-drivers-304.64, higher versions are marked as unstable here that's why I'm not using them.
I also found bug 447566 but it seems at the moment there's only an official patch for the latest unstable version of the driver (313.1 . Just wondering that 3.7.9 was moved to the stable tree knowing that probably a lot of people using NVIDIA graphic cards will run into problems. Or is my 14 month old HP system already too old for current kernels?
For now I've switched back to kernel 3.6.11 and masked kernels 3.7.0 and above.
Regards,
Oliver |
Just wanted to chime in that I am running a newly deprecated 'legacy' 7800GT, and installed kernel 3.7.9 stable today - which makes my flavor of this issue: getting 304.64 to build with 3.7.9. Reading the bug report provided the information that eventually got it working for me. Specifically comment #43 was the solution to my specific problem. Also, keep in mind that it's important that the conftest.patch be applied before the kernel-3.7.patch, so best to make sure they are named as such when copied or moved into your /etc/portage/patches/x11-drivers/nvidia-drivers/ folder. I also added:
Code: | >=x11-drivers/nvidia-drivers-305.0.0 |
to /etc/portage/packages.mask to keep higher versions of the driver which are not compatible with my hardware from installing.
Thanks all!
p.s. This is a dumb problem to have - likely to agitate myriad newer users; but a good introduction to how useful patches can be... _________________ Work FS: R7-5700g | 2x16Gb DDR4 | 500Gb NVMe LUKS root | 2x 8TB RAID1
Home FS: R7-1700x | 2x8Gb DDR4 | 275Gb M.2 SATA LUKS root | 2x 14TB RAID1 |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
tld Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 09 Dec 2003 Posts: 1852
|
Posted: Wed Feb 27, 2013 1:50 am Post subject: |
|
|
dewhite wrote: |
Just wanted to chime in that I am running a newly deprecated 'legacy' 7800GT, and installed kernel 3.7.9 stable today - which makes my flavor of this issue: getting 304.64 to build with 3.7.9. Reading the bug report provided the information that eventually got it working for me. Specifically comment #43 was the solution to my specific problem. Also, keep in mind that it's important that the conftest.patch be applied before the kernel-3.7.patch, so best to make sure they are named as such when copied or moved into your /etc/portage/patches/x11-drivers/nvidia-drivers/ folder. |
Thanks! Just to confirm, when I added that conftest.patch in addition to the nvidia-drivers-304.64-kernel-3.7.patch I no longer needed that symlink mentioned above to compile 304.64.
Tom |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
tld Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 09 Dec 2003 Posts: 1852
|
Posted: Wed Feb 27, 2013 1:59 am Post subject: |
|
|
Just so I don't go nuts when it comes time to upgrade my MythTV front end...that machine has a newer card and will use the 313.18 driver.
What patch (or patches) will I need for that with the 3.7.9 kernel? I'm not seeing anything that quite clears that up.
Tom |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
tld Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 09 Dec 2003 Posts: 1852
|
Posted: Wed Feb 27, 2013 3:47 pm Post subject: |
|
|
tld wrote: | What patch (or patches) will I need for that with the 3.7.9 kernel? I'm not seeing anything that quite clears that up.
|
For anyone interested: To install 313.18 under kernel 3.7.9 I just needed to apply the nvidia-drivers-313.18-linux-3.8.patch patch, as the version checking patch is already in the current portage version of nvidia-drivers-313.18.
Also note that I added a patch to that bug for the current stable x11-drivers/nvidia-drivers-310.32 driver that works with kernel 3.7.9. I decided I didn't want to use 313.18 yet unless it was necessary.
Tom |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
kbzium Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
Joined: 31 Jul 2012 Posts: 146
|
Posted: Wed Feb 27, 2013 4:02 pm Post subject: |
|
|
And if all of these fail, you can always put
"x11-drivers/nvidia-drivers ~amd64" into your package.keywords file.
It helped me... no pathing needed. Works just fine! |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Xywa Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/2041645254fc5e2aec1d7d.jpg)
Joined: 23 Jul 2005 Posts: 1631 Location: /mnt/Gentoo/Europe
|
Posted: Fri Mar 01, 2013 9:12 am Post subject: |
|
|
Have any one tried 3.8.1? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Chiitoo Administrator
![Administrator Administrator](/images/ranks/rank-admin.gif)
![](images/avatars/1285545553672543c006511.jpg)
Joined: 28 Feb 2010 Posts: 2754 Location: Here and Away Again
|
Posted: Fri Mar 01, 2013 1:40 pm Post subject: ><)))°€ |
|
|
Xywa wrote: | Have any one tried 3.8.1? |
Just compiled and installed a while ago.
I sort of skipped 3.8.0, so I didn't get to be hit with the version blah, but I still needed to add the
Code: | CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include/uapi" |
that was mentioned earlier. _________________ Kindest of regardses. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Xywa Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/2041645254fc5e2aec1d7d.jpg)
Joined: 23 Jul 2005 Posts: 1631 Location: /mnt/Gentoo/Europe
|
Posted: Fri Mar 01, 2013 5:15 pm Post subject: |
|
|
3.8.1 do not wok either for me ![Sad :(](images/smiles/icon_sad.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Chiitoo Administrator
![Administrator Administrator](/images/ranks/rank-admin.gif)
![](images/avatars/1285545553672543c006511.jpg)
Joined: 28 Feb 2010 Posts: 2754 Location: Here and Away Again
|
Posted: Fri Mar 01, 2013 7:00 pm Post subject: |
|
|
Xywa wrote: | 3.8.1 do not wok either for me ![Sad :(](images/smiles/icon_sad.gif) |
You mean to say it doesn't work at all, even with them patches? _________________ Kindest of regardses. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Xywa Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/2041645254fc5e2aec1d7d.jpg)
Joined: 23 Jul 2005 Posts: 1631 Location: /mnt/Gentoo/Europe
|
Posted: Fri Mar 01, 2013 7:38 pm Post subject: |
|
|
Chiitoo wrote: | Xywa wrote: | 3.8.1 do not wok either for me ![Sad :(](images/smiles/icon_sad.gif) |
You mean to say it doesn't work at all, even with them patches? |
I mean this one 3.8.1 form portage without patches. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
gerard27 Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
Joined: 04 Jan 2004 Posts: 2377 Location: Netherlands
|
Posted: Fri Mar 01, 2013 7:41 pm Post subject: |
|
|
Works fine for me with patches.
Gerard.
Edit: And I did not rename the patch. _________________ To install Gentoo I use sysrescuecd.Based on Gentoo,has firefox to browse Gentoo docs and mc to browse (and edit) files.
The same disk can be used for 32 and 64 bit installs.
You can follow the Handbook verbatim.
http://www.sysresccd.org/Download |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Chiitoo Administrator
![Administrator Administrator](/images/ranks/rank-admin.gif)
![](images/avatars/1285545553672543c006511.jpg)
Joined: 28 Feb 2010 Posts: 2754 Location: Here and Away Again
|
Posted: Fri Mar 01, 2013 7:54 pm Post subject: |
|
|
Xywa wrote: | Chiitoo wrote: | Xywa wrote: | 3.8.1 do not wok either for me ![Sad :(](images/smiles/icon_sad.gif) |
You mean to say it doesn't work at all, even with them patches? |
I mean this one 3.8.1 form portage without patches. |
Yeah, at least for the 313.18 it still requires the
Code: | Applying nvidia-drivers-313.18-builddir-config.patch ...
Applying nvidia-drivers-313.18-linux-3.7+.patch ...
Applying kernel-blubb.patch ... |
patches (from which the 'blubb' one would be pretty much the same as to what the.root posted here).
The 3.7+ comes with Portage already though, which I was referring to with 'not getting to be hit with the version thingy'. _________________ Kindest of regardses. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
artbody Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/1317839984581fbbb4102e8.gif)
Joined: 15 Sep 2006 Posts: 494 Location: LB
|
Posted: Wed Mar 06, 2013 7:25 pm Post subject: |
|
|
Thx for the ideas
304.xx for Geforce 6/7
my.keyword
Quote: | >=x11-drivers/nvidia-drivers-305.0.0 ~amd64 |
make.conf
Code: | CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include/uapi" |
+
Code: | ln -s /usr/src/linux/include/generated/uapi/linux/version.h /usr/src/linux/include/linux/version.h |
then
Code: | emerge -uDN nvidia-drivers |
brings in the newest version (march 4th 2013 ) nvidia-drivers-304.84
works fine without pathing anything _________________ Never give up
WM : E16 the true enlightenment
achim |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
cybermc75 n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 19 Apr 2007 Posts: 74
|
Posted: Mon Mar 11, 2013 10:21 am Post subject: |
|
|
nvidia-drivers-304.84 on GeForce G72 (7300SE / 7200 GS) works with kernel 3.7.10 without any patch.
As announced here https://devtalk.nvidia.com/default/topic/533430, this version is compatible with recent kernel versions.
Kernel 3.5.7 with nvidia-drivers-304.64 was my previously running config.
Sunday, during my weekly update, my previous working configuration was broken by portage cause by a wrong version of nvidia-drivers update (even if a message has warned me about it). I'm not sure why before I was able to update the system without any package.mask set.
Some observations:
As stated here https://wiki.gentoo.org/wiki/NVidia/nvidia-drivers I had to mask >305 versions of the drivers.
/etc/portage/package.mask
Code: | >=x11-drivers/nvidia-drivers-305.0.0 |
This setting is enough to take the old kernel working again (running emerge nvidia-drivers again, take 304.64 back).
To bring 304.84 in with portage I had to :
/etc/portage/package.accept_keywords
Code: | x11-drivers/nvidia-drivers ~x86 |
(I have an x86 32bit architecture)
Otherwise portage compiles 304.64 which is stable but not working (without patches) with new kernels.
304.84 can be set as stable for me.
Any comment appreciated. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
dman777 Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 10 Jan 2007 Posts: 1004
|
Posted: Wed Mar 13, 2013 8:11 pm Post subject: |
|
|
Hmm.... I see the title of the roots.patch is nvidia-drivers-313.18-linux-3.8+.patch. Will this patch work with the 3.7.10 kernel? I need to compile x11-drivers/nvidia-drivers-304.64 with it. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
the.root Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/1608860688463440cd7d20b.jpg)
Joined: 29 Apr 2007 Posts: 210 Location: -84.706059324915, -62.4843750666430
|
Posted: Wed Mar 13, 2013 10:49 pm Post subject: |
|
|
dman777 wrote: | Hmm.... I see the title of the roots.patch is nvidia-drivers-313.18-linux-3.8+.patch. Will this patch work with the 3.7.10 kernel? I need to compile x11-drivers/nvidia-drivers-304.64 with it. |
You'll want to check out the bug https://bugs.gentoo.org/show_bug.cgi?id=447566 to find the right patch. There's one for 304.64 & kernel-3.7 (https://bugs.gentoo.org/attachment.cgi?id=338262 - i think). _________________ Ps = (1.5 x 6 x .75) / {(4/3) (pi) [(31.039 x 10^15) (46.5 x 10^9)]^3}
Seems like a waste.. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
dman777 Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 10 Jan 2007 Posts: 1004
|
Posted: Thu Mar 14, 2013 12:30 pm Post subject: |
|
|
i am trying to add a patch so i can compile nvidia drivers with kernel 3.7.0. i placed epatch "${FILESDIR}"/${PN}-313.18-linux-3.7+.patch #447566" in the ebuild so it would look for the patch. but when i do a "ebuild nvidia-drivers-310.32.ebuild digest" i get an error. this is a new system build so not sure if the error is from python/portage or the ebuild itself.
Code: | calhost nvidia-drivers-310.32 # cat nvidia-drivers-310.32.ebuild
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-310.32.ebuild,v 1.7 2013/03/07 16:14:25 jer Exp $
EAPI=4
inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
portability toolchain-funcs unpacker user udev
X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
DESCRIPTION="NVIDIA X11 driver and GLX libraries"
HOMEPAGE="http://www.nvidia.com/"
SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
amd64-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
x86-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
LICENSE="GPL-2 NVIDIA"
SLOT="0"
KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd"
IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel +tools +X"
RESTRICT="bindist mirror strip"
EMULTILIB_PKG="true"
COMMON="app-admin/eselect-opencl
kernel_linux? ( >=sys-libs/glibc-2.6.1 )
multilib? ( app-emulation/emul-linux-x86-xlibs )
X? (
<x11-base/xorg-server-1.14.99
>=app-admin/eselect-opengl-1.0.9
)"
DEPEND="${COMMON}
kernel_linux? (
virtual/linux-sources
)"
RDEPEND="${COMMON}
acpi? ( sys-power/acpid )
tools? (
dev-libs/atk
dev-libs/glib
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
x11-libs/libX11
x11-libs/libXext
x11-libs/pango[X]
|| ( x11-libs/pangox-compat <x11-libs/pango-1.31[X] )
)
X? ( >=x11-libs/libvdpau-0.3-r1 )"
REQUIRED_USE="tools? ( X )"
QA_PREBUILT="opt/* usr/lib*"
S=${WORKDIR}/
pkg_pretend() {
if use amd64 && has_multilib_profile && \
[ "${DEFAULT_ABI}" != "amd64" ]; then
eerror "This ebuild doesn't currently support changing your default ABI"
die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
fi
if use kernel_linux && kernel_is ge 3 7 ; then
ewarn "Gentoo supports kernels which are supported by NVIDIA"
ewarn "which are limited to the following kernels:"
ewarn "<sys-kernel/gentoo-sources-3.7"
ewarn "<sys-kernel/vanilla-sources-3.7"
ewarn ""
ewarn "You are free to utilize epatch_user to provide whatever"
ewarn "support you feel is appropriate, but will not receive"
ewarn "support as a result of those changes."
fi
# Since Nvidia ships 3 different series of drivers, we need to give the user
# some kind of guidance as to what version they should install. This tries
# to point the user in the right direction but can't be perfect. check
# nvidia-driver.eclass
nvidia-driver-check-warning
# Kernel features/options to check for
CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
use x86 && CONFIG_CHECK+=" ~HIGHMEM"
# Now do the above checks
use kernel_linux && check_extra_config
}
pkg_setup() {
# try to turn off distcc and ccache for people that have a problem with it
export DISTCC_DISABLE=1
export CCACHE_DISABLE=1
if use kernel_linux; then
linux-mod_pkg_setup
MODULE_NAMES="nvidia(video:${S}/kernel)"
BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
# linux-mod_src_compile calls set_arch_to_kernel, which
# sets the ARCH to x86 but NVIDIA's wrapping Makefile
# expects x86_64 or i386 and then converts it to x86
# later on in the build process
BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
fi
# set variables to where files are in the package structure
if use kernel_FreeBSD; then
use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
NV_DOC="${S}/doc"
NV_OBJ="${S}/obj"
NV_SRC="${S}/src"
NV_MAN="${S}/x11/man"
NV_X11="${S}/obj"
NV_SOVER=1
elif use kernel_linux; then
NV_DOC="${S}"
NV_OBJ="${S}"
NV_SRC="${S}/kernel"
NV_MAN="${S}"
NV_X11="${S}"
NV_SOVER=${PV}
else
die "Could not determine proper NVIDIA package"
fi
}
src_unpack() {
if ! use kernel_FreeBSD; then
cd "${S}"
unpack_makeself
else
unpack ${A}
fi
}
src_prepare() {
# Please add a brief description for every added patch
if use kernel_linux; then
if kernel_is lt 2 6 9 ; then
eerror "You must build this against 2.6.9 or higher kernels."
fi
# If greater than 2.6.5 use M= instead of SUBDIR=
convert_to_m "${NV_SRC}"/Makefile.kbuild
fi
if use pax_kernel; then
ewarn "Using PAX patches is not supported. You will be asked to"
ewarn "use a standard kernel should you have issues. Should you"
ewarn "need support with these patches, contact the PaX team."
epatch "${FILESDIR}"/nvidia-drivers-pax-const.patch
epatch "${FILESDIR}"/nvidia-drivers-pax-usercopy.patch
fi
epatch "${FILESDIR}"/${PN}-313.18-builddir-config.patch
epatch "${FILESDIR}"/${PN}-313.18-linux-3.7+.patch #447566
epatch "${FILESDIR}"/${PN}-313.18-linux-3.8+.patch
# Allow user patches so they can support RC kernels and whatever else
epatch_user
}
src_compile() {
# This is already the default on Linux, as there's no toplevel Makefile, but
# on FreeBSD there's one and triggers the kernel module build, as we install
# it by itself, pass this.
cd "${NV_SRC}"
if use kernel_FreeBSD; then
MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
elif use kernel_linux; then
linux-mod_src_compile
fi
}
# Install nvidia library:
# the first parameter is the library to install
# the second parameter is the provided soversion
# the third parameter is the target directory if its not /usr/lib
donvidia() {
# Full path to library minus SOVER
MY_LIB="$1"
# SOVER to use
MY_SOVER="$2"
# Where to install
MY_DEST="$3"
if [[ -z "${MY_DEST}" ]]; then
MY_DEST="/usr/$(get_libdir)"
action="dolib.so"
else
exeinto ${MY_DEST}
action="doexe"
fi
# Get just the library name
libname=$(basename $1)
# Install the library with the correct SOVER
${action} ${MY_LIB}.${MY_SOVER} || \
die "failed to install ${libname}"
# If SOVER wasn't 1, then we need to create a .1 symlink
if [[ "${MY_SOVER}" != "1" ]]; then
dosym ${libname}.${MY_SOVER} \
${MY_DEST}/${libname}.1 || \
die "failed to create ${libname} symlink"
fi
# Always create the symlink from the raw lib to the .1
dosym ${libname}.1 \
${MY_DEST}/${libname} || \
die "failed to create ${libname} symlink"
}
src_install() {
if use kernel_linux; then
linux-mod_src_install
VIDEOGROUP="$(egetent group video | cut -d ':' -f 3)"
if [ -z "$VIDEOGROUP" ]; then
eerror "Failed to determine the video group gid."
die "Failed to determine the video group gid."
fi
# Add the aliases
[ -f "${FILESDIR}/nvidia-169.07" ] || die "nvidia missing in FILESDIR"
sed -e 's:PACKAGE:'${PF}':g' \
-e 's:VIDEOGID:'${VIDEOGROUP}':' "${FILESDIR}"/nvidia-169.07 > \
"${WORKDIR}"/nvidia
insinto /etc/modprobe.d
newins "${WORKDIR}"/nvidia nvidia.conf || die
# Ensures that our device nodes are created when not using X
exeinto "$(udev_get_udevdir)"
doexe "${FILESDIR}"/nvidia-udev.sh
udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
elif use kernel_FreeBSD; then
if use x86-fbsd; then
insinto /boot/modules
doins "${S}/src/nvidia.kld" || die
fi
exeinto /boot/modules
doexe "${S}/src/nvidia.ko" || die
fi
# NVIDIA kernel <-> userspace driver config lib
donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
# NVIDIA video encode/decode <-> CUDA
if use kernel_linux; then
donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER}
fi
if use X; then
# Xorg DDX driver
insinto /usr/$(get_libdir)/xorg/modules/drivers
doins ${NV_X11}/nvidia_drv.so || die "failed to install nvidia_drv.so"
# Xorg GLX driver
donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
/usr/$(get_libdir)/opengl/nvidia/extensions
fi
# OpenCL ICD for NVIDIA
if use kernel_linux; then
insinto /etc/OpenCL/vendors
doins ${NV_OBJ}/nvidia.icd
fi
# Documentation
dohtml ${NV_DOC}/html/*
if use kernel_FreeBSD; then
dodoc "${NV_DOC}/README"
use X && doman "${NV_MAN}/nvidia-xconfig.1"
use tools && doman "${NV_MAN}/nvidia-settings.1"
else
# Docs
newdoc "${NV_DOC}/README.txt" README
dodoc "${NV_DOC}/NVIDIA_Changelog"
doman "${NV_MAN}/nvidia-smi.1.gz"
use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
use tools && doman "${NV_MAN}/nvidia-settings.1.gz"
doman "${NV_MAN}/nvidia-cuda-proxy-control.1.gz"
fi
# Helper Apps
exeinto /opt/bin/
if use X; then
doexe ${NV_OBJ}/nvidia-xconfig || die
fi
if use kernel_linux ; then
doexe ${NV_OBJ}/nvidia-debugdump || die
doexe ${NV_OBJ}/nvidia-cuda-proxy-control || die
doexe ${NV_OBJ}/nvidia-cuda-proxy-server || die
doexe ${NV_OBJ}/nvidia-smi || die
newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
fi
if use tools; then
doexe ${NV_OBJ}/nvidia-settings || die
fi
exeinto /usr/bin/
doexe ${NV_OBJ}/nvidia-bug-report.sh || die
# Desktop entries for nvidia-settings
if use tools ; then
# There is no icon in the FreeBSD tarball.
use kernel_FreeBSD || newicon ${NV_OBJ}/nvidia-settings.png nvidia-drivers-settings.png
domenu "${FILESDIR}"/nvidia-drivers-settings.desktop
exeinto /etc/X11/xinit/xinitrc.d
doexe "${FILESDIR}"/95-nvidia-settings
fi
#doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
if has_multilib_profile && use multilib ; then
local OABI=${ABI}
for ABI in $(get_install_abis) ; do
src_install-libs
done
ABI=${OABI}
unset OABI
else
src_install-libs
fi
is_final_abi || die "failed to iterate through all ABIs"
}
src_install-libs() {
local inslibdir=$(get_libdir)
local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
local libdir=${NV_OBJ}
if use kernel_linux && has_multilib_profile && \
[[ ${ABI} == "x86" ]] ; then
libdir=${NV_OBJ}/32
fi
if use X; then
# The GLX libraries
donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT}
donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER}
if use kernel_FreeBSD; then
donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER}
else
donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER}
fi
# VDPAU
donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER}
fi
# NVIDIA monitoring library
if use kernel_linux ; then
donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER}
fi
# CUDA & OpenCL
if use kernel_linux; then
donvidia ${libdir}/libcuda.so ${NV_SOVER}
donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER}
donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT}
donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER}
fi
}
pkg_preinst() {
use kernel_linux && linux-mod_pkg_preinst
# Clean the dynamic libGL stuff's home to ensure
# we dont have stale libs floating around
if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
fi
# Make sure we nuke the old nvidia-glx's env.d file
if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
rm -f "${ROOT}"/etc/env.d/09nvidia
fi
}
pkg_postinst() {
use kernel_linux && linux-mod_pkg_postinst
# Switch to the nvidia implementation
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
"${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
elog "You must be in the video group to use the NVIDIA device"
elog "For more info, read the docs at"
elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
elog
elog "This ebuild installs a kernel module and X driver. Both must"
elog "match explicitly in their version. This means, if you restart"
elog "X, you must modprobe -r nvidia before starting it back up"
elog
elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\""
elog
elog "To use the NVIDIA CUDA/OpenCL, run \"eselect opencl set nvidia\""
elog
elog "NVIDIA has requested that any bug reports submitted have the"
elog "output of /opt/bin/nvidia-bug-report.sh included."
elog
if ! use X; then
elog "You have elected to not install the X.org driver. Along with"
elog "this the OpenGL libraries and VDPAU libraries were not"
elog "installed. Additionally, once the driver is loaded your card"
elog "and fan will run at max speed which may not be desirable."
elog "Use the 'nvidia-smi' init script to have your card and fan"
elog "speed scale appropriately."
elog
fi
if ! use tools; then
elog "USE=tools controls whether the nvidia-settings application"
elog "is installed. If you would like to use it, enable that"
elog "flag and re-emerge this ebuild. Optionally you can install"
elog "media-video/nvidia-settings"
elog
fi
}
pkg_prerm() {
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
}
pkg_postrm() {
use kernel_linux && linux-mod_pkg_postrm
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
}
localhost nvidia-drivers-310.32 # ebuild nvidia-drivers-310.32.ebuild digest
Traceback (most recent call last):
File "/usr/bin/ebuild", line 335, in <module>
vartree=portage.db[portage.root]['vartree'])
File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__
return result(*args, **kwargs)
File "/usr/lib64/portage/pym/portage/package/ebuild/doebuild.py", line 981, in doebuild
return not digestgen(mysettings=mysettings, myportdb=mydbapi)
File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__
return result(*args, **kwargs)
File "/usr/lib64/portage/pym/portage/package/ebuild/digestgen.py", line 45, in digestgen
for cpv in fetchlist_dict:
File "/usr/lib64/portage/pym/portage/dbapi/porttree.py", line 1123, in __iter__
return iter(self.portdb.cp_list(self.cp, mytree=self.mytree))
TypeError: cp_list() got an unexpected keyword argument 'mytree'
localhost nvidia-drivers-310.32 # |
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Gusar Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
Joined: 09 Apr 2005 Posts: 2665 Location: Slovenia
|
Posted: Thu Mar 14, 2013 1:45 pm Post subject: |
|
|
Instead of playing around with patches, why don't you just use 313.26 (or 304.84 if you need the legacy release)? They're in portage even, ~arch currently, but it's a self-contained package, it's no problem unmasking just this one package. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|