System Installation#

Warning

NIF users should not make changes to any computer system in the NIF without the permission and direct supervision of a member of the NIF support team! The NIF is a shared resource and any changes made to these systems will affect all NIF users research.

Note

If you encounter issues that you believe to be related to system updates or changes, please contact NIF support so that we can help to resolve the problem for all users.

The following instructions describe the process for setting up the standard configuration used in the NIF and SCNI for DataPixx stimulus presentation PCs. The specific hardware and software selections have been driven primarily by the recommendations of VPixx and Mario Kleiner at PsychToolbox circa 2016. NIF Toolbar’s default settings expect this type of setup, but can be configured to operate in alternative environments (e.g. other OSs, and with more or fewer displays).

For this purpose, we have typically ordered high-specification custom workstation PCs in rack mount chassis, from companies like ADEK, or assembled our own. If ordering a complete PC it is recommended to request at the time of order that the system should be a Windows - Ubuntu dual boot installation, and that we will be running power-hungry GPUs (so that the supplier can provide an appropriately rated power supply).

NIF Datapixx Systems#

The following NIF and SCNI Datapixx PCs can be accessed remotely from a computer connected to the NIH network or via VPN. We recommend installing the cross-platform remote desktop application NoMachine on your local computer for this (see figure below).

Warning

Remote connections should not be made to DataPixx PCs during working hours unless you are certain that they are not in use by other researchers. If you observe that a DataPixx PC is in use when you connect remotely, please disconnect in order to give priority to those physically at the computer.

Name

IP address

Lab

Computer

GPU

Ubuntu

Matlab

PTB

Display

Resolution

NIFMAT3

156.40.249.82

NIF - Bruker

Dell Z240

Nvidia GTX 1060

20.04

2020a

3.0.16

Epson PowerLite

1920 x 1200

NIFMAT4

156.40.249.70

NIF - Siemens

ADEK

Nvidia GTX 1080

16.04

2018a

3.0.16

VPixx ProPixx

1920 x 1080

NIFMAT5

NIF - Testing

ADEK

Nvidia GTX 1080

20.04

2020b

3.0.16

Dell U27

1920 x 1080

SCNI-Red-Datapixx

156.40.249.74

SCNI

ADEK

Nvidia GTX 1080

16.04

2018a

3.0.16

LG 55EF9500

3840 x 2160

SCNI-Green-Datapixx

156.40.249.75

SCNI

ADEK

Nvidia GTX 1080

18.04

2018a

3.0.16

LG 55E6

3840 x 2160

SCNI-Blue-Datapixx

156.40.249.??

SCNI

ADEK

Nvidia GTX 1080

16.04

2018a

3.0.16

LG 55E6

3840 x 2160

_images/NTB_Images/NoMachine.png
  • To connect to a DataPixx PC remotely via NoMachine:

    • Give the connection an appropriate name

    • Select the ‘NX’ protocol

    • Enter the IP address for the computer you want to connect to (as listed in the table above)

    • Select the default ‘Port’ as 4000

    • When prompted, enter the username ‘lab’ and the standard lab password.

  • To connect via SSH open a Terminal window and type the following, replacing the IP address with the one corresponding to the computer that you want to connect to (as listed in the table above): ssh lab@156.40.249.82

  • To connect via X11vnc, type:

x11vnc -rfbauth ~/.vnc/passwd -auth /run/user/1000/gdm/Xauthority -forever -nowf -repeat -display :0

  • To connect via VNC on a Mac: - Open a Finder window - Select Go -> Connect to Server - Type vnc://156.40.249.82 (replacing the IP address with the computer you want to connect to).

Ubuntu Installation#

  • Follow the online instructions for installing Ubuntu 20.04 LTS.

  • Create “lab” user with admin permissions and standard lab password.

Install aptitude and update all packages#

Aptitude is a friendlier apt-get, use either based on your preference.

sudo apt-get install aptitude
sudo apt-get install subversion
sudo apt install linux-low latency-hwe-20.04
sudo aptitude update
sudo aptitude upgrade -y
sudo aptitude install build-essential
sudo reboot

Install Graphics Card Drivers#

Note

Most NIF and SCNI DataPixx PCs currently have Nvidia GTX 1000-series GPUs, which were the recommended GPU at the time of purchase (circa 2016). Since then, AMD have become the preferred GPU manufacturer for use in PsychToolbox (PTB) setups. This is primarily because open-source drivers (e.g. MESA) for these cards are more efficient than the the open-source nouveau drivers for Nvidia cards, which yield less than 10% of maximum card performance (compared to the proprietary Nvidia drivers).

  • Logged in as nifsupport, download the appropriate NVidia drivers and save to the nifsupport downloads directory.

  • Restart the PC and at the GRUB screen, select ‘Ubuntu Advanced’

  • From the log in screen, hit ‘Ctrl + Alt + F2’ to get to a command line

  • Log in as Root (‘Root’ plus nifsupport password)

service lightdm stop
cd /nif-admin/downloads
./NVIDIA-XXX...
  • Accept the various terms and conditions of the NVidia driver installation process

  • When the installer is finished type:

    service lightdm start

  • Login as lab, use the Ubuntu search function to open the NVidia X Server Settings (and pin to dock)

  • The following instructions are adapted from this blog post: http://abhay.harpale.net/blog/linux/nvidia-gtx-1080-installation-on-ubuntu-16-04-lts/

  • With graphics card model number in hand, head over to Nvidia and download & install the appropriate driver.

  • The NIF’s primary DATAPixx PC was setup by VPixx to run dual boot Ubuntu 16.04 and Windows 7 and has the NVIDIA drivers correctly installed for the NVIDIA GTX 1060 card. The specific drivers installed on that machine are shown in the screenshot below.

_images/NTB_Images/NVidia_Drivers.png

Mount Nifstorage shares#

  • Add NFS mounts to /etc/fstab

sudo mount -a

Install NeuroDebian#

wget -O- http://neuro.debian.net/lists/focal.us-nh.full | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list
sudo apt-key adv --recv-keys --keyserver hkp://pool.sks-keyservers.net:80 0xA5D32F012649A5A9
sudo apt-get update

Install Blender and Python modules#

  • Download and install UPBGE, the Blender-based game engine used for real-time 3D rendered visual stimulation experiments.

sudo add-apt-repository ppa:thomas-schiex/blender
sudo apt-get update
sudo apt-get install blender

Install Matlab & PsychToolbox#

  • Login to the Mathworks account linked to your NIMH e-mail address: https://www.mathworks.com/login

  • Download, install and activate MATLAB using your account.

sudo apt-get install matlab-psychtoolbox-3
  • Install Linux low-latency drivers:

::

sudo apt install linux-low latency-hwe-20.04

Install DataPixx Tools#

  • Copy the Datapixx mex file for 64-bit Linux, (e.g. /projects/SCNI/Software/VPixx_Software_Tools/DatapixxToolbox_trunk/mexdev/build/matlab/linux64/Datapixx.mexa64)

    to the PsychBasic folder of your matlab installation (e.g.: /usr/share/psychtoolbox-3/PsychBasic)

sudo mv /home/lab/Documents/Datapixx.mexa64 /usr/share/psychtoolbox-3/PsychBasic
  • In order to run Datapixx functions without running Matlab or Octave as root user (i.e., without need for root login or the sudo command):

sudo cp Psychtoolbox/PsychHardware/DatapixxToolbox/60-vpixx-permissions.rules /etc/udev/rules.d/
  • Connect to NIF storage again and copy /Volumes/LIBRARY/software/VPixx_Software_Tools.zip to ~lab/Downloads.

  • Unzip VPixxSoftwareTools.zip

  • Add /home/lab/Downloads/VPixx_Software_Tools/DatapixxToolbox_trunk/ to MATLAB’s path.

  • Set X window configuration settings