Moving from Windows to Linux and need options for analog & digital I/O

I'm currently using a WinXP system with Matlab to interface with a measurement computing card (PCI-DAS1602/12). This is my experimental control system, running PTB for graphics and custom code for bringing analog & digital signals in & out. This communicates via UDP with a second computer, a graphics slave, running PTB and waiting for commands. This second computer really has no custom hardware, I've set it up as a Linux machine with realtime or lowlatency kernels and Ubuntu or as a Mac OS X machine. What I'd like to do is be able to replace the WinXP machine with a Ubuntu linux one running PTB. But I also need access to all the digital & analog I/O and a low latency system. I'm curious if anyone has advice. Options seem to be:

1 - Stick with windows. Downside is the timing of windows is getting worse with each release (w.r.t. PTB) and I don't like it. If I stay with XP then I'm going to be obsolete at some point. Upside is it's easier to get software support for the I/O options

2 - Mac. I don't see an option here, PTB compatibility/speed/etc seems to be moving in the wrong direction with each OS release, and the support for I/O options is poor anyway.

3 - Linux using comedi. This is an option, I suppose. how much work is it to get comedi going and going well? I see it involves a library install, and kernel extension (kcomedi) for realtime support. Has anyone used a PCI-based I/O card with comedi and realtime or lowlatency linux successfully? Is it a reasonable install? I'm OK with linux kernel changes, but I would hope for a system that was reliable.

4 - Linux with some other hardware that has good support. I recall some other hardware (labjack) that is worth considering. Is the bandwidth/latency good enough that I should consider this?

Thanks for any advice!
I guess you can rule out 2). Option 1 - I think WinXP support, even for critical security updates will come to an end spring 2014 the latest if i remember Microsofts schedule correctly.

Wrt. option 4) you don't state your requirements, so people with practical experience won't be able to tell you if those are good enough.

Wrt. 3) The next big todo item for ptb is to improve our i/o support and have some generic driver that tries to drive different hardware via specific plugins. On Linux, Comedi will be my first choice for a hw i/o plugin. Given that Comedi is part of the kernel it should be a future proof and well maintained solution. For me the advantage would be to gain support for a large number of i/o boards by writing one plugin. That said, i so far have no practical experience with it, so i don't know if it will work as well in practice as i hope it will.

But the idea of a unified driver is that you would write your code once and then could switch to different hardware by using or writing a different plugin.

I can't make predictions when this will be ready or at least somewhat useable though, only that i intend to start working on it very soon. User input for the requirements of such a driver would help.

-mario

--- In psychtoolbox@yahoogroups.com, "matadasm" <matadasm@...> wrote:
>
> I'm currently using a WinXP system with Matlab to interface with a measurement computing card (PCI-DAS1602/12). This is my experimental control system, running PTB for graphics and custom code for bringing analog & digital signals in & out. This communicates via UDP with a second computer, a graphics slave, running PTB and waiting for commands. This second computer really has no custom hardware, I've set it up as a Linux machine with realtime or lowlatency kernels and Ubuntu or as a Mac OS X machine. What I'd like to do is be able to replace the WinXP machine with a Ubuntu linux one running PTB. But I also need access to all the digital & analog I/O and a low latency system. I'm curious if anyone has advice. Options seem to be:
>
> 1 - Stick with windows. Downside is the timing of windows is getting worse with each release (w.r.t. PTB) and I don't like it. If I stay with XP then I'm going to be obsolete at some point. Upside is it's easier to get software support for the I/O options
>
> 2 - Mac. I don't see an option here, PTB compatibility/speed/etc seems to be moving in the wrong direction with each OS release, and the support for I/O options is poor anyway.
>
> 3 - Linux using comedi. This is an option, I suppose. how much work is it to get comedi going and going well? I see it involves a library install, and kernel extension (kcomedi) for realtime support. Has anyone used a PCI-based I/O card with comedi and realtime or lowlatency linux successfully? Is it a reasonable install? I'm OK with linux kernel changes, but I would hope for a system that was reliable.
>
> 4 - Linux with some other hardware that has good support. I recall some other hardware (labjack) that is worth considering. Is the bandwidth/latency good enough that I should consider this?
>
> Thanks for any advice!
>