Bug in free fusion/StereoMode 4 setup with MacBook Pro Retina display?

hi,

after a bit of a hiatus i am building a new experiment system that uses StereoMode 4. my development system is:

- Mid-2014 MacBook Pro Retina
- OS X 10.12.6
- MATLAB 2017a
- PsychToolbox Revision 8432


i do not currently have the PsychToolbox kernel driver installed, as this machine is only used for development.

for coding and development i am using an external monitor, and the internal display of the laptop as the stimulus display. this is the output from PsychToolbox when the window is opened:

PTB-INFO: OpenGL-Renderer is NVIDIA Corporation :: NVIDIA GeForce GT 750M OpenGL Engine :: 2.1 NVIDIA-10.18.5 378.05.05.25f04
PTB-INFO: Renderer has 2048 MB of VRAM and a maximum 2048 MB of texture memory.
PTB-INFO: VBL startline = 1800 , VBL Endline = -1
PTB-INFO: Beamposition queries unsupported or defective on this system. Using basic timestamping as fallback.
PTB-INFO: Timestamps returned by Screen('Flip') will be therefore less robust and accurate.
PTB-INFO: Measured monitor refresh interval from VBLsync = 16.673672 ms [59.974790 Hz]. (50 valid samples taken, stddev=0.103969 ms.)
PTB-INFO: Small deviations between reported values are normal and no reason to worry.
PTB-INFO: Stereo for free fusion or dual-display desktop spanning enabled (2-in-1 stereo).
PTB-INFO: Psychtoolbox imaging pipeline starting up for window with requested imagingmode 33793 ...
PTB-INFO: Will use 8 bits per color component framebuffer for stimulus drawing.
PTB-INFO: Enabling panel fitter. Providing virtual framebuffer of 1440 x 900 pixels size.
PTB-INFO: Will use 8 bits per color component framebuffer for stimulus post-processing (if any).


an issue that i ran into yesterday with this setup is that anything drawn into the left/right stereomode window has the wrong aspect ratio: the images displayed in each half of the window are stretched x2 in the vertical dimension. this includes a simple Screen('DrawDots') command, or any other texture drawing.

this does not happen if i use the my external display, which is a non-pixel doubled LCD display that does not require the panel fitter.


is this a bug, or is there some extra PsychImaging configuration step that is needed for this to work as expected on the pixel-doubled display?


Sounds like a bug/limitation, but given it was difficult and time-consuming enough to make it work reliably in standard display modes without having access to any Retina display Mac ever, i won't try to fix this. Use of the panelfitter to provide Retina backwards compat for Apple is a bit of a hack in itself, so there are probably various corner cases where it can fail. This is just one of them.

You can use the PsychImaging task 'UseRetinaDisplay' (or something like that) to disable the rescaling and just use the panel at full native resolution. That should solve it.

-mario

XXXIn PSYCHTOOLBOX@yahoogroups.com, <microfish@...> wrote :

hi,

after a bit of a hiatus i am building a new experiment system that uses StereoMode 4. my development system is:

- Mid-2014 MacBook Pro Retina
- OS X 10.12.6
- MATLAB 2017a
- PsychToolbox Revision 8432


i do not currently have the PsychToolbox kernel driver installed, as this machine is only used for development.

for coding and development i am using an external monitor, and the internal display of the laptop as the stimulus display. this is the output from PsychToolbox when the window is opened:

PTB-INFO: OpenGL-Renderer is NVIDIA Corporation :: NVIDIA GeForce GT 750M OpenGL Engine :: 2.1 NVIDIA-10.18.5 378.05.05.25f04
PTB-INFO: Renderer has 2048 MB of VRAM and a maximum 2048 MB of texture memory.
PTB-INFO: VBL startline = 1800 , VBL Endline = -1
PTB-INFO: Beamposition queries unsupported or defective on this system. Using basic timestamping as fallback.
PTB-INFO: Timestamps returned by Screen('Flip') will be therefore less robust and accurate.
PTB-INFO: Measured monitor refresh interval from VBLsync = 16.673672 ms [59.974790 Hz]. (50 valid samples taken, stddev=0.103969 ms.)
PTB-INFO: Small deviations between reported values are normal and no reason to worry.
PTB-INFO: Stereo for free fusion or dual-display desktop spanning enabled (2-in-1 stereo).
PTB-INFO: Psychtoolbox imaging pipeline starting up for window with requested imagingmode 33793 ...
PTB-INFO: Will use 8 bits per color component framebuffer for stimulus drawing.
PTB-INFO: Enabling panel fitter. Providing virtual framebuffer of 1440 x 900 pixels size.
PTB-INFO: Will use 8 bits per color component framebuffer for stimulus post-processing (if any).


an issue that i ran into yesterday with this setup is that anything drawn into the left/right stereomode window has the wrong aspect ratio: the images displayed in each half of the window are stretched x2 in the vertical dimension. this includes a simple Screen('DrawDots') command, or any other texture drawing.

this does not happen if i use the my external display, which is a non-pixel doubled LCD display that does not require the panel fitter.


is this a bug, or is there some extra PsychImaging configuration step that is needed for this to work as expected on the pixel-doubled display?