Linux Nvidia driver works bad for me

2

1

I've installed Bumblebee, it loads nvidia driver correctly... I can see it in /proc/drivers:

quux@quux-Ideapad-Z570 ~ $ cat /proc/driver/nvidia/version 
NVRM version: NVIDIA UNIX x86 Kernel Module  319.60  Wed Sep 25 13:58:16 PDT 2013
GCC version:  gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu9) 
quux@quux-Ideapad-Z570 ~ $ 

But driver doesn't work good, I've tried 304, 304-updates and 319-updates:

It gives much lower fps than integrated one. glmark2 benchmark tool rated Nvidia with 59 score and integrated Intel - 751!

When i run optirun nvidia-settings it says that You do not appear to be using the NVIDIA X driver. Please edit your X configuration file (just runnvidia-xconfigas root), and restart the X server.. Bumblebee config:

[bumblebeed]
# The secondary Xorg server DISPLAY number
VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all.
KeepUnusedXServer=false
# The name of the Bumbleblee server group name (GID name)
ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
# server exits.
TurnCardOffAtExit=false
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored.
NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=nvidia
# Directory with a dummy config file to pass as a -configdir to secondary X
XorgConfDir=/etc/bumblebee/xorg.conf.d

## Client options. Will take effect on the next optirun executed.
[optirun]
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
# primus.
Bridge=auto
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv.
VGLTransport=proxy
# List of paths which are searched for the primus libGL.so.1 when using
# the primus bridge
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available?
AllowFallbackToIGC=false

