Unable to set multi-screen (2 and more screens)

Hi PTB community and team, I am trying to set up psychtoolbox to generate the 12bit precision stimuli for detecting the detection threshold. in order to get the 12bit precision, our lab follow the Document on Psychtoolbox to set up our system.

HW/SW Info:
Motherboard: asus prime b760m-a
CPU: Intel® Core™ i7-14700KF
GPU: AMD® Radeon pro w7600
OS: Ubuntu 22.04.5 LTS
Matlab: R2024b
and we download the amdgpudriver from the https://www.amd.com/en/support/download/linux-drivers.html

we install the Psychtoolbox for Matlab from NeuroDebian

The Screens Info:
Screen 0: minimum 320 x 200, current 8320 x 2160, maximum 16384 x 16384
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 connected 3840x2160+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
3840x2160 60.00*+ 59.94 50.00
2048x1080 59.94 + 50.00
4096x2160 50.00
1920x1200 59.88
1920x1080 60.00
1600x1200 60.00
1680x1050 59.95
1280x1024 60.02
1440x900 59.89
1280x960 60.00
1280x800 59.81
1280x720 60.00
1024x768 60.00
800x600 60.32
640x480 59.94
DisplayPort-2 disconnected (normal left inverted right x axis y axis)
DisplayPort-3 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
1920x1080 60.00*+ 50.00 59.94
1680x1050 59.88
1600x900 75.00 60.00
1280x1024 75.02 70.00 60.02
1440x900 59.90
1366x768 59.79
1280x800 60.00
1152x864 75.00
1280x720 60.00 50.00 59.94
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
720x576 50.00
720x480 60.00 59.94
640x480 75.00 72.81 66.67 60.00 59.94
720x400 70.08
DisplayPort-4 connected 2560x2048+5760+0 (normal left inverted right x axis y axis) 392mm x 698mm
2560x2048 49.98*+
1024x768 60.00
800x600 60.32
640x480 59.94
DisplayPort-5 disconnected (normal left inverted right x axis y axis)

we have three screens, one for control (DP-3), two for display stimulus (DP-1 is a digital projector and DP-4 is a LCD panel);

Issue Is Here
so we follow the Screen instruction using the XOrgConfCreator for creating a 3-screens config file. then we XOrgConfSelector the 90-ptbconfig_3_xscreens_3_outputs_amd.conf. After we reboot the machine, only the 0-screen for control has signal; the other two have no signal and show a black screen, and also in the xrandr we can’t see any information about the other two screen. We further test with two screens only (DP-1 and DP-3), and selecting a corresponding built up 90-ptbconfig_2_xscreens_2_outputs_amd.conf, the same situation still occur. Sometimes it may even lead to computer boot up failure.

Only when we XOrgConfSelector to a config file build by selecting

Do you want single or multiple display set up: single (with three screens connected)

then the other two have signal and can be detected. No errors reported throughout our setting.

Has anyone had a similar situation and any ideas on how to fix it?

Any replies are greatly appreciated!

ziyuan

Getting true 12 bpc (12 bit per color channel) per pixel individual output precision on suitable AMD graphics cards and displays needs special setup as described in help PsychImaging in the section about the EnableNative16BitFramebuffer task.

Downloading the amdgpudriver from the link you cited is what you absolutely should not have done, unless specificially instructed by myself, as stressed in our “System Requirements” documentation on our website. See: Psychtoolbox-3 - System Requirements citing " On Linux, please do not install the AMD proprietary amdgpu-pro driver, but simply stick to the high qualiy amdgpu driver which is already installed on any new Linux installation (batteries included!), iow. if you don’t do anything, you’ll do the right thing."

So that might be a possible reason for your failures, or other future problems, or not, who knows? However, on a multi-x-screen setup, all displays associated with X-Screens 1, 2, 3, … will only show black background by default, so are your sure the other screens don’t have a signal? Or are they just showing a black background? Moving the mouse cursor there would confirm proper operation.

That said, the specific setup steps described in PsychImaging are required for true 12 bpc framebuffers. And it has only be tested with the default drivers. You do need to install the driver described there and then use the PsychImaging task specified there.

-mario

Thank you very much for your reply mario; I’m sure that the other screens are not signaling, since only one monitor is visible in the display setting (the mouse cannot move to other screens either);
Next I will try to uninstall the download amdgpudriver (the already downloaded GPU-open AMDVLK still needs to be preserved for the 12bit precision right?) and just use the original gpudriver that came with linux22.04.5. I’ll share the test results with the community afterward, thanks again for your reply.
ziyuan

According to Mario’s suggestion, I successfully created a configuration file for three monitors (one for control and two for displaying stimuli), and I was able to display the stimuli on the second and third devices.

1 Like