It could be this frequency halving bug previously reported here.
The workaround (identified at that link) is to turn off waiblanking, for example:
self.win = visual.Window(screen=1, fullscr=True)
self.win.waitBlanking = False
On my Ubuntu 16.10 system running on a Zotac Zbox Magnus EN970 with Psychopy version 1.84.2
that setting synchs to retrace but at the monitor frame rate, not 1/2 the monitor frame rate.
best,
Allen