View previous topic :: View next topic |
Author |
Message |
asturm Developer
Joined: 05 Apr 2007 Posts: 8935
|
Posted: Sat Nov 15, 2008 6:49 pm Post subject: |
|
|
platojones wrote: | It seems a lot of the bad performance I was attributing to KDE 4.1 was actually caused by the Nvidia driver. |
We told you all the time... |
|
Back to top |
|
|
platojones Veteran
Joined: 23 Oct 2002 Posts: 1602 Location: Just over the horizon
|
Posted: Sat Nov 15, 2008 6:57 pm Post subject: |
|
|
genstorm wrote: | platojones wrote: | It seems a lot of the bad performance I was attributing to KDE 4.1 was actually caused by the Nvidia driver. |
We told you all the time... |
Well, that was the first time I saw that...but, yes indeed, it is true . Thanks for the link to that kde article...looks like the Nvidia engineers listened and delivered the required fix. |
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
Posted: Sat Nov 15, 2008 7:04 pm Post subject: |
|
|
platojones wrote: | genstorm wrote: | platojones wrote: | It seems a lot of the bad performance I was attributing to KDE 4.1 was actually caused by the Nvidia driver. |
We told you all the time... |
Well, that was the first time I saw that...but, yes indeed, it is true . Thanks for the link to that kde article...looks like the Nvidia engineers listened and delivered the required fix. |
indeed, I can't even believe now that non-smooth scrolling in dolphin was caused by nvidia-drivers
at least the corruptions with awn, compiz and openoffice(-bin) are gone now so I can work with office-stuff and composited wm enabled at once
way to go nvidia ! _________________ 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 |
|
Back to top |
|
|
aliquid n00b
Joined: 14 Mar 2008 Posts: 37
|
Posted: Sat Nov 15, 2008 8:42 pm Post subject: |
|
|
Does anyone experience slowdown when using firefox with this driver? I'm running kde4 svn and using firefox for surfing, after 10 minutes of work system slows to crawl. After closing firefox everything becomes responsive again |
|
Back to top |
|
|
albright Advocate
Joined: 16 Nov 2003 Posts: 2588 Location: Near Toronto
|
Posted: Sun Nov 16, 2008 12:13 am Post subject: |
|
|
I don't know about a general system slowdown, but
firefox is *bad* - slow, jerky scrolling (with the strangely
named "smooth scrollling" off) ... This happens to me
in both 3.0.4 and the 3.1 beta ... _________________ .... there is nothing - absolutely nothing - half so much worth
doing as simply messing about with Linux ...
(apologies to Kenneth Graeme) |
|
Back to top |
|
|
Gabriel_Blake Guru
Joined: 16 Sep 2007 Posts: 362
|
Posted: Sun Nov 16, 2008 1:12 pm Post subject: |
|
|
How about an ebuild for this driver ?? Portage contains only 177 :/ How will portage react if I use the ".run" file provided by nvidia ?? |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8935
|
Posted: Sun Nov 16, 2008 1:19 pm Post subject: |
|
|
No need for that.
Code: |
mkdir -p /usr/local/portage/myoverlay/x11-drivers/nvidia-drivers
mkdir -p /usr/local/portage/myoverlay/profiles
echo "myoverlay" > /usr/local/portage/myoverlay/profiles/repo_name
echo "PORTDIR_OVERLAY=${PORTDIR_OVERLAY} /usr/local/portage/selfoverlay" >> /etc/make.conf
cp -R /usr/portage/x11-drivers/nvidia-drivers/files /usr/local/portage/myoverlay/x11-drivers/nvidia-drivers
cp /usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-177.80.ebuild /usr/local/portage/myoverlay/x11-drivers/nvidia-drivers/nvidia-drivers-180.06.ebuild
cd /usr/local/portage/myoverlay/x11-drivers/nvidia-drivers/
ebuild nvidia-drivers-180.06.ebuild digest
|
Creates your own overlay and uses the 177.80 ebuild for 180.06. |
|
Back to top |
|
|
piercey Apprentice
Joined: 28 Jan 2005 Posts: 182
|
Posted: Sun Nov 16, 2008 1:22 pm Post subject: |
|
|
The ebuild needs to be modified to install the vdpau headers however, otherwise you can't compile mplayer-vdpau for HD video playback. _________________ [ 2008.0 X86 E8400 @ 4.0Ghz ] |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8935
|
Posted: Sun Nov 16, 2008 1:24 pm Post subject: |
|
|
If you need that of course: https://bugs.gentoo.org/show_bug.cgi?id=246789
kernelOfTruth wrote: | disabling the GlyphCache should fix it:
Quote: | nvidia-settings -a GlyphCache=0 |
|
Btw thx, that helped. |
|
Back to top |
|
|
Voyageur Developer
Joined: 06 Mar 2005 Posts: 342 Location: Paris, France
|
Posted: Tue Nov 18, 2008 9:10 am Post subject: |
|
|
I've tweaked the nvidia-drivers ebuild to install vdpau files (include and libs), and tried their little script to get a patched mplayer. On ~arch, the following patch is needed for libx264 (thanks nvnews forum for it):
Code: | Index: libavcodec/libx264.c
===================================================================
--- libavcodec/libx264.c (révision 14529)
+++ libavcodec/libx264.c (copie de travail)
@@ -162,7 +162,7 @@
x4->params.i_bframe = avctx->max_b_frames;
x4->params.b_cabac = avctx->coder_type == FF_CODER_TYPE_AC;
- x4->params.b_bframe_adaptive = avctx->b_frame_strategy;
+ x4->params.i_bframe_adaptive = avctx->b_frame_strategy;
x4->params.i_bframe_bias = avctx->bframebias;
x4->params.b_bframe_pyramid = avctx->flags2 & CODEC_FLAG2_BPYRAMID;
avctx->has_b_frames= avctx->flags2 & CODEC_FLAG2_BPYRAMID ? 2 : !!avctx->max_b_frames;
@@ -227,8 +227,6 @@
x4->params.analyse.i_me_range = avctx->me_range;
x4->params.analyse.i_subpel_refine = avctx->me_subpel_quality;
- x4->params.analyse.b_bidir_me = avctx->bidir_refine > 0;
- x4->params.analyse.b_bframe_rdo = avctx->flags2 & CODEC_FLAG2_BRDO;
x4->params.analyse.b_mixed_references =
avctx->flags2 & CODEC_FLAG2_MIXED_REFS;
x4->params.analyse.b_chroma_me = avctx->me_cmp & FF_CMP_CHROMA;
@@ -253,7 +251,6 @@
x4->params.rc.f_ip_factor = 1/fabs(avctx->i_quant_factor);
x4->params.rc.f_pb_factor = avctx->b_quant_factor;
x4->params.analyse.i_chroma_qp_offset = avctx->chromaoffset;
- x4->params.rc.psz_rc_eq = avctx->rc_eq;
x4->params.analyse.b_psnr = avctx->flags & CODEC_FLAG_PSNR;
x4->params.i_log_level = X264_LOG_DEBUG;
|
After that, I tried it on some huge .m2ts H264 files I got of a friend's wedding, and all I can say is... WOW! With xv, mplayer tells me my system is too slow to play them... with "mplayer-vdpau -vo vdpau -vc ffh264vdpau" command line, mplayer barely appears in top!
Although there is occasional video corruption, no overlay, and potential to crush the GPU, this is impressive. Waiting for an official driver and up-to-date mplayer patches impatiently _________________ Routinely breaking NX, GNUstep, net-ftp, miscellaneous (llvm, filezilla, rdesktop, chromium, ...) packages |
|
Back to top |
|
|
Schwinni Apprentice
Joined: 02 Sep 2004 Posts: 214 Location: quadrant1.earth. germany.wuerzburg
|
|
Back to top |
|
|
michel7 Guru
Joined: 04 May 2006 Posts: 461 Location: localhost
|
Posted: Tue Nov 18, 2008 1:52 pm Post subject: |
|
|
@Voyageur
could you post your tweaked ebuild here pls? _________________ Software is like sex. It's better when it's free |
|
Back to top |
|
|
Schwinni Apprentice
Joined: 02 Sep 2004 Posts: 214 Location: quadrant1.earth. germany.wuerzburg
|
Posted: Tue Nov 18, 2008 2:42 pm Post subject: |
|
|
I hope you can live with the latest version - which is 180.08 - also:
ATTENTION: They are only for x86 and amd64!
x11-drivers/nvidia-drivers/nvidia-drivers-180.08.ebuild
Code: | # 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.80.ebuild,v 1.1 2008/10/13 00:35:38 ricmm 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}"
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}-pkg0.run )
amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}-pkg2.run )"
LICENSE="NVIDIA"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
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
}
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
#vdpau
if [[ -f usr/include/vdpau/vdpau.h ]]; then
dodir /usr/include/vdpau
insinto /usr/include/vdpau
doins usr/include/vdpau/*.h
for vdpau_lib in libvdpau_nvidia.so libvdpau.so libvdpau_trace.so; do
if [[ -f usr/${pkglibdir}/${vdpau_lib}.${PV} ]]; then
dolib.so usr/${pkglibdir}/${vdpau_lib}.${PV}
dosym ${vdpau_lib}.${PV} /usr/${inslibdir}/${vdpau_lib}.1
dosym ${vdpau_lib}.1 /usr/${inslibdir}/${vdpau_lib}
fi
done
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
}
|
media-video/nvidia-settings/nvidia-settings-180.08.ebuild
Code: | # Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-settings/nvidia-settings-177.80.ebuild,v 1.1 2008/10/13 00:40:38 ricmm Exp $
inherit eutils toolchain-funcs multilib
MY_P="${PN}-1.0"
DESCRIPTION="NVIDIA Linux X11 Settings Utility"
HOMEPAGE="http://www.nvidia.com/"
SRC_URI="ftp://download.nvidia.com/XFree86/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
IUSE=""
# xorg-server is used in the depends as nvidia-settings builds against some
# headers in /usr/include/xorg/.
# This also allows us to optimize out a lot of the other dependancies, as
# between gtk and xorg-server, almost all libraries and headers are accounted
# for.
DEPEND=">=x11-libs/gtk+-2
dev-util/pkgconfig
x11-base/xorg-server
x11-libs/libXt
x11-libs/libXv
x11-proto/xf86driproto
x11-proto/xf86vidmodeproto"
RDEPEND=">=x11-libs/gtk+-2
x11-base/xorg-server
x11-libs/libXt
x11-drivers/nvidia-drivers"
S="${WORKDIR}/${MY_P}"
src_compile() {
einfo "Building libXNVCtrl..."
cd "${S}/src/libXNVCtrl"
make clean || die "Cleaning old libXNVCtrl failed"
emake CDEBUGFLAGS="${CFLAGS}" CC="$(tc-getCC)" libXNVCtrl.a || die "Building libXNVCtrl failed!"
cd "${S}"
einfo "Building nVidia-Settings..."
emake CC="$(tc-getCC)" || die "Failed to build nvidia-settings"
}
src_install() {
# Install the executable
exeinto /usr/bin
doexe nvidia-settings
# Install libXNVCtrl and headers
insinto "/usr/$(get_libdir)"
doins src/libXNVCtrl/libXNVCtrl.a
insinto /usr/include/NVCtrl
doins src/libXNVCtrl/{NVCtrl,NVCtrlLib}.h
# Install icon and .desktop entry
doicon "${FILESDIR}/icon/${PN}.png"
domenu "${FILESDIR}/icon/${PN}.desktop"
# Install manpage
doman doc/nvidia-settings.1
# Now install documentation
dodoc doc/*.txt
}
|
|
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
|
Back to top |
|
|
marcus84 Tux's lil' helper
Joined: 23 Apr 2008 Posts: 87
|
Posted: Tue Nov 18, 2008 8:33 pm Post subject: |
|
|
I can only say: WOW!!
Finally a driver that works as It should work!!!
Kde4.2 working very well with it! |
|
Back to top |
|
|
weaksauce Apprentice
Joined: 17 Nov 2005 Posts: 204 Location: NYC
|
Posted: Tue Nov 18, 2008 8:35 pm Post subject: |
|
|
Second that! My konqueror scrolling issues are no more! I just compiled from the overlay and compiled the mplayer-vdpau from nvidia's site, but am not at home yet to try it out, already did a mkvextract to a pure h264 stream, so, we'll see! |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8935
|
Posted: Wed Nov 19, 2008 12:50 am Post subject: |
|
|
git-sources-2.6.28-rc5-git2 + 180.08:
+ OpenGL (quake3): works
+ Most of KDE4: great
- Window resizing: still not quite fluently
- Font problems with Glyphcache: still there
~ Stability: Can't tell yet |
|
Back to top |
|
|
Cr0t l33t
Joined: 27 Apr 2002 Posts: 944 Location: USA
|
Posted: Wed Nov 19, 2008 3:58 am Post subject: |
|
|
My entire system slows down when I have firefox open. It works great in the beginning, but then the entire system starts to slow down. I am unsure if it's the firefox+new driver combo or if it's firefox/flash+new driver?
Anyway... downgraded it on my workstation and it works great. My moviebox, which only plays movies has stil the beta driver installed. _________________ cya |
|
Back to top |
|
|
platojones Veteran
Joined: 23 Oct 2002 Posts: 1602 Location: Just over the horizon
|
Posted: Wed Nov 19, 2008 4:08 am Post subject: |
|
|
Cr0t wrote: | My entire system slows down when I have firefox open. It works great in the beginning, but then the entire system starts to slow down. I am unsure if it's the firefox+new driver combo or if it's firefox/flash+new driver?
Anyway... downgraded it on my workstation and it works great. My moviebox, which only plays movies has stil the beta driver installed. |
Yep, started noticing that too. In for a dime, in for a dollar...so I upgraded to the the latest 180.08 using Schwinni's ebuild from here. So far so good, but I'll give it a couple of days to see if the problem is fixed:
https://forums.gentoo.org/viewtopic-t-714949-start-25.html |
|
Back to top |
|
|
jel Apprentice
Joined: 10 Aug 2005 Posts: 259 Location: Gothenburg
|
Posted: Wed Nov 19, 2008 9:25 am Post subject: |
|
|
Good on you NVIDIA! You just gained a potential customer. _________________ # dd if=/dev/urandom of=/dev/sda bs=512 |
|
Back to top |
|
|
zyko l33t
Joined: 01 Jun 2008 Posts: 620 Location: Munich, Germany
|
Posted: Wed Nov 19, 2008 10:06 am Post subject: |
|
|
"Wow!" is a good description of this update. My h264 performance stayed about the same, but the CPU utilization went from 80% to 10%.
/edit: No stability problems observed (yet). |
|
Back to top |
|
|
AaronP n00b
Joined: 10 Sep 2004 Posts: 19
|
Posted: Wed Nov 19, 2008 10:27 am Post subject: |
|
|
Cr0t wrote: | My entire system slows down when I have firefox open. |
Does running glxinfo in a terminal speed it up again? It's possible that Firefox is slowly eating up all of your video memory, and running glxinfo will free some of it up by forcing Firefox's pixmaps into system memory. |
|
Back to top |
|
|
i92guboj Bodhisattva
Joined: 30 Nov 2004 Posts: 10315 Location: Córdoba (Spain)
|
Posted: Wed Nov 19, 2008 11:37 am Post subject: |
|
|
Two threads merged. |
|
Back to top |
|
|
aliquid n00b
Joined: 14 Mar 2008 Posts: 37
|
Posted: Wed Nov 19, 2008 1:43 pm Post subject: |
|
|
I have this problem too and running glxinfo make system responsive again |
|
Back to top |
|
|
mattes Apprentice
Joined: 23 Jul 2008 Posts: 258 Location: München, Bavaria, Germany
|
Posted: Wed Nov 19, 2008 6:31 pm Post subject: |
|
|
Hi,
I've copied the 177.80 ebuild to my overlay (and renamed it of course), but it doesnt work:
Code: | >> Emerging (1 of 2) x11-drivers/nvidia-drivers-180.06 to /
* NVIDIA-Linux-x86-180.06-pkg0.run RMD160 SHA1 SHA256 size ;-) ... [ ok ]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking NVIDIA-Linux-x86-180.06-pkg0.run ;-) ... [ ok ]
* Determining the location of the kernel source code
* Found kernel source directory:
* /usr/src/linux
* Found kernel object directory:
* /lib/modules/2.6.25-gentoo-r9/build
* Found sources for kernel version:
* 2.6.25-gentoo-r9
* Checking for MTRR support ... [ ok ]
* Checking for Paravirtualized guest support ...
>>> Unpacking source...
/var/tmp/portage/x11-drivers/nvidia-drivers-180.06/distdir/NVIDIA-Linux-x86-180.06-pkg0.run: line 2: !DOCTYPE: No such file or directory
/var/tmp/portage/x11-drivers/nvidia-drivers-180.06/distdir/NVIDIA-Linux-x86-180.06-pkg0.run: line 3: syntax error near unexpected token `newline'
/var/tmp/portage/x11-drivers/nvidia-drivers-180.06/distdir/NVIDIA-Linux-x86-180.06-pkg0.run: line 3: `"http://www.w3.org/TR/REC-html40/loose.dtd">'
/var/tmp/portage/x11-drivers/nvidia-drivers-180.06/temp/environment: line 3851: cd: /var/tmp/portage/x11-drivers/nvidia-drivers-180.06/work/NVIDIA-Linux-x86-180.06-pkg0: No such file or directory
* Cannot find $EPATCH_SOURCE! Value for $EPATCH_SOURCE is:
*
* /usr/local/portage/x11-drivers/nvidia-drivers/files/NVIDIA_glx-defines.patch
* ( NVIDIA_glx-defines.patch )
*
* ERROR: x11-drivers/nvidia-drivers-180.06 failed.
* Call stack:
* ebuild.sh, line 49: Called src_unpack
* environment, line 3853: Called epatch 'src_unpack'
* environment, line 1564: Called die
* The specific snippet of code:
* die "Cannot find \$EPATCH_SOURCE!";
* The die message:
* Cannot find $EPATCH_SOURCE!
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/log/portage/x11-drivers:nvidia-drivers-180.06:20081119-182713.log'.
* The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-180.06/temp/environment'.
* This ebuild is from an overlay: '/usr/local/portage/'
* |
the same with 188.08. Anybody any Ideas?
Regrads |
|
Back to top |
|
|
|