No, it’s OK! I ran the Eye Tracker Manager on my student’s Windows laptop and we found the right IP address, and now the toolbox can find the eye tracker and is actually doing something!
The problem I’m now having is that the Screen that opens up is much bigger than the actual screen on the Tobii device, so that the display looks massively stretched and only shows the right half of the display. I’ve set everything up using Psychtoolbox’s XOrgConfCreator() to make 3 separate X-screens, with 0 as the Dell monitor, 1 as the Tobii screen and 2 as the ViewPixx. Did I perhaps do something wrong there? Or what might be causing this problem?
Thanks! I’ve already made heaps of progress today!
See some other forum posts wrt. sync errors on Ubuntu 24.04, Matlab crashing would be unexpected, given that R2024a/b was tested with 24.04 iirc., not on NVidia graphics though.
sudo apt-get install --reinstall libva-dev libva-drm2 libva-glx2 libva-wayland2 libva-x11-2 libva2
for manual reinstall of all original libva components might help.
However, configuring VAAPI for use with a proprietary NVidia driver would still need additional setup as described on that Github page.
I’ve only ever used two X displays: [0] is the MATLAB operator screen and [1] is the subject display. So in this case for me [1] would be the screen that the Tobii is set up with; we have just used the Tobii Spectrum screen (though it is not a great display for vision research at all, and has substantial lag).
So what you will need to do is just dump the Tobii display and configure the Spectrum to work with your ViewPixx. In fact, this is another important function of ETM, it allows you to set up the geometry relationship between the spectrum and the display area (in your case the ViewPixx). So the steps would be:
Remove the Spectrum display and configure the ViewPixx and Spectrum to be “fixed” together in a manner similar to the tobii screen (that uses a VESA adapter arm, you may need to have something manufactured, but you could just jerry rig it as long as you can ensure ViewPixx and Spectrum don’t move relative to each other).
Use a Windows system or a Linux system with AMD or Intel graphics, to run ETM and configure a new display. Save this.
Use your Linux system and use XOrgConfCreator to create 2 displays: [0] for OS and MATLAB and [1] dedicated to ViewPixx. Log out and log back in. Use Titta to connect and try to run one of Dee’s demos.
Thanks for the suggestion, I had in fact tried that initially and it didn’t work, so I opened an issue to see if they would change ETM as it makes compatibility with PTB harder, and their developers marked it as a WONTFIX (either they had no interest or their UI toolkit limited their support).
Thanks, this is useful! I tried making 3 X-screens again in XOrgConfCreator() - before I read your response - because I realised what I had done was make screens 2 and 3 into one screen, and that was why it was trying to present across both displays. So I made them separate X-screens, used XOrgConfSelector() to select the new configuration, and logged out and in again. HOWEVER what happened then was that the system would only boot in Wayland!! So I googled that, and tried to force the system to boot into XOrg by editing the custom.conf file to disable Wayland as described here, but now I’m just getting a blank screen when I start the computer, and if I try any of the ctrl-alt-F3 combinations, all I get is a window with streaming error messages about not being able to find the nvidia drivers:
Can you boot into safe mode (I think left+shift or escape on reboot, or if you have GRUB nstalled you can select recovery mode. Then get into a root terminal, then you can remove the xorg conf: sudo rm -rf /etc/X11/xorg.conf.d/90-ptbxorg.conf and try to revert whatever you did to stop wayland booting (editing /etc/gdm3/custom.conf?)…
OK, it looks as if I do have GRUB installed - I’ve managed to boot into safe mode and remove those files, and I’ve used nano to edit the custom.conf file. So I now have my operating system back again (phew). You’re a lifesaver! However, I tried again using XOrgConfCreator() to make a configuration (this time just for the two screens - the main monitor and the Tobii one) and again I could not get Ubuntu to start in XOrg, only Wayland. I don’t really understand why this is happening, as it was not a problem before (when I had the mistaken configuration with both screens as a single X-screen). Possibly it’s an issue with the NVidia drivers again? But why would it work earlier and not now? Very strange!
As Ron Burgundy would say: “That escalated quickly!”
A clean install is probably a good idea at this point.
Those error messages were indicating some severe malfunctions of the proprietary NVidia drivers pageflipping mechanism for image presentation.
Not sure how it could switch to Wayland by itself at all, xorg.conf files don’t have anything to do with that.
My best guess would be something was wrong with the xorg.conf file and it tried Wayland for the login manager as some kind of “safe fallback”.
The clean installation default of modern Ubuntu’s is to use Wayland for a session, unless the user chooses the X11 / XOrg session in the drop down menu at the login screen. Unless the graphics card is a NVidia card with proprietary NVidia drivers installed, where it still used the X-Server as NVidia historically had very bad Wayland support. Unless with some of the latest NVidia drivers on some of the latest Linux distributions Wayland is now also used by default.
The other thing is that more than 2 X-Screens are possible on some graphics cards, as tested in the past. But also, XOrgConfCreator was mostly written and tested for use with the free and open-source graphics and display drivers, ie. pretty much anything but the NVidia proprietary driver, which again behaves in a non-standard special snowflake way, compared to other drivers. While XOrgConfCreator usually worked ok for generating config files for NVidia in simple scenarios, and got very lightly tested by myself at some point on the only NVidia card I have left, it was never tested by myself for setting up more than 2 X-Screens, or more complex scenarios, so I don’t know if it is up for that, or if NVidia proprietary graphics drivers do support more than 2 X-Screens at all. They do have their own GUI tool via nvidia-settings iirc. that can create config files for multiple X-Screens, so that might be a more safe choice.
It all boils down to avoid NVidia graphics unless one really needs it, or it is unavoidable, e.g., maybe if one absolutely needs to use CUDA gpu computing instead of cross vendor standard OpenCL computing or such.
It seems from a bit more googling that this is not the latest version of the nvidia drivers. Should I maybe try to update them via this method before going for a clean install? I am a bit reluctant to screw things up further.
I don’t know. And I’m far away from my only machine with a NVidia gpu, which has Ubuntu 22.04, and has only ever been tested for dual-display operation, nothing with 3 or more displays.
The most safe config would be running without an xorg.conf file, I assume, if Electron or that Tobii app is too primitive to deal with non-bog-standard setups. Only if that works, it could make sense to use a xorg.conf file for multiple X-Screens. And probably better to use the nvidia-settings GUI setup tool to create the xorg.conf file for more complex configurations, as XOrgConfCreator is only lightly tested for the most basic use cases with NVidia proprietary drivers and NVidia does need different files than anything else. Many things are more limited and non-standard on NVidia proprietary drivers, and they get the most minimal amount of testing from my side, so it is all guess work if something goes wrong.