[MAC] Incorrect detection of secondary display refreshrate
#1
I have 2 displays connected to Mac OS X: VGA monitor and Plasma TV (via HDMI cable).

VGA monitor is primary display in Mac OS.

XBMC is configured to run on the secondary display (plasma). I also have Sync playback to display turned on in Video -> Playback settings window.

The problem is that XBMC gets the refresh rate from primary display (it is set to 1360x768@60Hz) instead of secondary one which is actually running at 1280x720@50Hz.

It seems to me that the problem is in Cocoa_GL_GetCurrentDisplayID() function from CocoaInterface.mm source file. Line
Code:
NSOpenGLContext* context = [NSOpenGLContext currentContext];
sets context to nil and Cocoa_GL_GetCurrentDisplayID returns main display ID
Reply
#2
skvsn Wrote:I have 2 displays connected to Mac OS X: VGA monitor and Plasma TV (via HDMI cable).

VGA monitor is primary display in Mac OS.

XBMC is configured to run on the secondary display (plasma). I also have Sync playback to display turned on in Video -> Playback settings window.

The problem is that XBMC gets the refresh rate from primary display (it is set to 1360x768@60Hz) instead of secondary one which is actually running at 1280x720@50Hz.

It seems to me that the problem is in Cocoa_GL_GetCurrentDisplayID() function from CocoaInterface.mm source file. Line
Code:
NSOpenGLContext* context = [NSOpenGLContext currentContext];
sets context to nil and Cocoa_GL_GetCurrentDisplayID returns main display ID

if "[NSOpenGLContext currentContext]" is nil, then your secondary display does not support OpenGL. That's the only way it could return nil. Perhaps you need to enabled debug and post xbmc.log. That might show more info.
Reply
#3
When I was playing with XBMC on Ubuntu it was nessesary to switch off user interface hardware effects on primary screen to get smooth video playback on secondary. Is there the same issue with Mac OS X?

My xbmc.log in debug mode is here - xbmc.log
Reply
#4
skvsn Wrote:When I was playing with XBMC on Ubuntu it was nessesary to switch off user interface hardware effects on primary screen to get smooth video playback on secondary. Is there the same issue with Mac OS X?

My xbmc.log in debug mode is here - xbmc.log

Use pastebin for logs please, mediafire is a pain.

No, OSX does not have issues like Ubuntu with desktop effects.
Reply
#5
here it is - http://pastebin.com/ba06LmBG
Reply
#6
"NOTICE: GL_RENDERER = NVIDIA GeForce 8400 GS OpenGL Engine"

What osx box is this ??

"INFO: GUI format 1280x720 1280x720 @ 60.00 - Full Screen #2"

Humm, could be DisplayLink got attached to Display #1 somehow. We use DisplayLink to determine vsync rate. If you drag the main osx menu over to the second display, what is reported as vsync rate ?

EDIT: your second log shows "NVIDIA GeForce 9500 GT", what's that about ?
Reply
#7
sorry, the second link was wrong - that was not my log file.
Mac OS X is installed on hakintosh PC (Gigabyte G41M-ES2L, Intel E2160, GeForce 8400GS)
I will try to drag OS X menu to the second display and post the log file
Reply
#8
Here is the log file with main menu on the primary screen:
http://pastebin.com/iDX2P0vT

and on the secondary screen:
http://pastebin.com/4p65AbZF
Reply
#9
INFO: GUI format 1280x720 1280x720 @ 50.00 - Full Screen #2

INFO: GUI format 1280x720 1280x720 @ 50.00 - Full Screen

Odd.
Reply
#10
If I move OSX menu to the secondary screen XBMC starts on my VGA monitor (which becomes #2 display for XBMC). So for 2nd log file I changed the display in XBMC settings to #1

in 1st case if I press "O" while playing video file I see S ( refresh: 60 ..... ), in 2nd case I see refresh: 50
Reply
#11
+1 for this issue - on my iMac I have a LCD TV connected via HDMI as display 2. Pressing O during playback reports a refresh rate of 60, regardless of the actual refresh set for the LCD TV (currently set to 24).

If i move the title bar across to the lcd XBMC then reports the refresh correctly - but i can no longer use the mac while watching XBMC.

I tried to work around it using switchresx scripting (change the display numbers) but xbmc then tries to output the imac screen size on the lcd (2440 v 1980).
Reply

Logout Mark Read Team Forum Stats Members Help
[MAC] Incorrect detection of secondary display refreshrate0