Windows tablets that run ptb?

Is there a list or a few examples of somewhat affordable Windows tablets that run ptb well? Most seem to come with Intel HD graphics which in my experience don’t work well on desktop computers. I am less familiar with Intel Iris and would be interested in any Nvidia GPUs as even old ones seem to run fine.

“Runs well” means they’re able to run video or other multimedia without crashing, ideally without Screen(‘Preference’, ‘SkipSyncTests’, 1); If it has actual good consistent timing, that’s a bonus but not necessary. 2-in-1 computers are also an option though tend to be more expensive.

There is only one paper I’m aware of using using a Surface Pro 3 for visual testing, though they used C# and R to code the experiment: https://doi.org/10.1167/tvst.8.1.17 (you could ask the first author Pete Jones if they had tried to get PTB working)…

As a general point, if it runs Windows it should also run Linux, where PTB is bound to work much better using the same hardware…

1 Like

Note that we don’t recommend NVidia gpu’s.

“Affordable” means different things to different people.
I’ve got a Microsoft Surface Pro 6 tablet, it was donated for PTB development, so that is my tablet for PTB tablet development and testing. It has Intel UHD 620 graphics, and the latest Windows-10 20H20 as well as Ubuntu Linux 20.04.1-LTS installed (see Installation and Setup · linux-surface/linux-surface Wiki · GitHub)

It works very well under Linux, except for the cameras, which are currently not supported. Visual timing is excellent, as one would expect. Sound works nicely, the 10 point multi-touch screen works nicely with PTB’s MultiTouchDemo etc.

Under Windows, the Intel-gfx is a dumpster fire, with totally broken timing, as one almost expects for Intel gfx on Windows nowadays. No way to get visual stimulation up without ‘SkipSyncTests’. Any attempt to fix this has failed. And ofc. no real touch input support in PTB, only GetMouse() “finger as mouse” emulation.

In the end, if timing and touch input matter, Linux is the way to go. On tablets the catch is that most of them use highly proprietary hardware, so Linux installation and support may not always be as straightforward as on typical PC’s or laptops.

There are also tablet’s with Linux, cheaper than a MS Surface Pro 6. E.g., i just found this article with a quick Google. Ofc. i haven’t tested any of these, so don’t know how well they work. Certainly a 99$ tablet won’t have the graphics or compute performance of a two-in-one laptop of $$$ tablet:

-mario

Thanks for the replies.

I mentioned Nvidia as I don’t believe there are many AMD GPU tablets, but I’ve found even old “gaming suitable” cards are better than newly sold Intel chips.

And of course we can install Linux on a Windows tablet, should be easy, but they’re not sold that way. I am less certain of the feasibility of an Android or Chromebook or other *nix that’s not really designed to replace the OS. In theory it should work I just don’t know the details. The Pi based option is an interest alternative, I’m not sure of the specs vs. Matlab or Octave.

It’s purely a matter of driver quality though. The Intel drivers for Linux are excellent, and due to my past involvement also well-suited somewhat for vision science use, whereas the Windows drivers are mostly awful in my experience. Hopefully there will be more AMD stuff coming, given that their integrated graphics chips are currently quite superior to Intel’s.

Btw. the reason i received that tablet was because some monkey labs use these tablets already successfully under Ubuntu Linux for training and testing, and want it to stay that way.

Famous last words :wink:

