meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
linux:nvidia [2015/08/06 07:17] niziaklinux:nvidia [2018/06/07 09:00] (current) niziak
Line 2: Line 2:
 With NVidia proprietary driver, apps which grab screen like "x11vnc" doesn't work correctly. With NVidia proprietary driver, apps which grab screen like "x11vnc" doesn't work correctly.
  
 +==== Switch between drivers ====
 +<code bash>update-glx --config glx</code>
  
 +To switch betweenr nvidia's driver version
 +<code bash>update-glx --config nvidia</code>
 +
 +
 +==== Install NVidia driver ====
 +see [[https://wiki.debian.org/NvidiaGraphicsDrivers]]
 +
 +  * Card:  NVIDIA Corporation GT218 [GeForce 210]
 +  * Debian Stretch package: nvidia-legacy-340xx-driver
 +  
 <code bash> <code bash>
 sudo apt-get install nvidia-detect sudo apt-get install nvidia-detect
Line 10: Line 22:
 Your card is supported by the default drivers and legacy driver series 304. Your card is supported by the default drivers and legacy driver series 304.
 It is recommended to install the It is recommended to install the
-    nvidia-driver+    nvidia-legacy-340xx-driver
 package. package.
 </code> </code>
  
-==== Install nvidia driver ==== 
 <code bash> <code bash>
 +sudo apt-get install nvidia-legacy-340xx-driver
 +# OR
 sudo apt-get install nvidia-driver sudo apt-get install nvidia-driver
 +</code>
 +
 +Configure X server:
 +<code bash>
 sudo apt-get install nvidia-xconfig sudo apt-get install nvidia-xconfig
 sudo nvidia-xconfig sudo nvidia-xconfig
 </code> </code>
  
 +or
 +<code bash>
 +mkdir /etc/X11/xorg.conf.d
 +echo -e 'Section "Device"\n\tIdentifier "My GPU"\n\tDriver "nvidia"\nEndSection' > /etc/X11/xorg.conf.d/20-nvidia.conf
 +</code>
  
 +==== Install open source driver (nouveau) ====
 +<code bash>
 +sudo apt-get --purge remove ^nvidia-*
 +sudo mv -vi /etc/X11/xorg.conf /etc/X11/xorg.conf.nvidia
 +sudo apt-get install nvidia-glx
 +</code>
  
-==== Install opensource driver ====+Following package will clean after nvidia drivers (remove blacklisting of nouveau module)
 <code bash> <code bash>
-sudo apt-get purge ^nvidia-+sudo apt-get install glx-alternative-nvidia
-mv -vi /etc/X11/xorg.conf /etc/X11/xorg.conf.nvidia+
 </code> </code>
 +
 +stop X system, generate new xorg.conf file:
 +<code bash>
 +sudo Xorg -configure
 +sudo cp /root/xorg.conf.new /etc/X11/xorg.conf
 +</code>
 +
 +set MESA as default GLX provider
 +<code bash>update-alternatives --config glx</code>
 +
 +and restart X system
 +
 +=== Extract firmware ===
 +
 +[[https://nouveau.freedesktop.org/wiki/VideoAcceleration/|nouveau/ VideoAcceleration
 +]]
 +<code bash>
 +$ mkdir /tmp/nouveau
 +$ cd /tmp/nouveau
 +$ wget https://raw.github.com/imirkin/re-vp2/master/extract_firmware.py
 +$ wget http://us.download.nvidia.com/XFree86/Linux-x86/325.15/NVIDIA-Linux-x86-325.15.run
 +$ sh NVIDIA-Linux-x86-325.15.run --extract-only
 +$ python2 extract_firmware.py  # this script is for python 2 only
 +# mkdir /lib/firmware/nouveau
 +# cp -d nv* vuc-* /lib/firmware/nouveau/
 +</code>
 +
 +==== Fan control ====
 +
 +<code bash>
 +echo 1 > /sys/bus/pci/drivers/nouveau/0000:01:00.0/hwmon/hwmon1/pwm1_enable
 +echo 50 > /sys/bus/pci/drivers/nouveau/0000:01:00.0/hwmon/hwmon1/pwm1
 +</code>
 +
 +==== Issues ====
 +apt-get upgrade hangs
 +<code>
 +root     28002  0.0  0.1  64524 19248 pts/0    S+   12:24   0:00 /usr/bin/perl -w /usr/share/debconf/frontend /var/lib/dpkg/info/libgl1-nvidia-glx:i386.postin
 +root     28008  0.0  0.0   4304   784 pts/0    S+   12:24   0:00 /bin/sh /var/lib/dpkg/info/libgl1-nvidia-glx:i386.postinst configure 340.96-1
 +root     28011  0.0  0.0   4304   808 pts/0    D+   12:24   0:00 /bin/sh /usr/lib/nvidia/check-for-mismatching-nvidia-module 352.79
 +</code>
 +Shell script ''/usr/lib/nvidia/check-for-mismatching-nvidia-module'' hangs accesing ''/proc'' filesystem:
 +<code bash>[ -e /proc/driver/nvidia/version ]</code>
 +Workaround:
 +<code bash>
 +#if [ -e /proc/driver/nvidia/version ]; then
 +if [ true ]; then
 +#<----->running_version="$(grep NVRM /proc/driver/nvidia/version | awk '{ print $8 }')"
 +</code>
 +