===== How to use nvidia optimus graphics card in Ubuntu =====
If you have a nvidia optimus graphics card and you want use it, probably you couldn't.
To work with this graphics card you'll have to give several steps.
**Step 1.** Install private nvidia drivers
You can see how you can do it [[http://www.dec.usc.es/wiki/centro:nvidia_cuda|here]]
**Step 2.** Activate nvidia optimus graphics card in real time with command nvidia-smi from command line ( tool can be used to set the compute mode for devices. Documentation for nvidia-smi can be obtained by passing a -h option to it. See information [[http://developer.download.nvidia.com/compute/cuda/2_3/toolkit/docs/online/group__CUCTX_g02b31a192b32043c0787696292f1ffbe.html|here]])
$ sudo nvidia-smi
**
Step 3.** Create a init script /etc/init.d/nvidia-smi to create nvidia devices always that your computer start
#!/bin/bash
/sbin/modprobe nvidia-current
if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
N3D=`lspci | grep -i NVIDIA | grep "3D controller" | wc -l`
NVGA=`lspci | grep -i NVIDIA | grep "VGA compatible controller" | wc -l`
N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i;
done
mknod -m 666 /dev/nvidiactl c 195 255
else
exit 1
fi
nvidia-smi --loop-continuously --interval=60 --filename=/var/log/nvidia-smi.log &
# Put compute mode rules to Normal mode for VGA compatible controller
# nvidia-smi -g 0 -c 2
#for i in `seq 0 $N`; do
# To allow to compute in both nvidia graphics card
# Put compute mode rules to exclusive mode for 3D controller
# nvidia-smi -g $N -c 1
#done
# Put compute mode rules to exclusive mode for 3D controller and enable ecc
nvidia-smi -g 0 -c 1 -e 1
# Put compute mode rules to exclusive mode for 3D controller and disable ecc
nvidia-smi -g 1 -c 1 -e 0
Script copied from [[http://superuser.com/questions/145993/best-linux-distro-for-cuda-development|here]]
**Step 4.** Give correct permissions to this script
$ sudo chmod 755 /etc/init.d/nvidia-smi
**Step 5.** Activate it when computer start
$ sudo update-rc.d nvidia-smi default
After, if you want to remove it from runlevels
$ sudo update-rc.d -f nvidia-smi remove