Octave runs on the RaspberryPi based devices, Matlab doesn’t. Performance is ofc. lower on a Pi or other cheap SoC’s than on a Intel cpu + gpu. Psychtoolbox is available for the RPi though, as tested on 32-Bit Raspbian Linux with a RPi 2B. I contributed the Linux kernel code for high precision timing/timestamping on Rpi 2/3 a few years ago, so within the performance constraints of the VideoCore-4 gpu, visual timing/timestamping is actually quite good – still better than Windows or macOS. For christmas i “treated” myself to a new RaspberryPi 400 kit, to see how much the RPi 4 improves wrt. performance with its new VideoCore-6 gpu, faster ARM cpu and more RAM. So far this resulted in a whole day of tedious debugging of visual display problems, because somebody screwed up, but an hour ago i seem to have cracked it, and pageflipping and timing seems to work now. Cfe. v3d: missing broadcom uif support causes spam in xorg logs (#3601) · Issues · Mesa / mesa · GitLab

This will require more careful testing and tuning, but the current state for Rpi4 looks now much more promising than 10 hours ago. Lower end tablets which are Pi based could be quite interesting…

Obviously financial contributions to these efforts are welcome, e.g., via buying our “community memberships with priority support”.

-mario

Oh God, you’re right about Linux install. I had suppressed the memories of dealing with Broadcom in Linux, and have only done ethernet installs since then.

At least on non-Apple laptops i can’t remember having any real wifi issues wrt. Linux in a very long time. Either the onboard open-source drivers worked, or proprietary drivers were - usually automatically - installed and worked. Proprietary is never ideal, but in the case of wifi at least it doesn’t interfere with PTB’s need.

Ofc. highly proprietary things like tablets might differ, although on the MS Surface Pro that wasn’t an issue either. The Surface on Linux project i linked to provides custom build kernels which support most of the hardware at least on the older Pro models well. As of the MS Surface Pro 6, i think only the cameras are non-functional todo items, although they seemed to make some progress in the last couple of weeks.

My worst experience so far was my Apple MBP 2017, but after many hours of googling i found a solution that works. More modern Apple machines than 2017 however are quite the dumpster fires when it comes to compatibility, as Apple just can’t play along nicely with others and stick to industry standards :(.

One problem with typical tablets, for other than their default operating system, is that they are usually ARM SoC’s and standardization of components or how these are discovered and configured is non-existent or in its infancy, whereas Intel compatible PC’s had standards for that since forever.

Also extreme variety of components, and at least in the past almost only proprietary drivers for their gpu’s, so the OSS community needs to do a lot of reverse engineering for each new gpu model. The stance there seems to be slowly changing with at least some vendors, when they recognize their advantage in promoting instead of fighting open-source drivers.

Additionally, Linux open-source graphics/display system (Mesa OpenGL/Vulkan drivers + Linux DRM/KMS low level display drivers) has certain features which make it especially suitable for vision science / neuroscience applications, in some part due to my active involvement in adding and improving those features. That’s great and one of the many reasons i strongly recommend Linux for neuroscience research.

But given that most driver writers are not familiar with the needs of vision science and graphics cards manufacturers are generally not in the business of neuroscience, it still needs advocacy and active work by myself to bring specific gpu drivers up to the needed standards, and keep them there. This is way less work and way more effective than dealing with Microsofts OS or Apples trainwrecks, but it is still work.

That’s why i can only recommend stuff that i’ve actually tested or gotten trustworthy feedback on, or improved myself as needed, when it comes to embedded/mobile/tablet hardware with SoC’s.

So in general Windows tablets with Intel onboard graphics should work well, because the Linux Intel gpu drivers are excellent. You could run into other problems though like exotic sound chips, unusually broken touchscreen hw/firmware, hostile bootloaders etc. Always good to google for a while.

Wrt. RaspberryPi based hw, that’s the one SoC that i have two models of now, and at least the RPi 2B (and likely the Rpi3, as the hardware is very similar but untested by myself) work already pretty well for its niche. That was after i spent the better part of a months improving the Linux vc4 DRM/KMS display driver wrt. display timing. I’m aware of about two labs that use it happily, but i’m still surprised about the relatively low uptake in general. With its price, size, reasonable capabilities for lower end visual stimulation paradigms, and especially all its hardware i/o abilities like easy digital i/o, TTL triggering, etc., i thought more labs would be excited about this.

-mario

Can you share the detailed specifications of your Microsoft Surface Pro 6 so we can recreate exactly this well-tested tablet/PTB system? thank you!

-KC

Sure. All you need to do is get your lab to buy priority support and present the authentication token to confirm you are eligible to me spending some time on this.

-mario