meta data for this page
Differences
This shows you the differences between two versions of the page.
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> | ||
+ | |||