Revision [1694]

Last edited on 2011-08-08 19:59:34 by IanA [link to page with corrected spelling in title]
Additions:
Please see UsingPsychtoolboxOnUbuntu
Deletions:
======Using Psychophysics Toolbox on Ubuntu======
The most recent beta release (V3.0.9 revision 2191) contains support for 64bit Matlab / Octave, but one cannot mix running 64bit Matlab on a 32bit Ubuntu and visa versa. Please see below for some potenetial problems with correctly installing dependencies.
=====Choice of Kernel=====
See this page for more info: https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel
Comment by Mario""<blockquote>
The lowlatency kernel is simple to install, as you explained, and probably good
enough for all but the most challenging applications. For example some tables
benchmark results with respect to the minimal audio latency that can be reliably
achieved:</br>
<https://wiki.ubuntu.com/RealTime></br>
To put this into perspective, a typical os/x system won't be able to achieve
less than about 6-8 msecs, at least i haven't seen anything better in my testing
from macbookpro to 8 core mac-pro. The values they achieve (3-4 msecs) are close
to the theoretical optimum.</br>
Even the default kernel is already at least as good as what the other operating
systems have to offer. Compiling a hard realtime kernel yourself is not that
simple for beginners, but if you'd really need it you can also download and
install a realtime kernel from an older distribution, e.g., 10.04. It would be a
tradeoff between gaining hard realtime caps and losing some functionality which
was added in later kernels.</blockquote""

=====Choice of Desktop Mode=====
The recommendation is to use Classic mode; comment from Mario:
""<blockquote>Yep. "Ubuntu Classic (no effects)" may be even better. If you use the new Unity
UI, that's the most shiny and untested one -- i don't quite hate it as much as
many other people, but so far i don't see it adding much to the user experience.
It's the usual "let's add a smartphone or tablet GUI to a desktop/laptop
computer, because it looks fancy."</br>

Both "Ubuntu Classic" and "Unity" use a desktop compositor to create the shiny
3d'ish desktop. This is nice for ergonomy and eye-candy but it can reduce
performance and really impair exact presentation timing and timestamping. Same
problem as on Windows Vista/7 and OS/X with their desktop compositors.</br>

The Linux guys are working on a solution to make the timing and timestamping as
precise with a compositor as without it -- i'm involved in that effort. It is a
pretty difficult technical problem and progress is slow, but we'll get there at
some point. No similar efforts exist at all on OS/X or Windows afaik - At least
none that aren't known to be extremely broken to the point of being not only
useless but harmful.</br>

Psychtoolbox disables the desktop compositor when a fullscreen onscreen window
is presented on OS/X, Windows and Linux to achieve correct stimulus onset timing
and timestamping and to reduce the performance impact of a compositor.</br>

However, if you are running a machine for real data collection you may want to
manually shut down the compositor completely, because a) it is the most reliable
way to know it really doesn't interfere, and b) it frees up additional graphics
and system resources, which are usually used even if the compositor is in
standby mode.</br>

On Linux 10.10 and earlier this was achieved via Menubar -> System settings ->
Appearance -> Desktop effects -> "Off" or something like that.</br>

On 11.04 i think you select the "Ubuntu classic (no effects)" environment.</br>

This will run in a old unsexy, non 3d'ish, "flicker during Windows movements and
redraws like WindowsXP" environment, however with drastically reduced GPU
resource consumption and no interference at all.</br>

I usually do complex timing tests with the compositor shut down, but normal
testing with the compositor on and just switching to standby when fullscreen
windows are used.</br>

One catch: On Linux, PTB doesn't actively switch the compositor to standby.
Instead it uses the PsychGPUControl() command as part of the Psychtoolbox
installer/updater to configure the compositor to switch itself to standby if it
detects a fullscreen window on a display.
If you do something like install PTB while Unity is running, then switch to the
"Classic" environment, this configuration setting may not transfer. It doesn't
hurt to add the PsychGPUControl command to the top of your script for extra
paranoia. Or manually disable it via the GUI.</br>

I'll probably add some call to PsychGPUControl() to Screen's Openwindow function
in the future, so this is more fool-proof.</blockquote>""

=====Choice of Graphics Driver=====
Use the proprietary driver for NVidia. For Intel and probably ATI, the open-source drivers should be sufficient, except for 30 bit support.

Mario again: ""<blockquote>But nouveau in its current incarnation isn't yet suitable for
research grade stimulus presentation timing. It's pretty good performance- and
functionality-wise, but the display onset timing has bugs. I'm working with the
nouveau-devs to get it properly implemented for a future nouveau release, but it
probably won't be part of the 2011 Linux distros, at least not as a standard
install. PTB outputs warnings if you try to run on a too old nouveau- ie. on any
nouveau at the moment.</br>

