--- In
psychtoolbox@yahoogroups.com, Yanxia Pan <yanxia.pan@...> wrote:
>
> Thank you for your attention! I've considered that possibility, however, I used PTB on Windows before I changed to Ubuntu and, under Windows at least Matlab didn't say stuff like "AUX buffer". I don't know what's the problem. Maybe some updates are the cause?
The aux buffer warning is ok, just ignore it. I should probably remove it. Most operating systems and drivers don't support aux buffers (well) anymore, so a warning about something that is more the rule than the exception probably doesn't help too much. Also ptb now has builtin alternatives for most uses of aux buffers.
> I type 'glxinfo | grep render' and below is output:
> >direct rendering: Yes
> >OpenGL renderer string: Mesa DRI Intel(R) 915GM GEM 20091221 2009Q4 x86/MMX/SSE2
>
> is that normal?
Yes.
>
> >I am starting to use PTB-3 on my ThinkPad R52 with Intel (R) 915 integrated graphic card. I can run the demo sometimes but PTB said that AUX buffer could not be enabled and, what's more, sometimes I can't run the same demo and synchronization failure appeared!
Especially the older Intel GPU's like yours are not a great choice, because they have severely limited features and performance. Only suitable for simple tasks with low demand on performance, features and timing accuracy.
There are still things you can try. First all the troubleshooting tips mentioned in the error message that is shown on sync failure. If the error is sporadic, it may just be that your systems timing is rather noisy, so:
1. Do you run Matlab or Octave as root / admin user? --> sudo matlab or sudo octave.
PTB can only run its calibrations with realtime priority if run as admin user like that. Also the Priority() command only works that way.
This as a quick test. If you don't want to work as admin user via sudo, you can edit the file /etc/security/limits.conf as admin user and loosen the restrictions a bit:
Adding these lines...
* soft rtprio 10
* hard rtprio 10
* soft memlock 2000000
* hard rtprio 2000000
... would allow any user (*) to run Matlab/Octave up to realtime Priority(10) and to lock up to 2 GB (2 Million kilobytes) of memory for realtime operation. Instead of * you could e.g., use your login name or the name of some usergroup to restrict this. See "man limits.conf" for explanation. This typed from the top of my head, may contain errors.
2. Standard optimization tips as described on our Wiki apply (see FAQ performanc tuning).
3. On Linux you can install a hard-realtime kernel instead of the normal kernel:
sudo apt-get install linux-rt
Wait a few minutes until done, reboot and choose the linux-rt kernel from the boot manager. This typed from the top of my head, may contain errors.
4. Finally it is a good idea to disable visual desktop effects in Preferences -> Visual Appearance -> Effects --> None. But i assume they are disabled anyway on such an old graphics card.
All tips applied together, at least with modern Nvidia or ATI cards, i achieved better timing precision and stability than anything i've ever seen on any Windows or MacOS system, even under very high load.
Your very old card could still be troublesome. If it still doesn't work then you should post the complete Matlab output for closer inspection. Another option, if you don't need frame-accurate stimulus timing for your studies is to simply skip the calibration via Screen('Preference', 'SkipSyncTests', 2);
-mario