Which current laptop is best suited to run PTB?

Hi Jonathan. The answers are likely the same. Linux is the right choice. Ubuntu 20.04.3-LTS is currently the distribution best tested and recommended for most use cases, although other similar distros might work as well – unsupported and untested in case of problems though.

Disclaimer:

Wrt. hardware, irrespective of operating system choice, I can only mostly guarantee that hardware works flawlessly with any given operating system version, that i have tested myself.

Given the minimal financial resources we have, because way too few labs contribute by buying community memberships with priority support, and therefore lack of money to buy and test new hardware, my tested hardware is usually multiple years behind the state of the art.

Atm. PTB on Linux is actively tested on a 11 years old MacBookPro 2010, a 4 years old MacBookPro 2017, a 3 years old Microsoft Surface Pro 6 from 2018, and a cheap > 3.5 years old ~500 Euros, AMD Ryzen 5 2400G PC from early 2018’ish. The test set for Windows is only the 3.5 year old PC and Surface Pro tablet. macOS Catalina is only tested on the MBP 2017.

Any other advise is just based on feedback i see here on the forum, or theoretical knowledge, or other 3rd party info from Google searches. That said, i’m pretty knowledgable about that, so i hope my advices is usually not too much off.

In principle any machine with Intel or AMD graphics should work well with Linux + Psychtoolbox, unless a Google search indicates specific problems. In general, buying not the very latest machine, but maybe >= 6-12 months old, will increase the chance of good hardware support in current Linux distributions out of the box. There are also companies which provide dedicated Linux laptops, so if you can buy from them and avoid machines with NVidia graphics, that would be a quite safe choice. Companies like Dell or i think Lenovo and others also have some dedicated Linux offerings.

For highest performance and best functionality, you’d want to get AMD, so your two proposed laptops already check that box. Both look suitable on paper for not too demanding use cases, and what you describe - static image presentation or short movies, no fancy special external displays / HDR monitors / special visual stimulators / VR applications / high resolution and framerate displays - falls into the category of not too demanding use cases.

That said, something that is not easy to judge is the quality of the laptop internal flat panel display wrt. color/contrast reproduction, pixel response time, viewing angle, glare etc. So if you need very precise timing, the limiting factor for your stated use cases wouldn’t be PTB/Linux or the graphics card, but the quality of the display.

Wrt. visual timing/timestamping, both Intel and AMD gpu’s under Linux provide the highest technically possible precision and reliability. Timestamps are almost microsecond accurate and frame accurate timing should be perfect, as long as you don’t overload the gpu with too much drawing or write highly suboptimal code in your script. This recent thread gives various tips for performance optimizations on underpowered gpu’s: Timing issues/Missed frames on Dell XPS13 Ubuntu 18.04

The timing/timestamps however always refer to when a new frame arrives at the input of the display panel controller. How well that translates into the actual timing of emitted light depends on the properties of the specific display panel, and only photodiode measurements or similar external hardware measurements can give certainty.

With the caveat that display quality of both laptops is unknown, I would probably recommend this machine for you, ie. the Lenovo IdeaPad5 15.6" FHD Premium Laptop 8-Core AMD Ryzen 7 4700U.

According to a Phoronix test under Ubuntu 20.04-LTS, the Lenovo IdeaPad5 with Ryzen 7 4700U seems to perform very well on Linux - i think this is literally the machine you proposed:

The hardware in this machine is also more modern than the one in the Lenovo Thinkbook 14s, and AMD processors + integrated gpu’s are currently considered much better price/performance than Intel. Especially on the graphics side.

However, both should be fine, at least on paper.

From what i’ve quickly read, the Cedrus C-Pos should be accessible via USB-Serialport emulation. Their sample Matlab code claims an awful 5-7 msecs precision, but it uses Matlab’s serial port functions, which i haven’t tested in a while, but in the past they had very inferior timing performance compared to PTB’s IOPort driver, so i’d guess rewriting that sample code to use IOPort might give better results. Unless ofc. this is a problem of the Cedrus device and firmware. In the past, Cedrus wasn’t great in that area, but 10 years have elapsed since my last tests, so maybe that is less of an issue now.

Hope the advice is useful,
-mario

[Time spent on support request: 2 hours - priority support contingent used up for this license.]