tucan task: setup up ubuntu - download 16.04.1, include fixes for 16.04.03 dd if= of= bs=1m sudo apt-get install openssh-server sudo apt-get install synergy synergyc 10.0.0.12 editing remote files using sublime3 with rsub (https://wrgms.com/editing-files-remotely-via-ssh-on-sublimetext-3/): install: 1. remote: sudo wget -O /usr/local/bin/rsub https://raw.github.com/aurora/rmate/master/rmate sudo chmod a+x /usr/local/bin/rsub 2. local: alt-shift-p install package -> rsub usage: 1. local: ssh ... -R 52698:localhost:52698 2. rsub file fixing mouse issues with synergyc DISPLAY=:0.0 gsettings set org.gnome.settings-daemon.plugins.cursor active false sudo service lightdm restart testings kinectv2 install libfreenect2 git clone https://github.com/OpenKinect/libfreenect2 sudo apt-get install build-essential cmake pkg-config libusb-1.0-0-dev libturbojpeg libjpeg-turbo8-dev libglfw3-dev beignet-dev libva-dev libjpeg-dev (notice libturbojpeg and libjpeg-turbo8-dev) mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2 -DENABLE_VAAPI=0 (will conflict with gstreamer) make -j4 make install for installed packages: apt list --installed | grep jpeg block audio device: sudo rsub /etc/modprobe.d/blacklist.conf blacklist snd_hda_codec_hdmi blacklist snd-usb-audio usb permission: sudo cp ./platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/ CONFLICT: on nuc, kinectv2 conflict with hdmi audio - so use miniport if you can't disable audio openframeworks git checkout 0.9.8: git clone -b 0.9.8 --depth 1 https://github.com/openframeworks/openFrameworks.git follow openframeworks/openFrameworks#5144 to install_dep and compile (for 16.04.3): cd scripts/apothecary sudo ./apothecary -j 4 -t linux64 update poco sudo ./install_dependencies.sh - skip -hwe-16.04 compileOF.sh -j4 preservation repository: git clone https://github.com/roikr/preservation.git (uses local ofxKinectV2) box2d and ofxBox2d git clone -b stable --depth 1 https://github.com/roikr/ofxBox2d.git issue fixed in my fork (branch stable): 1. ofxBox2dPolygon.cpp - when tesselating poly, need to ignore deg polygons to avoid box2d assert 2. ofxBox2dUtils - adjust OFX_BOX2D_SCALE 3. static body hold no transform and position so we should not draw based on it (walkaround - render super class ofPolyline) startup: add autostart.sh to startup application https://askubuntu.com/questions/380741/how-to-auto-restart-a-crashed-app crashes and disconnections: 1. popup regarding system problem (https://askubuntu.com/questions/133385/getting-system-program-problem-detected-pops-up-regularly-after-upgrade/369297): ls /var/crash sudo rm /var/crash/* reinstall plymoth (https://askubuntu.com/questions/407131/why-is-plymouthd-crashing-on-startup) 2. uninstall zeitgeist (https://linuxaria.com/howto/how-to-remove-zeitgeist-in-ubuntu-and-why) 3. install last intel graphics driver (https://askubuntu.com/questions/777303/installing-intel-graphics-driver-in-ubuntu-16-04) 4. tip to reset usb (http://www.ubuntubuzz.com/2016/06/reset-usb-20-ehci-usb-30-xhci-without-reboot-linux.html) deprecated: 1. create new entry to autostart app 2. add delay - waiting for kinect driver loading rsub ~/.config/autostart/preservation.desktop X-GNOME-Autostart-Delay=30 gstreamer issues 1. in order to decode directly to gl memory we need gst-gl-plugins which are part of plugins bads sudo apt-get install libgstreamer-plugins-bad1.0-dev 2. also we need to remove egl and gles2 by editing : sudo rsub /usr/lib/x86_64-linux-gnu/gstreamer-1.0/include/gst/gl/gstglconfig.h #define GST_GL_HAVE_GLES2 0 #define GST_GL_HAVE_PLATFORM_EGL 0 #define GST_GL_HAVE_GLEGLIMAGEOES 0 3. using gstreamer-plugins-bad1.8.3/tests/examples/gl/sdl/sdlshare.c to setup glx native display and context (using glfw native) 4. vaapi sudo apt-get install gstreamer1.0-vaapi testing hardware video decoding DISPLAY=:0.0 gst-launch-1.0 -v filesrc location=feast.mp4 ! qtdemux ! h264parse ! avdec_h264 ! autovideosink DISPLAY=:0.0 gst-launch-1.0 -v filesrc location=/home/ubuntu/feast.mp4 ! qtdemux ! h264parse ! vaapidecode ! autovideosink DISPLAY=:0.0 gst-launch-1.0 -v mutlifilesrc loop=true location=/home/ubuntu/feast.mp4 ! qtdemux ! h264parse ! vaapidecode ! autovideosink ffmpeg tut (http://hamelot.io/visualization/using-ffmpeg-to-convert-a-set-of-images-into-a-video/) ffmpeg -r 25 -f image2 -s 1280x800 -start_number 0 -i circle_%05d.png -vcodec libx264 -crf 25 -pix_fmt yuv420p normal.mp4 DISPLAY=:0.0 gst-launch-1.0 -e multifilesrc loop=true location=Normal_BG.mov ! qtdemux ! h264parse ! vaapidecode ! glimagesink sync=1 multifilesrc loop=true location=Normal_FG_rgb.mov ! qtdemux ! h264parse ! vaapidecode ! glimagesink sync=1 multifilesrc loop=true location=Normal_FG_a.mov ! qtdemux ! h264parse ! vaapidecode ! glimagesink sync=1 DISPLAY=:0.0 gst-launch-1.0 -e multifilesrc loop=true location=Normal_BG.mov ! qtdemux ! h264parse ! vaapidecode ! glimagesink sync=1 multifilesrc loop=true location=Light_BG.mov ! qtdemux ! h264parse ! vaapidecode ! glimagesink sync=1 multifilesrc loop=true location=Dark_BG.mov ! qtdemux ! h264parse ! vaapidecode ! glimagesink sync=1