Skip to content

Instantly share code, notes, and snippets.

@aforren1
Last active June 19, 2018 21:18
Show Gist options
  • Select an option

  • Save aforren1/6b9343e72e9cb6a6ec32ed23bce14c70 to your computer and use it in GitHub Desktop.

Select an option

Save aforren1/6b9343e72e9cb6a6ec32ed23bce14c70 to your computer and use it in GitHub Desktop.
Install raspbian (https://www.raspberrypi.org/downloads/raspbian/)
run `sudo apt update && sudo apt upgrade --yes`
Turn on desktop GL in `sudo raspi-config`
(sudo apt install mesa-utils & run glxgears for verification)
edit /boot/config.txt and add `gpu_freq=500` (overclocks the GPU from 400->500) and `gpu_mem=320` (gives the GPU more memory)
disable bluetooth
(try skipping pyopencv)
install opencv from scratch (3.4.1, check https://github.com/opencv/opencv/releases)
https://www.pyimagesearch.com/2017/09/04/raspbian-stretch-install-opencv-3-python-on-your-raspberry-pi/
(should probably use pipenv)
python3 -m venv [myenv] --system-site-packages
source [myenv]/bin/activate
See https://github.com/bennuttall/piwheels for forcing use of piwheels for install
# install all dependencies manually, as PyQt5 & wxPython don't have wheels
pip3 install requests[security] numpy scipy matplotlib pandas pillow pyglet \
pygame configobj pyopengl soundfile sounddevice python-bidi cffi future json_tricks \
pyosf xlrd openpyxl pyserial pyyaml gevent msgpack-python psutil tables zmq moviepy \
arabic_reshaper -i https://www.piwheels.org/simple
pip3 install psychopy -i https://www.piwheels.org/simple --no-dependencies
sudo apt install libglfw3 libglfw3-dev
ended up ignoring all gamma stuff (which doesn't work?)
sudo apt install libhdf5-dev python3-pyqt5
conda doesn't use site packages, so we would have to build pyqt5...
# hidapi takes 30mins to build
install wxpython (globally? takes a few hours to build)
# Turn off crud
https://wiki.linuxaudio.org/wiki/raspberrypi
# See https://github.com/Psychtoolbox-3/Psychtoolbox-3/blob/master/Psychtoolbox/PsychLinuxConfiguration.m
# for linux tweaks
# See https://github.com/Psychtoolbox-3/Psychtoolbox-3/blob/master/Psychtoolbox/PsychBasic/psychtoolbox.rules
# for various .rules tweaks (pick-n-choose though, we don't use most of the equipment)
# soft realtime
# https://raspberrypi.stackexchange.com/questions/8970/default-kernel-preemption-vs-real-time-patch
# psychopy notes:
waitBlanking False, fullscreen, ...
Be careful setting the block size, etc. for audio; using sounddevice sounded better
try to use textbox rather than textstim (text seems to push it for perf?) (except it fails with "invalid composite glyph")
Make sure to do `sudo setcap cap_sys_nice=eip` on the actual file, not a symlink (eg. python3 in the venv, not python)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment