Get the kernel version for pr2b:
ssh pr2b cat /proc/version amaldo@pr2b:/usr/src/nvidia-304-304.116/patches$ cat /proc/version Linux version 3.4.28.rt40-1-pr2 (willow@ian) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 SMP PREEMPT Mon Feb 4 15:03:30 PST 2013
Compile the nvidia module for that kernel (but do it on pr2a):
ssh pr2a sudo apt-get install nvidia-304 (we could also test with nvidia-331) ls /usr/src/ |grep nvidia (get the version number for dkms) sudo dkms build nvidia-304/304.116 -k 3.4.28.rt40-1-pr2 sudo dkms install nvidia-304/304.116 -k 3.4.28.rt40-1-pr2
ssh pr2b sudo modprobe nvidia
Make the loading of the module permanent:
ssh pr2a cd /unionfs/overlay/etc sudo cp /etc/modules . sudo vim modules <- Add nvidia at the bottom
Now you can make a phoney xorg.conf file to start X without a monitor attached, and use virtualGL to get rviz running on the robot
Get a Desktop Manager with minimal dependencies:
ssh pr2a sudo apt-get install lightdm lightdm-gtk-greeter
Create a fake xorg.conf file with the following contents:
Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    Option         "ConnectedMonitor" "CRT-0"
    Option         "UseEDID" "FALSE"
EndSection
Section "DRI"
        Mode 0660
        Group "vglusers"
EndSection
Section "Monitor"
    Identifier     "Headless"
    HorizSync       80.0 - 80.0
    VertRefresh     75.0
    #
    #   Used command line:  gtf 1280 1024 75
    #   to come up with following Modeline:
    Modeline "1280x1024_75.00"  138.54  1280 1368 1504 1728  1024 1025
1028 1069  -HSync +Vsync
EndSection
Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Headless"
    DefaultDepth    24
    Option         "UsedEDID" "FALSE"
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024"
    EndSubSection
EndSection