[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia-319-updates
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia-319-updates:/usr/lib32/nvidia-319-updates
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-319-updates/xorg,/usr/lib/xorg/modules
#XorgConfFile=/etc/bumblebee/xorg.conf.nvidia
XorgConfFile=/etc/X11/xorg.conf

As you can see in config I even tried to use xorg.conf generated by nvidia-xconfig instead of Bumblebee xorg.conf.nvidia, result is the same.

quux@quux-Ideapad-Z570 ~ $ cat /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 304.108  (buildmeister@swio-display-x64-rhel04-07)  Wed Jul 

31 21:27:07 PDT 2013

    Section "ServerLayout"
        Identifier     "Layout0"
        Screen      0  "Screen0"
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "Mouse0" "CorePointer"
    EndSection

    Section "Files"
    EndSection

    Section "InputDevice"
        # generated from default
        Identifier     "Mouse0"
        Driver         "mouse"
        Option         "Protocol" "auto"
        Option         "Device" "/dev/psaux"
        Option         "Emulate3Buttons" "no"
        Option         "ZAxisMapping" "4 5"
    EndSection

    Section "InputDevice"
        # generated from default
        Identifier     "Keyboard0"
        Driver         "kbd"
    EndSection

    Section "Monitor"
        Identifier     "Monitor0"
        VendorName     "Unknown"
        ModelName      "Unknown"
        HorizSync       28.0 - 33.0
        VertRefresh     43.0 - 72.0
        Option         "DPMS"
    EndSection

    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
    EndSection

    Section "Screen"
        Identifier     "Screen0"
        Device         "Device0"
        Monitor        "Monitor0"
        DefaultDepth    24
        SubSection     "Display"
            Depth       24
        EndSubSection
    EndSection

And bumblebee config:

quux@quux-Ideapad-Z570 ~ $ cat /etc/bumblebee/xorg.conf.nvidia 
Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "false"
    Option      "AutoAddGPU" "false"
EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"

#   If the X server does not automatically detect your VGA device,
#   you can manually set it here.
#   To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
#   as you see in the commented example.
#   This Setting may be needed in some platforms with more than one
#   nvidia card, which may confuse the proprietary driver (e.g.,
#   trying to take ownership of the wrong device). Also needed on Ubuntu 13.04.
    BusID "PCI:01:00:0"

#   Setting ProbeAllGpus to false prevents the new proprietary driver
#   instance spawned to try to control the integrated graphics card,
#   which is already being managed outside bumblebee.
#   This option doesn't hurt and it is required on platforms running
#   more than one nvidia graphics card with the proprietary driver.
#   (E.g. Macbook Pro pre-2010 with nVidia 9400M + 9600M GT).
#   If this option is not set, the new Xorg may blacken the screen and
#   render it unusable (unless you have some way to run killall Xorg).
    Option "ProbeAllGpus" "false"

    Option "NoLogo" "false"
    Option "UseEDID" "false"
    Option "UseDisplayDevice" "none"
EndSection

Also bumblebeed -vv output

quux@quux-Ideapad-Z570 ~ $ sudo bumblebeed -vv
[47743.879935] [DEBUG]Found card: 01:00.0 (discrete)
[47743.879966] [DEBUG]Found card: 00:02.0 (integrated)
[47743.879974] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[47743.880372] [INFO]Configured driver: nvidia
[47743.880387] [DEBUG]Skipping auto-detection, using configured driver 'nvidia'
[47743.880525] [DEBUG]Process /sbin/modprobe started, PID 9493.
[47743.880559] [DEBUG]Hiding stderr for execution of /sbin/modprobe
[47743.969996] [DEBUG]SIGCHILD received, but wait failed with No child processes
[47743.970071] [DEBUG]bbswitch has been detected.
[47743.970080] [INFO]Switching method 'bbswitch' is available and will be used.
[47743.970087] [DEBUG]Active configuration:
[47743.970093] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[47743.970099] [DEBUG] X display: :8
[47743.970105] [DEBUG] LD_LIBRARY_PATH: /usr/lib/nvidia-319-updates:/usr/lib32/nvidia-319-updates
[47743.970111] [DEBUG] Socket path: /var/run/bumblebee.socket
[47743.970117] [DEBUG] pidfile: /var/run/bumblebeed.pid
[47743.970123] [DEBUG] xorg.conf file: /etc/X11/xorg.conf
[47743.970129] [DEBUG] xorg.conf.d dir: /etc/bumblebee/xorg.conf.d
[47743.970134] [DEBUG] ModulePath: /usr/lib/nvidia-319-updates/xorg,/usr/lib/xorg/modules
[47743.970140] [DEBUG] GID name: bumblebee
[47743.970146] [DEBUG] Power method: auto
[47743.970151] [DEBUG] Stop X on exit: 1
[47743.970157] [DEBUG] Driver: nvidia
[47743.970163] [DEBUG] Driver module: nvidia-319-updates
[47743.970168] [DEBUG] Card shutdown state: 1
[47743.970297] [DEBUG]Process /sbin/modprobe started, PID 9494.
[47743.970330] [DEBUG]Hiding stderr for execution of /sbin/modprobe
[47743.976076] [DEBUG]SIGCHILD received, but wait failed with No child processes
[47743.976111] [DEBUG]Configuration test passed.
[47743.976870] [INFO]bumblebeed 3.2.1 started
[47743.977080] [INFO]Switching dedicated card OFF [bbswitch]
[47744.192239] [INFO]Initialization completed - now handling client requests

Help me to run nvidia-settings

quux

Posted 2013-12-08T17:26:46.700

Reputation: 121

Please provide more detail besides "doesn't work good". – Ramhound – 2013-12-08T17:51:36.023

Sounds like vsync is turned on. – cybernard – 2013-12-08T18:14:26.457

@cybernard I can't run optirun nvidia-settings since it says that I am not using nvidia card. I've added xorg.conf and bumblebee.conf above if it makes sence. – quux – 2013-12-09T05:33:40.620

Answers

0

The question was asked bleeding ages ago, but this works for me: optirun nvidia-settings -c :8

Andreas

Posted 2013-12-08T17:26:46.700

Reputation: 1

Further explanation about why this works would make this a much better answer. – MaQleod – 2014-05-11T03:41:18.067