The free software Intel (for half-way recent GPU's) and ATI (for almost all
GPU's) drivers are in a very good shape in the recent distros. Both should have
the most precise and robust timestamping you could find anywhere. Also the only
timestamping that works in all display configurations with all display types and
settings. Functionality and performance are catching up to the binary drivers in
all areas that are relevant to us. I'd expect them to be perfectly useable for
the majority of vision science experiments, and for some of them even more than
the binary drivers.</blockquote>""
=====Installing Issues=====
The newer PTB has several dependencies that need to be installed first before PTB will work correctly. Please *read* the information given by the PTB installer which gives the following instructions:
##The Psychtoolbox on GNU/Linux needs the following 3rd party libraries
in order to function correctly. If you get "Invalid MEX file errors",
or similar fatal error messages, check if these are installed on your
system and if they are missing, install them via your system specific
software management tools:

===For Screen() and OpenGL support===

* The OpenGL utility toolkit GLUT: glut, glut-3 or freeglut are typical provider packages in most Linux distributions.
* GStreamer multimedia framework: At least version 0.10.24 of the core runtime and the gstreamer-base plugins.
For optimal performance use the latest available versions.
A simple way to get GStreamer at least on Ubuntu Linux is to install the "rhythmbox" or
"totem" multimedia-players. You may need to install additional packages to play back all
common audio- and video file formats. See "help GStreamer".
* libusb-1.0 USB low-level access library.
* libdc1394 Firewire video capture library.
* libraw1394 Firewire low-level access library.


===For PsychKinect() (See "help InstallKinect"):===

* libusb-1.0 USB low-level access library.
* libfreenect: Kinect driver library.

===For Eyelink():===

* The Eyelink core libraries from the SR-Research download website.


If you receive an installation failure soon, then please read the output of
"help GStreamer" first and follow the installation instructions for GStreamer
on Linux. Psychtoolbox's Screen() command will not work without GStreamer!##

Also, at least one user had to physically move libdc1394.so.22 from the Matlab. See http://tech.groups.yahoo.com/group/psychtoolbox/message/12408 for more info.


Revision [1692]

Edited on 2011-08-08 12:58:39 by AlanRobinson [link to page with corrected spelling in title]
Additions:
Use the proprietary driver for NVidia. For Intel and probably ATI, the open-source drivers should be sufficient, except for 30 bit support.
research grade stimulus presentation timing. It's pretty good performance- and
===For Screen() and OpenGL support===
===For PsychKinect() (See "help InstallKinect"):===
===For Eyelink():===
Deletions:
Use the proprietary driver for NVidia. For Intel and probably ATI, the open-source drivers should be sufficient.
reserach grade stimulus presentation timing. It's pretty good performance- and
For Screen() and OpenGL support:
For PsychKinect() (See "help InstallKinect"):
For Eyelink():


Revision [1687]

Edited on 2011-07-19 04:41:36 by IanA [add dependency info]
Additions:
The most recent beta release (V3.0.9 revision 2191) contains support for 64bit Matlab / Octave, but one cannot mix running 64bit Matlab on a 32bit Ubuntu and visa versa. Please see below for some potenetial problems with correctly installing dependencies.
=====Installing Issues=====
The newer PTB has several dependencies that need to be installed first before PTB will work correctly. Please *read* the information given by the PTB installer which gives the following instructions:
##The Psychtoolbox on GNU/Linux needs the following 3rd party libraries
in order to function correctly. If you get "Invalid MEX file errors",
or similar fatal error messages, check if these are installed on your
system and if they are missing, install them via your system specific
software management tools:
For Screen() and OpenGL support:
* The OpenGL utility toolkit GLUT: glut, glut-3 or freeglut are typical provider packages in most Linux distributions.
* GStreamer multimedia framework: At least version 0.10.24 of the core runtime and the gstreamer-base plugins.
For optimal performance use the latest available versions.
A simple way to get GStreamer at least on Ubuntu Linux is to install the "rhythmbox" or
"totem" multimedia-players. You may need to install additional packages to play back all
common audio- and video file formats. See "help GStreamer".
* libusb-1.0 USB low-level access library.
* libdc1394 Firewire video capture library.
* libraw1394 Firewire low-level access library.
For PsychKinect() (See "help InstallKinect"):
* libusb-1.0 USB low-level access library.
* libfreenect: Kinect driver library.
For Eyelink():
* The Eyelink core libraries from the SR-Research download website.
If you receive an installation failure soon, then please read the output of
"help GStreamer" first and follow the installation instructions for GStreamer
on Linux. Psychtoolbox's Screen() command will not work without GStreamer!##
Also, at least one user had to physically move libdc1394.so.22 from the Matlab. See http://tech.groups.yahoo.com/group/psychtoolbox/message/12408 for more info.


Revision [1686]

Edited on 2011-07-18 18:28:45 by IanA [initial text]
Additions:
See this page for more info: https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel
Comment by Mario""<blockquote>
The lowlatency kernel is simple to install, as you explained, and probably good
enough for all but the most challenging applications. For example some tables
benchmark results with respect to the minimal audio latency that can be reliably
achieved:</br>
<https://wiki.ubuntu.com/RealTime></br>
To put this into perspective, a typical os/x system won't be able to achieve
less than about 6-8 msecs, at least i haven't seen anything better in my testing
from macbookpro to 8 core mac-pro. The values they achieve (3-4 msecs) are close
to the theoretical optimum.</br>
Even the default kernel is already at least as good as what the other operating
systems have to offer. Compiling a hard realtime kernel yourself is not that
simple for beginners, but if you'd really need it you can also download and
install a realtime kernel from an older distribution, e.g., 10.04. It would be a
tradeoff between gaining hard realtime caps and losing some functionality which
was added in later kernels.</blockquote""
The recommendation is to use Classic mode; comment from Mario:
""<blockquote>Yep. "Ubuntu Classic (no effects)" may be even better. If you use the new Unity
UI, that's the most shiny and untested one -- i don't quite hate it as much as
many other people, but so far i don't see it adding much to the user experience.
It's the usual "let's add a smartphone or tablet GUI to a desktop/laptop
computer, because it looks fancy."</br>
Both "Ubuntu Classic" and "Unity" use a desktop compositor to create the shiny
3d'ish desktop. This is nice for ergonomy and eye-candy but it can reduce
performance and really impair exact presentation timing and timestamping. Same
problem as on Windows Vista/7 and OS/X with their desktop compositors.</br>
The Linux guys are working on a solution to make the timing and timestamping as
precise with a compositor as without it -- i'm involved in that effort. It is a
pretty difficult technical problem and progress is slow, but we'll get there at
some point. No similar efforts exist at all on OS/X or Windows afaik - At least
none that aren't known to be extremely broken to the point of being not only
useless but harmful.</br>
Psychtoolbox disables the desktop compositor when a fullscreen onscreen window
is presented on OS/X, Windows and Linux to achieve correct stimulus onset timing
and timestamping and to reduce the performance impact of a compositor.</br>
However, if you are running a machine for real data collection you may want to
manually shut down the compositor completely, because a) it is the most reliable
way to know it really doesn't interfere, and b) it frees up additional graphics
and system resources, which are usually used even if the compositor is in
standby mode.</br>
On Linux 10.10 and earlier this was achieved via Menubar -> System settings ->
Appearance -> Desktop effects -> "Off" or something like that.</br>
On 11.04 i think you select the "Ubuntu classic (no effects)" environment.</br>
This will run in a old unsexy, non 3d'ish, "flicker during Windows movements and
redraws like WindowsXP" environment, however with drastically reduced GPU
resource consumption and no interference at all.</br>
I usually do complex timing tests with the compositor shut down, but normal
testing with the compositor on and just switching to standby when fullscreen
windows are used.</br>
One catch: On Linux, PTB doesn't actively switch the compositor to standby.
Instead it uses the PsychGPUControl() command as part of the Psychtoolbox
installer/updater to configure the compositor to switch itself to standby if it
detects a fullscreen window on a display.
If you do something like install PTB while Unity is running, then switch to the
"Classic" environment, this configuration setting may not transfer. It doesn't
hurt to add the PsychGPUControl command to the top of your script for extra
paranoia. Or manually disable it via the GUI.</br>
I'll probably add some call to PsychGPUControl() to Screen's Openwindow function
in the future, so this is more fool-proof.</blockquote>""
Use the proprietary driver for NVidia. For Intel and probably ATI, the open-source drivers should be sufficient.
Mario again: ""<blockquote>But nouveau in its current incarnation isn't yet suitable for
reserach grade stimulus presentation timing. It's pretty good performance- and
functionality-wise, but the display onset timing has bugs. I'm working with the
nouveau-devs to get it properly implemented for a future nouveau release, but it
probably won't be part of the 2011 Linux distros, at least not as a standard
install. PTB outputs warnings if you try to run on a too old nouveau- ie. on any
nouveau at the moment.</br>
The free software Intel (for half-way recent GPU's) and ATI (for almost all
GPU's) drivers are in a very good shape in the recent distros. Both should have
the most precise and robust timestamping you could find anywhere. Also the only
timestamping that works in all display configurations with all display types and
settings. Functionality and performance are catching up to the binary drivers in
all areas that are relevant to us. I'd expect them to be perfectly useable for
the majority of vision science experiments, and for some of them even more than
the binary drivers.</blockquote>""


Revision [1685]

The oldest known version of this page was created on 2011-07-18 18:19:15 by IanA [initial text]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki