Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
nvidia-drivers-313.18 failed with kernel 3.8.0
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
DawgG
l33t
l33t


Joined: 17 Sep 2003
Posts: 866

PostPosted: Sun Feb 24, 2013 2:03 pm    Post subject: Reply with quote

GREAT, THX for the patch & ebuild. Worked for me, too. Of course, i'm completely ~unstable :wink:
_________________
DUMM KLICKT GUT.
Back to top
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1816

PostPosted: Mon Feb 25, 2013 2:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
Gusar
Advocate
Advocate


Joined: 09 Apr 2005
Posts: 2665
Location: Slovenia

PostPosted: Mon Feb 25, 2013 3:08 pm    Post subject: Reply with quote

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
View user's profile Send private message
dewhite
Tux's lil' helper
Tux's lil' helper


Joined: 16 Mar 2003
Posts: 106
Location: Houston, Texas, USA

PostPosted: Tue Feb 26, 2013 5:21 pm    Post subject: Reply with quote

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.18). 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
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1816

PostPosted: Wed Feb 27, 2013 1:50 am    Post subject: Reply with quote

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
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1816

PostPosted: Wed Feb 27, 2013 1:59 am    Post subject: Reply with quote

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
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1816

PostPosted: Wed Feb 27, 2013 3:47 pm    Post subject: Reply with quote

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
View user's profile Send private message
kbzium
Tux's lil' helper
Tux's lil' helper


Joined: 31 Jul 2012
Posts: 146

PostPosted: Wed Feb 27, 2013 4:02 pm    Post subject: Reply with quote

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
View user's profile Send private message
Xywa
Veteran
Veteran


Joined: 23 Jul 2005
Posts: 1631
Location: /mnt/Gentoo/Europe

PostPosted: Fri Mar 01, 2013 9:12 am    Post subject: Reply with quote

Have any one tried 3.8.1?
Back to top
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 2571
Location: Here and Away Again

PostPosted: Fri Mar 01, 2013 1:40 pm    Post subject: ><)))°€ Reply with quote

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
View user's profile Send private message
Xywa
Veteran
Veteran


Joined: 23 Jul 2005
Posts: 1631
Location: /mnt/Gentoo/Europe

PostPosted: Fri Mar 01, 2013 5:15 pm    Post subject: Reply with quote

3.8.1 do not wok either for me :(
Back to top
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 2571
Location: Here and Away Again

PostPosted: Fri Mar 01, 2013 7:00 pm    Post subject: Reply with quote

Xywa wrote:
3.8.1 do not wok either for me :(

You mean to say it doesn't work at all, even with them patches?
_________________
Kindest of regardses.
Back to top
View user's profile Send private message
Xywa
Veteran
Veteran


Joined: 23 Jul 2005
Posts: 1631
Location: /mnt/Gentoo/Europe

PostPosted: Fri Mar 01, 2013 7:38 pm    Post subject: Reply with quote

Chiitoo wrote:
Xywa wrote:
3.8.1 do not wok either for me :(

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
View user's profile Send private message
gerard27
Advocate
Advocate


Joined: 04 Jan 2004
Posts: 2377
Location: Netherlands

PostPosted: Fri Mar 01, 2013 7:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 2571
Location: Here and Away Again

PostPosted: Fri Mar 01, 2013 7:54 pm    Post subject: Reply with quote

Xywa wrote:
Chiitoo wrote:
Xywa wrote:
3.8.1 do not wok either for me :(

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
View user's profile Send private message
artbody
Guru
Guru


Joined: 15 Sep 2006
Posts: 489
Location: LB

PostPosted: Wed Mar 06, 2013 7:25 pm    Post subject: Reply with quote

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
View user's profile Send private message
cybermc75
n00b
n00b


Joined: 19 Apr 2007
Posts: 74

PostPosted: Mon Mar 11, 2013 10:21 am    Post subject: Reply with quote

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
View user's profile Send private message
dman777
Veteran
Veteran


Joined: 10 Jan 2007
Posts: 1004

PostPosted: Wed Mar 13, 2013 8:11 pm    Post subject: Reply with quote

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
View user's profile Send private message
the.root
Apprentice
Apprentice


Joined: 29 Apr 2007
Posts: 210
Location: -84.706059324915, -62.4843750666430

PostPosted: Wed Mar 13, 2013 10:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
dman777
Veteran
Veteran


Joined: 10 Jan 2007
Posts: 1004

PostPosted: Thu Mar 14, 2013 12:30 pm    Post subject: Reply with quote

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
View user's profile Send private message
Gusar
Advocate
Advocate


Joined: 09 Apr 2005
Posts: 2665
Location: Slovenia

PostPosted: Thu Mar 14, 2013 1:45 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum