Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
New NVIDIA Drivers -beta- release: 177.67
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
Diskmaster
n00b
n00b


Joined: 13 Jul 2008
Posts: 23

PostPosted: Tue Aug 19, 2008 12:15 pm    Post subject: New NVIDIA Drivers -beta- release: 177.67 Reply with quote

Use zen-overlay from now on, I can commit there as of now.

It appears to compile fine against 2.6.27-rc3 with no extra patches (not counting the usual gentoo stuff.)

Haven't tested it on my box yet, cheers. :O

Edit: Dur, forgot the changelog
Code:

# Added support for the following new GPUs:

    * GeForce GTX 260
    * GeForce GTX 280

# Improved support for RENDER masks, as well as RENDER repeating modes and transformations, for video memory pixmaps.
# Added accelerated support for RENDER convolution filters for video memory pixmaps on GeForce 8, 9 and GTX GPUs.
# Added an 'AllowSHMPixmaps' X configuration option, which can be used to prevent applications from using shared memory pixmaps; the latter may cause some optimizations in the NVIDIA X driver to be disabled.
# Added support for DisplayPort display devices (including 30-bit devices).
# Resolved various stability problems on GeForce 8, 9 and GTX GPUs, as well as some GeForce 6 and 7 PCI-E GPUs.
# Fixed a bug that resulted in GPU errors when changing the TwinView display configuration while using Compiz.
# Further improved the error recovery paths taken in case of GPU command stream corruption.
# Removed an old workaround that caused incorrect fake Xinerama information to be reported after enabling a second TwinView display.
# Fixed the subpicture component order reported by the NVIDIA X driver's XvMC implementation.
# Fixed a problem that could result in IRQs being disabled on some multi-GPU SMP configurations.
# Worked around cache flushing problems (on some Linux kernels) that caused corruption and stability problems.
# Added experimental support for PCI-E MSI.
# Improved compatibility with recent Linux 2.6 kernels.


Edit: I suppose it would be smarter to add -beta- to the topic since that's what it is, not an actual release.
_________________
Linux polished-diamond 3.0.9-00003-g3c676b1 x86_64 Intel(R) Core(TM) i7 CPU 950 @ 3.07GHz GenuineIntel GNU/Linux
Something witty goes here.


Last edited by Diskmaster on Sat Aug 23, 2008 4:31 am; edited 2 times in total
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6108
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Tue Aug 19, 2008 2:06 pm    Post subject: Re: New NVIDIA Drivers release: 177.67 Reply with quote

Diskmaster wrote:
http://repo.or.cz/w/gentoo-diskmaster-overlay.git (and also in zen-overlay once cheater catches wind of this topic.)

It appears to compile fine against 2.6.27-rc3 with no extra patches (not counting the usual gentoo stuff.)

Haven't tested it on my box yet, cheers. :O

Edit: Dur, forgot the changelog
Code:

# Added support for the following new GPUs:

    * GeForce GTX 260
    * GeForce GTX 280

# Improved support for RENDER masks, as well as RENDER repeating modes and transformations, for video memory pixmaps.
# Added accelerated support for RENDER convolution filters for video memory pixmaps on GeForce 8, 9 and GTX GPUs.
# Added an 'AllowSHMPixmaps' X configuration option, which can be used to prevent applications from using shared memory pixmaps; the latter may cause some optimizations in the NVIDIA X driver to be disabled.
# Added support for DisplayPort display devices (including 30-bit devices).
# Resolved various stability problems on GeForce 8, 9 and GTX GPUs, as well as some GeForce 6 and 7 PCI-E GPUs.
# Fixed a bug that resulted in GPU errors when changing the TwinView display configuration while using Compiz.
# Further improved the error recovery paths taken in case of GPU command stream corruption.
# Removed an old workaround that caused incorrect fake Xinerama information to be reported after enabling a second TwinView display.
# Fixed the subpicture component order reported by the NVIDIA X driver's XvMC implementation.
# Fixed a problem that could result in IRQs being disabled on some multi-GPU SMP configurations.
# Worked around cache flushing problems (on some Linux kernels) that caused corruption and stability problems.
# Added experimental support for PCI-E MSI.
# Improved compatibility with recent Linux 2.6 kernels.


nice :D

now lets see if that fixes any of the 2D / 3D slowness :P

update:

Quote:
According to phoronix the slow 2d problem is not fixed completely yet, so I guess we wait for the official release announcement which might clarify things.

Fuchs


Quote:
The changelog sounds promising.
Updateing the custom ebuild right now.

Works like a charm in firefox, unfortunately I recently uninstalled KDE 4.1 (and this is gentoo, re-installing it will take a while) so I have to wait for benchmarks of other guys.

However, thanks nvidia

Fuchs


definitely sounds promising :roll:
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D


Last edited by kernelOfTruth on Tue Aug 19, 2008 3:40 pm; edited 1 time in total
Back to top
View user's profile Send private message
Strayer
Tux's lil' helper
Tux's lil' helper


Joined: 11 Nov 2003
Posts: 75
Location: Germany

PostPosted: Tue Aug 19, 2008 3:02 pm    Post subject: Re: New NVIDIA Drivers release: 177.67 Reply with quote

Diskmaster wrote:
http://repo.or.cz/w/gentoo-diskmaster-overlay.git (and also in zen-overlay once cheater catches wind of this topic.)


Fails for me.. can't extract the sources because it can't find the pkg0 file.
Changed -pkg0 to -pkg1 in line 90 to fix that error.

Now, after it compiled successful, I get this:
Code:
i686-pc-linux-gnu-gcc -Wp,-MD,/var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv/.nvidia.mod.o.d  -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.3.1/include -D__KERNEL__ -Iinclude -Iinclude2 -I/usr/src/kernel-mm/include -I/usr/src/kernel-mm/arch/x86/include -include include/linux/autoconf.h  -I/var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -O2 -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=native -mtune=native -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -I/usr/src/kernel-mm/include/asm-x86/mach-default -Iinclude/asm-x86/mach-default -fno-stack-protector -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign  -I/var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -MD -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"177.67\" -UDEBUG -U_DEBUG -DNDEBUG  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nvidia.mod)"  -D"KBUILD_MODNAME=KBUILD_STR(nvidia)" -DMODULE -c -o /var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv/nvidia.mod.o /var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv/nvidia.mod.c
  ld -r   --build-id -o /var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv/nvidia.ko /var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv/nvidia.o /var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv/nvidia.mod.o
NVIDIA: left KBUILD.
>>> Source compiled.
>>> Test phase [not enabled]: x11-drivers/nvidia-drivers-177.67

>>> Install nvidia-drivers-177.67 into /var/tmp/portage/x11-drivers/nvidia-drivers-177.67/image/ category x11-drivers
 * Installing nvidia module
 *
 * ERROR: x11-drivers/nvidia-drivers-177.67 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_install
 *             environment, line 3640:  Called die
 * The specific snippet of code:
 *           [ -f "${FILESDIR}/nvidia" ] || die "nvidia missing in FILESDIR";
 *  The die message:
 *   nvidia missing in FILESDIR
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-177.67/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-177.67/temp/environment'.
 * This ebuild is from an overlay: '/usr/local/portage/fixed_ebuilds/'


I don't really understand this part in the ebuild - any help?
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6108
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Tue Aug 19, 2008 3:09 pm    Post subject: Reply with quote

this one's the 177.13-r2 from the zen-overlay slightly modified (commented out the NV-177.13-new.patch line)

Quote:
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-177.13.ebuild,v 1.1 2008/06/19 12:13:03 chainsaw Exp $

inherit eutils multilib versionator linux-mod flag-o-matic nvidia-driver

X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"

DESCRIPTION="NVIDIA X11 driver and GLX libraries"
HOMEPAGE="http://www.nvidia.com/"
SRC_URI="x86? ( http://us.download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}-pkg0.run )
amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}-pkg2.run )
x86-fbsd? ( http://us.download.nvidia.com/freebsd/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"

LICENSE="NVIDIA"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
IUSE="acpi custom-cflags gtk multilib kernel_linux"
RESTRICT="strip"
EMULTILIB_PKG="true"

COMMON="x11-base/xorg-server
multilib? ( app-emulation/emul-linux-x86-xlibs )
kernel_FreeBSD? ( !media-video/nvidia-freebsd )
!app-emulation/emul-linux-x86-nvidia
!x11-drivers/nvidia-legacy-drivers"
DEPEND="${COMMON}
kernel_linux? ( virtual/linux-sources )
app-admin/eselect-opengl"
RDEPEND="${COMMON}
kernel_linux? ( virtual/modutils )
media-libs/mesa
acpi? ( sys-power/acpid )"
PDEPEND="gtk? ( media-video/nvidia-settings )"

QA_TEXTRELS_x86="usr/lib/libXvMCNVIDIA.so.${PV}
usr/lib/opengl/nvidia/no-tls/libnvidia-tls.so.${PV}
usr/lib/opengl/nvidia/tls/libnvidia-tls.so.${PV}
usr/lib/opengl/nvidia/lib/libGL.so.${PV}
usr/lib/opengl/nvidia/lib/libnvidia-cfg.so.${PV}
usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
usr/lib/opengl/nvidia/extensions/libglx.so
usr/lib/xorg/modules/drivers/nvidia_drv.so
usr/lib/libcuda.so.${PV}"

QA_TEXTRELS_x86_fbsd="boot/modules/nvidia.ko
usr/lib/opengl/nvidia/lib/libGL.so.1
usr/lib/opengl/nvidia/lib/libGLcore.so.1
usr/lib/opengl/nvidia/lib/libnvidia-cfg.so.1
usr/lib/opengl/nvidia/no-tls/libnvidia-tls.so.1
usr/lib/opengl/nvidia/extensions/libglx.so
usr/lib/xorg/modules/drivers/nvidia_drv.so"

QA_TEXTRELS_amd64="usr/lib32/opengl/nvidia/tls/libnvidia-tls.so.${PV}
usr/lib32/opengl/nvidia/no-tls/libnvidia-tls.so.${PV}
usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
usr/lib32/opengl/nvidia/lib/libnvidia-cfg.so.${PV}
usr/lib32/libcuda.so.${PV}"

QA_EXECSTACK_x86="usr/lib/opengl/nvidia/lib/libGL.so.${PV}
usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
usr/lib/opengl/nvidia/extensions/libglx.so"

QA_EXECSTACK_amd64="usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
usr/lib64/xorg/modules/drivers/nvidia_drv.so
usr/lib64/libXvMCNVIDIA.so.${PV}
usr/lib64/opengl/nvidia/tls/libnvidia-tls.so.${PV}
usr/lib64/opengl/nvidia/no-tls/libnvidia-tls.so.${PV}
usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
usr/lib64/opengl/nvidia/lib/libnvidia-cfg.so.${PV}
usr/lib64/opengl/nvidia/extensions/libglx.so
usr/bin/nvidia-xconfig"

QA_WX_LOAD_x86="usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
usr/lib/opengl/nvidia/lib/libGL.so.${PV}
usr/lib/opengl/nvidia/extensions/libglx.so"

QA_WX_LOAD_amd64="usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
usr/lib64/opengl/nvidia/extensions/libglx.so"

if use x86; then
PKG_V="-pkg0"
NV_PACKAGE="${X86_NV_PACKAGE}"
elif use amd64; then
PKG_V="-pkg2"
NV_PACKAGE="${AMD64_NV_PACKAGE}"
elif use x86-fbsd; then
PKG_V=""
NV_PACKAGE="${X86_FBSD_NV_PACKAGE}"
fi

S="${WORKDIR}/${NV_PACKAGE}${PKG_V}"

mtrr_check() {
ebegin "Checking for MTRR support"
linux_chkconfig_present MTRR
eend $?

if [[ $? -ne 0 ]] ; then
eerror "Please enable MTRR support in your kernel config, found at:"
eerror
eerror " Processor type and features"
eerror " [*] MTRR (Memory Type Range Register) support"
eerror
eerror "and recompile your kernel ..."
die "MTRR support not detected!"
fi
}

paravirt_check() {
ebegin "Checking for Paravirtualized guest support"
linux_chkconfig_present PARAVIRT

if [[ $? -eq 0 ]]; then
eerror "Please disable PARAVIRT in your kernel config, found at:"
eerror
eerror " Processor type and features"
eerror " [*] Paravirtualized guest support"
eerror
eerror "or XEN support"
eerror
eerror "and recompile your kernel .."
die "PARAVIRT support detected!"
fi
}

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 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; then
linux-mod_pkg_setup
MODULE_NAMES="nvidia(video:${S}/usr/src/nv)"
BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
SYSOUT=${KV_OUT_DIR} HOST_CC=$(tc-getBUILD_CC)"
mtrr_check
paravirt_check
fi

# On BSD userland it wants real make command
use userland_BSD && MAKE="$(get_bmake)"

export _POSIX2_VERSION="199209"

# 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

# set variables to where files are in the package structure
if use kernel_FreeBSD; then
NV_DOC="${S}/doc"
NV_EXEC="${S}/obj"
NV_SRC="${S}/src"
elif use kernel_linux; then
NV_DOC="${S}/usr/share/doc"
NV_EXEC="${S}/usr/bin"
NV_SRC="${S}/usr/src/nv"
else
die "Could not determine proper NVIDIA package"
fi
}

src_unpack() {
if use kernel_linux && kernel_is lt 2 6 7; then
echo
ewarn "Your kernel version is ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
ewarn "This is not officially supported for ${P}. It is likely you"
ewarn "will not be able to compile or use the kernel module."
ewarn "It is recommended that you upgrade your kernel to a version >= 2.6.7"
echo
ewarn "DO NOT file bug reports for kernel versions less than 2.6.7 as they will be ignored."
fi

if ! use x86-fbsd; then
cd "${WORKDIR}"
bash "${DISTDIR}"/${NV_PACKAGE}${PKG_V}.run --extract-only
else
unpack ${A}
fi

# Patches go below here, add brief description
cd "${S}"
use x86-fbsd && cd doc

# Use the correct defines to make gtkglext build work
epatch "${FILESDIR}"/NVIDIA_glx-defines.patch
# Use some more sensible gl headers and make way for new glext.h
epatch "${FILESDIR}"/NVIDIA_glx-glheader.patch

# allow on board sensors to work with lm_sensors
if use kernel_linux; then
epatch "${FILESDIR}"/NVIDIA_i2c-hwmon.patch
fi

if use kernel_linux; then
# Quiet down warnings the user does not need to see
sed -i \
-e 's:-Wpointer-arith::g' \
-e 's:-Wsign-compare::g' \
"${NV_SRC}"/Makefile.kbuild

# If you set this then it's your own fault when stuff breaks :)
use custom-cflags && sed -i "s:-O:${CFLAGS}:" Makefile.*

# If greater than 2.6.5 use M= instead of SUBDIR=
convert_to_m "${NV_SRC}"/Makefile.kbuild
fi
cd ${S}/usr/src/nv
# epatch "${FILESDIR}"/NV-177.13-new.patch
}

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 x86-fbsd; 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
}

