meta data for this page
  •  

Differences

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

Link to this comparison view

Next revision
Previous revision
linux:nvidia [2015/08/04 08:48]
niziak created
linux:nvidia [2018/06/07 09:00] (current)
niziak
Line 1: Line 1:
 +====== nvidia ======
 +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 6: 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>​
  
 <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>​
 +
 +Following package will clean after nvidia drivers (remove blacklisting of nouveau module)
 +<code bash>
 +sudo apt-get install glx-alternative-nvidia
 +</​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>​
 +