Hey Natalia! [We should probably Skype chat one of these days, I totally forgot {:/]
So the idea is to really simultaneously present stimuli on up to six monitors at the same time? Or more like one or two at a time, and you just want to avoid replugging monitors all the time or avoid using other display switching equipment?
I agree with Ian that a modern AMD gpu with six Displayport display outputs should be the way to go, on Ubuntu 22.04.3-LTS atm. In theory that should work well for multi-display setups in various configurations, creating up to six X-Screens via XOrgConfCreator etc. for six independent displays, or e.g., three X-Screens with two outputs each for up to 3 simultaneous binocular/stereo monitor pairs, or other combinations.
I think the maximum I ever tested on AMD was 4 or 5 displays at once, about ~12 years ago on Radeon HD5770 iirc, for some “Holodeck for mice” setup. And then some tests with more recent gpu’s with 3 or 4 displays - not enough monitors in the Bartels lab to test more at once at that time. Right now testing more than three (with great contortions) is impossible for me due to lack of suitable hardware, even two at a time is a hassle. But given this stuff worked well in the past on AMD + Linux, one would hope it still does.
Currently AMD are the only ones making gpu’s for up to six displays afaik. NVidia tops out at 4, Intel at 3.
Wrt. multiple gpu’s at once under Linux. It is definitely doable and I did and do test this on various occasions. However, one does need to create specially crafted xorg.conf files - XOrgConfCreator is not prepared for this. You can find some sample hand-crafted xorg config files in Psychtoolbox/PsychHardware/LinuxX11ExampleXorgConfs/ which have been used/tested on various dual-gpu laptops or pc’s. However, PTB low level gpu access only works for one gpu at a time. But that doesn’t matter with recent Navi / RDNA AMD gpu’s, as PTB neither supports nor generally requires low level access on these gpu’s with their next gen DCN display engines, as modern AMD gpu’s with modern drivers should be able to sync up Displayport connected monitors, e.g., for synchronized stereo/binocular dual-monitor stereo, at least with the right settings, without need for low level tricks.
Wrt. DisplayPort MST, I assume PTB doesn’t need to handle it, this is all a driver thing, iow. it should just work like any other standard DisplayPort connection. That said, I never tested DP-MST as I’ve never seen/had access to a DP monitor with MST daisy-chaining,
Update: Stumbling over a DP-MST related discussion and checking the X-Server driver code, I think naming of DP-MST displays could be shaky, as in: The names of connected MST display monitors may not be stable across machine reboots or system updates, so this would pose headaches for multi-X-Screen setups, where you have to store a fixed name in the xorg.conf file, which might become invalid on each reboot. In practice it might work, but there is nothing in the code to guarantee stable naming and operation. → Better avoid DP-MST if you intend to use multi-X-Screen setups.
But then, from what I’ve read, macOS does not support MST to this day, so MST and naming seems to be a general problem of that tech. Apparently the DP-MST spec has nothing helpful to say about persistent stable naming either…
Ofc. the devil is always in the details…