src_install() {
local MLTEST=$(type dyn_unpack)

cd "${S}"

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" ] || 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
doins "${WORKDIR}"/nvidia || die
elif use x86-fbsd; then
insinto /boot/modules
doins "${WORKDIR}/${NV_PACKAGE}/src/nvidia.kld" || die

exeinto /boot/modules
doexe "${WORKDIR}/${NV_PACKAGE}/src/nvidia.ko" || die
fi

if has_multilib_profile ; then
local OABI=${ABI}
for ABI in $(get_install_abis) ; do
src_install-libs
done
ABI=${OABI}
unset OABI
elif use amd64 ; then
src_install-libs lib32 $(get_multilibdir)
src_install-libs lib $(get_libdir)

rm -rf "${D}"/usr/$(get_multilibdir)/opengl/nvidia/include
rm -rf "${D}"/usr/$(get_multilibdir)/opengl/nvidia/extensions
else
src_install-libs
fi

is_final_abi || return 0

# Documentation
dodoc "${NV_DOC}"/{XF86Config.sample,Copyrights}
dohtml "${NV_DOC}"/html/*
if use x86-fbsd; then
dodoc "${NV_DOC}/README"
else
# Docs
newdoc "${NV_DOC}/README.txt" README
dodoc "${NV_DOC}/NVIDIA_Changelog"
fi

# Helper Apps
dobin ${NV_EXEC}/nvidia-xconfig || die
dobin ${NV_EXEC}/nvidia-bug-report.sh || die
}

# Install nvidia library:
# the first parameter is the place where to install it
# the second parameter is the base name of the library
# the third parameter is the provided soversion
donvidia() {
dodir $1
exeinto $1

libname=$(basename $2)

# libnvidia-cfg.so is no longer supplied in lib32; step over it gracefully
if [ -e $2.$3 ] ; then
doexe $2.$3
dosym ${libname}.$3 $1/${libname}
[[ $3 != "1" ]] && dosym ${libname}.$3 $1/${libname}.1
fi
}

src_install-libs() {
local pkglibdir=lib
local inslibdir=$(get_libdir)

if [[ ${#} -eq 2 ]] ; then
pkglibdir=${1}
inslibdir=${2}
elif has_multilib_profile && [[ ${ABI} == "x86" ]] ; then
pkglibdir=lib32
fi

local usrpkglibdir=usr/${pkglibdir}
local libdir=usr/X11R6/${pkglibdir}
local drvdir=${libdir}/modules/drivers
local extdir=${libdir}/modules/extensions
local incdir=usr/include/GL
local sover=${PV}
local NV_ROOT="/usr/${inslibdir}/opengl/nvidia"
local NO_TLS_ROOT="${NV_ROOT}/no-tls"
local TLS_ROOT="${NV_ROOT}/tls"
local X11_LIB_DIR="/usr/${inslibdir}/xorg"

if use x86-fbsd; then
# on FreeBSD everything is on obj/
pkglibdir=obj
usrpkglibdir=obj
x11pkglibdir=obj
drvdir=obj
extdir=obj

# don't ask me why the headers are there.. glxext.h is missing
incdir=doc

# on FreeBSD it has just .1 suffix
sover=1
fi

# The GLX libraries
donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGL.so ${sover}
donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGLcore.so ${sover}

donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libnvidia-cfg.so ${sover}

dodir ${NO_TLS_ROOT}
donvidia ${NO_TLS_ROOT} ${usrpkglibdir}/libnvidia-tls.so ${sover}

if ! use x86-fbsd; then
donvidia ${TLS_ROOT} ${usrpkglibdir}/tls/libnvidia-tls.so ${sover}
fi

if want_tls ; then
dosym ../tls/libnvidia-tls.so ${NV_ROOT}/lib
dosym ../tls/libnvidia-tls.so.1 ${NV_ROOT}/lib
dosym ../tls/libnvidia-tls.so.${sover} ${NV_ROOT}/lib
else
dosym ../no-tls/libnvidia-tls.so ${NV_ROOT}/lib
dosym ../no-tls/libnvidia-tls.so.1 ${NV_ROOT}/lib
dosym ../no-tls/libnvidia-tls.so.${sover} ${NV_ROOT}/lib
fi

if ! use x86-fbsd; then
# Install the .la file for libtool, to prevent e.g. bug #176423
[ -f "${FILESDIR}/libGL.la-r2" ] || die "libGL.la-r2 missing in FILESDIR"
local ver1=$(get_version_component_range 1)
local ver2=$(get_version_component_range 2)
local ver3=$(get_version_component_range 3)
sed -e "s:\${PV}:${PV}:" \
-e "s:\${ver1}:${ver1}:" \
-e "s:\${ver2}:${ver2}:" \
-e "s:\${ver3}:${ver3}:" \
-e "s:\${libdir}:${inslibdir}:" \
"${FILESDIR}"/libGL.la-r2 > "${D}"/${NV_ROOT}/lib/libGL.la
fi

exeinto ${X11_LIB_DIR}/modules/drivers

[[ -f ${drvdir}/nvidia_drv.so ]] && \
doexe ${drvdir}/nvidia_drv.so

insinto /usr/${inslibdir}
[[ -f ${libdir}/libXvMCNVIDIA.a ]] && \
doins ${libdir}/libXvMCNVIDIA.a
exeinto /usr/${inslibdir}
# fix Bug 131315
[[ -f ${libdir}/libXvMCNVIDIA.so.${PV} ]] && \
doexe ${libdir}/libXvMCNVIDIA.so.${PV} && \
dosym libXvMCNVIDIA.so.${PV} \
/usr/${inslibdir}/libXvMCNVIDIA.so

exeinto ${NV_ROOT}/extensions
[[ -f ${libdir}/modules/libnvidia-wfb.so.${sover} ]] && \
newexe ${libdir}/modules/libnvidia-wfb.so.${sover} libwfb.so
[[ -f ${extdir}/libglx.so.${sover} ]] && \
newexe ${extdir}/libglx.so.${sover} libglx.so

# Includes
insinto ${NV_ROOT}/include
doins ${incdir}/*.h

#cuda
if [[ -f usr/include/cuda/cuda.h ]]; then
dodir /usr/include/cuda
insinto /usr/include/cuda
doins usr/include/cuda/*.h

if [[ -f usr/${pkglibdir}/libcuda.so.${PV} ]]; then
dolib.so usr/${pkglibdir}/libcuda.so.${PV}
dosym libcuda.so.${PV} /usr/${inslibdir}/libcuda.so.1
dosym libcuda.so.1 /usr/${inslibdir}/libcuda.so
fi
fi
}

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() {
if use kernel_linux; then
linux-mod_pkg_postinst
fi

# Switch to the nvidia implementation
eselect opengl set --use-old nvidia

echo
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 most modprobe -r nvidia before starting it back up"
elog

elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\""
elog
elog "nVidia has requested that any bug reports submitted have the"
elog "output of /usr/bin/nvidia-bug-report.sh included."
elog
elog "To work with compiz, you must enable the AddARGBGLXVisuals option."
elog
elog "If you are having resolution problems, try disabling DynamicTwinView."
echo
}

want_tls() {
# For uclibc or anything non glibc, return false
has_version sys-libs/glibc || return 1

# Old versions of glibc were lt/no-tls only
has_version '<sys-libs/glibc-2.3.2' && return 1

if use x86 ; then
case ${CHOST/-*} in
i486|i586|i686) ;;
*) return 1 ;;
esac
fi

# If we've got nptl, we've got tls
built_with_use --missing true sys-libs/glibc nptl && return 0

# 2.3.5 turned off tls for linuxthreads glibc on i486 and i586
if use x86 && has_version '>=sys-libs/glibc-2.3.5' ; then
case ${CHOST/-*} in
i486|i586) return 1 ;;
esac
fi

# These versions built linuxthreads version to support tls, too
has_version '>=sys-libs/glibc-2.3.4.20040619-r2' && return 0

return 1
}

pkg_postrm() {
if use kernel_linux; then
linux-mod_pkg_postrm
fi
eselect opengl set --use-old xorg-x11
}

_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
Strayer
Tux's lil' helper
Tux's lil' helper


Joined: 11 Nov 2003
Posts: 75
Location: Germany

PostPosted: Tue Aug 19, 2008 3:18 pm    Post subject: Reply with quote

Still getting "nvidia missing in FILESDIR" :/

Edit: Maybe I should copy all relevant files to the files-dir of the ebuild x_X
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6108
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Tue Aug 19, 2008 10:31 pm    Post subject: Reply with quote

with this driver nvidia takes a step in the right direction most of my problems are fixed :)

feedback / discussion thread over at nvnews.net
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
Diskmaster
n00b
n00b


Joined: 13 Jul 2008
Posts: 23

PostPosted: Wed Aug 20, 2008 5:59 am    Post subject: Re: New NVIDIA Drivers release: 177.67 Reply with quote

Strayer wrote:
Diskmaster wrote:
http://repo.or.cz/w/gentoo-diskmaster-overlay.git (and also in zen-overlay once cheater catches wind of this topic.)


Fails for me.. can't extract the sources because it can't find the pkg0 file.
Changed -pkg0 to -pkg1 in line 90 to fix that error.

Now, after it compiled successful, I get this:
Code:
i686-pc-linux-gnu-gcc -Wp,-MD,/var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv/.nvidia.mod.o.d  -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.3.1/include -D__KERNEL__ -Iinclude -Iinclude2 -I/usr/src/kernel-mm/include -I/usr/src/kernel-mm/arch/x86/include -include include/linux/autoconf.h  -I/var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -O2 -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=native -mtune=native -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -I/usr/src/kernel-mm/include/asm-x86/mach-default -Iinclude/asm-x86/mach-default -fno-stack-protector -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign  -I/var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -MD -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"177.67\" -UDEBUG -U_DEBUG -DNDEBUG  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nvidia.mod)"  -D"KBUILD_MODNAME=KBUILD_STR(nvidia)" -DMODULE -c -o /var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv/nvidia.mod.o /var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv/nvidia.mod.c
  ld -r   --build-id -o /var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv/nvidia.ko /var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv/nvidia.o /var/tmp/portage/x11-drivers/nvidia-drivers-177.67/work/NVIDIA-Linux-x86-177.67-pkg1/usr/src/nv/nvidia.mod.o
NVIDIA: left KBUILD.
>>> Source compiled.
>>> Test phase [not enabled]: x11-drivers/nvidia-drivers-177.67

>>> Install nvidia-drivers-177.67 into /var/tmp/portage/x11-drivers/nvidia-drivers-177.67/image/ category x11-drivers
 * Installing nvidia module
 *
 * ERROR: x11-drivers/nvidia-drivers-177.67 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_install
 *             environment, line 3640:  Called die
 * The specific snippet of code:
 *           [ -f "${FILESDIR}/nvidia" ] || die "nvidia missing in FILESDIR";
 *  The die message:
 *   nvidia missing in FILESDIR
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-177.67/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-177.67/temp/environment'.
 * This ebuild is from an overlay: '/usr/local/portage/fixed_ebuilds/'


I don't really understand this part in the ebuild - any help?


You probably forgot to copy files/* when "fixing" my ebuild. Don't worry though, I'll have this fixed as of the next sync against mine or zen-overlay.
_________________
Linux polished-diamond 3.0.9-00003-g3c676b1 x86_64 Intel(R) Core(TM) i7 CPU 950 @ 3.07GHz GenuineIntel GNU/Linux
Something witty goes here.
Back to top
View user's profile Send private message
Strayer
Tux's lil' helper
Tux's lil' helper


Joined: 11 Nov 2003
Posts: 75
Location: Germany

PostPosted: Wed Aug 20, 2008 8:09 am    Post subject: Reply with quote

Yep, I forgot those files. But I still had to change the pkg0/1 stuff, but it was in the wrong line... line 90 was correct, I had to change the SRC_URI to pkg0 for x86.
Back to top
View user's profile Send private message
flocchini
Veteran
Veteran


Joined: 17 May 2003
Posts: 1124
Location: Milano, Italy

PostPosted: Wed Aug 20, 2008 10:49 am    Post subject: Reply with quote

sorry but reading you adventures I cant' understand if already exists an appropriate ebuild for this driver release or I have to wait for it ;)
_________________
~~ Per amore della rosa si sopportano le spine... ~~
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6108
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Wed Aug 20, 2008 11:04 am    Post subject: Reply with quote

flocchini wrote:
sorry but reading you adventures I cant' understand if already exists an appropriate ebuild for this driver release or I have to wait for it ;)


see https://forums.gentoo.org/viewtopic-p-5188457.html#5188457
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
Estariol
n00b
n00b


Joined: 28 Feb 2008
Posts: 10
Location: Kyiv/Moscow

PostPosted: Wed Aug 20, 2008 7:22 pm    Post subject: Reply with quote

Looks like kde 4.1 runs much better. Not perfectly, but better.
Back to top
View user's profile Send private message
PaulBredbury
Watchman
Watchman


Joined: 14 Jul 2005
Posts: 7310

PostPosted: Fri Aug 22, 2008 12:23 am    Post subject: Reply with quote

177.68 has been released, after the problems with 177.67
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6108
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Fri Aug 22, 2008 12:54 am    Post subject: Reply with quote

PaulBredbury wrote:
177.68 has been released, after the problems with 177.67


yeah, runs much better

kde 4.1.6* is great :D
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
Bloodsurfer
Guru
Guru


Joined: 07 Dec 2005
Posts: 361
Location: Wolfstein, Germany (Rhineland-Palatinate)

PostPosted: Fri Aug 22, 2008 10:56 am    Post subject: Reply with quote

well, .67 is in portage now, but .68 not yet - does it work when you simply rename the ebuild or do we have to wait?
_________________
SiberianSniper: my girlfriend's name ends with .c
Clete2: Uber geek! W00t! I'd rather have it end in .cpp... <insert name>.cpp
Dralnu: ...why not <name>.o? Then she's ready for linking...
SiberianSniper: or <name>.ko, so she's ready for insertion?
Back to top
View user's profile Send private message
Bloodsurfer
Guru
Guru


Joined: 07 Dec 2005
Posts: 361
Location: Wolfstein, Germany (Rhineland-Palatinate)

PostPosted: Fri Aug 22, 2008 11:07 am    Post subject: Reply with quote

Forget my question. Renaming is not enough, you also have to remove the references to x86 and FreeBSD from the ebuild (well, that goes for amd64 users like me of course), and download the source package by hand - but then it installs well and seems to work.
_________________
SiberianSniper: my girlfriend's name ends with .c
Clete2: Uber geek! W00t! I'd rather have it end in .cpp... <insert name>.cpp
Dralnu: ...why not <name>.o? Then she's ready for linking...
SiberianSniper: or <name>.ko, so she's ready for insertion?
Back to top
View user's profile Send private message
Diskmaster
n00b
n00b


Joined: 13 Jul 2008
Posts: 23

PostPosted: Fri Aug 22, 2008 11:24 am    Post subject: Reply with quote

Bloodsurfer wrote:
Forget my question. Renaming is not enough, you also have to remove the references to x86 and FreeBSD from the ebuild (well, that goes for amd64 users like me of course), and download the source package by hand - but then it installs well and seems to work.


Pushed the new ebuild to disk-overlay. Bug cheater to sync per usual.
_________________
Linux polished-diamond 3.0.9-00003-g3c676b1 x86_64 Intel(R) Core(TM) i7 CPU 950 @ 3.07GHz GenuineIntel GNU/Linux
Something witty goes here.
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2870
Location: Bay Area, CA

PostPosted: Sat Aug 23, 2008 4:28 am    Post subject: Reply with quote

Diskmaster wrote:
Bloodsurfer wrote:
Forget my question. Renaming is not enough, you also have to remove the references to x86 and FreeBSD from the ebuild (well, that goes for amd64 users like me of course), and download the source package by hand - but then it installs well and seems to work.


Pushed the new ebuild to disk-overlay. Bug cheater to sync per usual.
which overlay?
Back to top
View user's profile Send private message
Diskmaster
n00b
n00b


Joined: 13 Jul 2008
Posts: 23

PostPosted: Sat Aug 23, 2008 4:30 am    Post subject: Reply with quote

devsk wrote:
Diskmaster wrote:
Bloodsurfer wrote:
Forget my question. Renaming is not enough, you also have to remove the references to x86 and FreeBSD from the ebuild (well, that goes for amd64 users like me of course), and download the source package by hand - but then it installs well and seems to work.


Pushed the new ebuild to disk-overlay. Bug cheater to sync per usual.
which overlay?


zen-overlay now.
_________________
Linux polished-diamond 3.0.9-00003-g3c676b1 x86_64 Intel(R) Core(TM) i7 CPU 950 @ 3.07GHz GenuineIntel GNU/Linux
Something witty goes here.
Back to top
View user's profile Send private message
ricmm
Retired Dev
Retired Dev


Joined: 04 Jul 2008
Posts: 2

PostPosted: Wed Aug 27, 2008 5:27 am    Post subject: Reply with quote

my bad for the delay, didnt see the release, up there now !
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2870
Location: Bay Area, CA

PostPosted: Fri Aug 29, 2008 1:01 am    Post subject: Reply with quote

ricmm wrote:
my bad for the delay, didnt see the release, up there now !
And the 177.70 is here....:-) anybody got an ebuild for us kde 4 folks, suffering from stutters and corruptions and what not.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Page 1 of 1

 
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