@disadone
I’m not sure what you mean by ‘hardware location’, and I agree that many things are confusing at the moment, but a few things are explained if you try the demo ‘Feature Demos->eyetracking’ (a short README pops up as you open the experiment). As mentioned there, eyetracker specifications are expected to be done in ‘Experiment settings->Eyetracking’. There you can choose type of eyetracker, specify sampling rate, and give some additional information.
@sol So far I had run our experiment and the demos on the experiment computer, and this works fine now, with ‘MouseGaze’ as well as an actual Tobii eyetracker. This computer runs Windows and is a Lenovo Legion 5 laptop. However, I also use my personal MacBook for development. I just tried running the experiment as well as the eyetracking Demo experiment mentioned above on the Mac. Both cause the same type of error, I’m including the output from attempting to run the eyetracking Demo below:
## Running: /Users/workingman/Documents/Programming/python/psychopy/psychopy_demos_v2021_2_3/Feature Demos/eyetracking/eyetracking_lastrun.py ##
355.3329 INFO Loaded monitor calibration from ['2020_09_29 09:17']
0.9441 WARNING We strongly recommend you activate the PTB sound engine in PsychoPy prefs as the preferred audio engine. Its timing is vastly superior. Your prefs are currently set to use ['sounddevice', 'PTB', 'pyo', 'pygame'] (in that order).
ioHub Server Process Completed With Code: -11
2021-09-01 11:26:19.696 python[25799:1241390] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/7q/7fxv4sl52jj6v9ghyt1zwvzh0000gq/T/org.opensciencetools.psychopy.savedState
Traceback (most recent call last):
File "/Users/workingman/Documents/Programming/python/psychopy/psychopy_demos_v2021_2_3/Feature Demos/eyetracking/eyetracking_lastrun.py", line 96, in <module>
ioServer = io.launchHubServer(window=win, **ioConfig)
File "/Applications/PsychoPy.app/Contents/Resources/lib/python3.6/psychopy/contrib/lazy_import.py", line 120, in __call__
return obj(*args, **kwargs)
File "/Applications/PsychoPy.app/Contents/Resources/lib/python3.6/psychopy/iohub/client/connect.py", line 290, in launchHubServer
return ioHubConnection(iohub_config)
File "/Applications/PsychoPy.app/Contents/Resources/lib/python3.6/psychopy/iohub/client/__init__.py", line 289, in __init__
raise RuntimeError('Error starting ioHub server: {}'.format(self.iohub_status))
RuntimeError: Error starting ioHub server: ioHub startup failed.
##### Experiment ended. #####
I get the same error regardless of whether I use the ‘testMonitor’ monitor specification, or a custom ‘macMonitor’ specification which is tailored to my Mac and otherwise works as expected.
Here are the specs of my Mac:
- OS: macOS Big Sur version 11.4
- Model: MacBook Pro (Retina, 13-inch, Early 2015)
- Processor: 2.7GHz Dual-Core Intel Core i5
- Memory: 8GB 1867MHz DDR3
- Graphics: Intel Iris Graphics 6100 1536MB
- Serial Number: C02PJ38HFVH5
- Display: Built-in Retina Display
I suspect that the retina display is what’s causing issues. I’ve had trouble with this and PsychoPy in the past. I’ll try testing with an external display, too. Update: Nope, I get the exact same error even if I try running the demo experiment with an external display and Experiment ‘Screen’ settings updated accordingly. Non-ioHub Demo experiments work as expected with either screen. Maybe ioHub is trying to tap into some particular functionality/data and runs into issues with Mac’s aggressive security/privacy/permission policies? I’m not being prompted to allow something extra, but I’ve had problems with this too before. Apple doesn’t make things easy
Edit: I should mention that the Mac could run the experiment with PsychoPy v2021.1.x, when I was mocking the eyetracker using the method we discussed [in this thread]. It’s only now that I’m trying to use PsychoPy v2021.2.3 and the more sophisticated built-in mocking that I’m running into issues.
(if you want, I can start a separate thread about this issue, or write it as a GitHub issue instead)