Kodi Community Forum

Full Version: Help on 1080p24 support on Apple TV1
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
I have an apple tv1 running crystalbuntu distributed by Sam Nazarko. I am trying to 1080p24 working on XBMC. I ran X in verbose mode and ensured that my display was able to support 1080p24 and it does. I even got the information required to generate the modeline for xorg.conf.

My xorg.conf is as follows

Code:
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
    RgbPath         "/usr/lib/X11/rgb"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "freetype"
    Load           "glx"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "SNY"
    ModelName      "Sony TV"
    HorizSync       15.0 - 70.0
    VertRefresh     58.0 - 62.0
    Option         "DPMS"
    Modeline       "1920x1080_24" 74.16 1920 2558 2602 2750 1080 1084 1089 1125 +HSync +VSync
EndSection

Section "Device"
    Identifier          "Device0"
    Driver              "nvidia"
    VendorName          "NVIDIA Corporation"
    Option              "NoLogo" "true"
    Option              "RegistryDwords" "RMDisableRenderToSysmem=1"
    Option              "DynamicTwinView" "false"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes       "1920x1080" "1920x1080_60" "1920x1080_60_0" "1920x1080_24"
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "Disable"
EndSection

When I check the Xorg log file I have the following warning

Code:
(WW) NVIDIA(0): No valid modes for "1920x1080_24"; removing.

For some reason nvidia is not able to get the 1920x1080 @ 24Hz mode by default. Even if I add the modeline it doesnt recognize it. Any help to get this working would be appreciated.
Either use a modified EDID or if this does not resolve you could upgrade your driver (at loss of audio thru HDMI)
I am trying to avoid using a custom edid. I am trying to see if I can append the list of modes using the modeline. That should be able to get me to run 24hz support.
Can you pastebin your full xorg log in debug mode?
Xorg.log without any modeline: http://pastebin.com/pnzhiP01
Xorg.log with modeline: http://pastebin.com/Xur0fJ5x
Well, you seem to be running drivers from 2007. That's very old.

Also, what type of Sony TV do you have? According to the EDID 24p is not supported. Of course the edid could be wrong, but I have to ask.

edit: I thought you needed a broadcom CrystalHD card for ATV1 and that 1080p wasn't supported anyway? Could be wrong though Smile
LB06 Wrote:Well, you seem to be running drivers from 2007. That's very old.

Yes, I am running the older driver because with the newer drivers one loses HDMI audio.

LB06 Wrote:Also, what type of Sony TV do you have? According to the EDID 24p is not supported. Of course the edid could be wrong, but I have to ask.

I have Sony KDL 32XBR9, it does support 1080p24, if you look at the CEA-861B timings

Code:
(--) NVIDIA(0):   1920 x 1080 @ 24 Hz
(--) NVIDIA(0):     Pixel Clock      : 74.16 MHz
(--) NVIDIA(0):     HRes, HSyncStart : 1920, 2558
(--) NVIDIA(0):     HSyncEnd, HTotal : 2602, 2750
(--) NVIDIA(0):     VRes, VSyncStart : 1080, 1084
(--) NVIDIA(0):     VSyncEnd, VTotal : 1089, 1125
(--) NVIDIA(0):     H/V Polarity     : +/+
(--) NVIDIA(0):     CEA Format       : 32

Also, http://www.docs.sony.com/release/specs/K...9_mksp.pdf does show that it supports 24p. I have 1080p24 enabled in my Blu-ray player and it works on it.
Yes that seems to verify 24p support Smile.

You could try to disable the EDID in xorg.conf and set all modes you wish to use manually. Also don't forget the refresh rates in the monitor section and the DPI.

You can disable EDID by specifying
Code:
Option "UseEDID" "FALSE"
in the Device section.

Or disable separate components of the EDID:

Code:
Option "UseEDIDFreqs" "FALSE"
Option "UseEDIDDpi" "FALSE"
Option "ModeValidation" "NoEdidModes"

I'm not at all sure this works in 100.x.y though. If you don't have a good receiver and very good speakers you probably won't notice the difference between "HD Audio" and lossy DTS/DD audio anyway, so then S/PDIF will most likely suffice.

edit: this might work. Just add
Code:
Option "ModeValidation" "NoVertRefreshCheck"
to the Device section. If you look at line 547 of the log you posted, you'll see that EDID specifies a minimum vertical refresh rate of 58Hz. And 58Hz > 24Hz. This is an issue that you have to 'overcome' with almost all TV's. Don't know why though. Sorry I didn't notice it earlier. The log has changed quite a bit in the meantime and/or a verbose log is different from the debug log, which you have to enable with
Code:
Option "ModeDebug" "true"
LB06 Wrote:Yes that seems to verify 24p support Smile.

You could try to disable the EDID in xorg.conf and set all modes you wish to use manually. Also don't forget the refresh rates in the monitor section and the DPI.

You can disable EDID by specifying
Code:
Option "UseEDID" "FALSE"
in the Device section.

Or disable separate components of the EDID:

Code:
Option "UseEDIDFreqs" "FALSE"
Option "UseEDIDDpi" "FALSE"
Option "ModeValidation" "NoEdidModes"

I'm not at all sure this works in 100.x.y though. If you don't have a good receiver and very good speakers you probably won't notice the difference between "HD Audio" and lossy DTS/DD audio anyway, so then S/PDIF will most likely suffice.

edit: this might work. Just add
Code:
Option "ModeValidation" "NoVertRefreshCheck"
to the Device section. If you look at line 547 of the log you posted, you'll see that EDID specifies a minimum vertical refresh rate of 58Hz. And 58Hz > 24Hz. This is an issue that you have to 'overcome' with almost all TV's. Don't know why though. Sorry I didn't notice it earlier. The log has changed quite a bit in the meantime and/or a verbose log is different from the debug log, which you have to enable with
Code:
Option "ModeDebug" "true"

You the man....
The reason I was using logverbose when starting X was because 100.x.y nvidia drivers doesnt recognize the "ModeDebug" option. Actually disabling NoVertRefreshCheck was what was needed, now I can actually see the 24p/120i modelines as well.
Great! Have fun watching judder free movies :p
LB06 Wrote:Great! Have fun watching judder free movies :p

Damn it, I am not yet there. When I play a movie it is trying to play it at 120Hz. Is there a way I can force it to do 24Hz. I have enabled "Adjust display refresh rate to match video"
Try to set XBMC to operate @24Hz and disable "Adjust display refresh rate to match video". You GUI will be sluggish as long as it's operating @24Hz, but at least you'll know if your Geforce 7300 + nvidia 100.x.y can do 24p properly.

And what about my suggestion to ditch HDMI audio?
LB06 Wrote:Try to set XBMC to operate @24Hz and disable "Adjust display refresh rate to match video". You GUI will be sluggish as long as it's operating @24Hz, but at least you'll know if your Geforce 7300 + nvidia 100.x.y can do 24p properly.

And what about my suggestion to ditch HDMI audio?

I forced it to operate at 24Hz and there are no issues while playing any movie. Geforce 7300 + nvidia 100.x.y can do 24p without issues. I am trying to avoid upgrading the nvidia drivers because this setup is in my bedroom. I dont have any receiver. The only way to get audio is over hdmi as my composite ports are taken up by my ps2 and xbox360.

To answer one of your previous questions, yes I have the broadcom crystalhd card which is used for hardware video decoding only. Without the crystalhd card it would be playing majority of the 720p content let alone 1080p.
I still dont understand why xbmc is selecting 120Hz instead of 24Hz. Here is some output from my xbmc.log

Code:
15:42:01 T:3045787376 M:200003584    INFO: Available videomodes (xrandr):
15:42:01 T:3045787376 M:199942144    INFO: Number of connected outputs: 1
15:42:01 T:3045787376 M:199942144    INFO: Output 'default' has 11 modes
15:42:01 T:3045787376 M:199942144    INFO: ID:0x15c Name:1920x1080 Refresh:60.000000 Width:1920 Height:1080
15:42:01 T:3045787376 M:199942144    INFO: Pixel Ratio: 1.000000
15:42:01 T:3045787376 M:199942144    INFO: ID:0x15d Name:1920x1080 Refresh:24.000000 Width:1920 Height:1080
15:42:01 T:3045787376 M:199942144    INFO: Pixel Ratio: 1.000000
15:42:01 T:3045787376 M:199942144    INFO: ID:0x15e Name:1920x1080 Refresh:120.000000 Width:1920 Height:1080
15:42:01 T:3045787376 M:199942144    INFO: Pixel Ratio: 1.000000
15:42:01 T:3045787376 M:199942144    INFO: ID:0x15f Name:1440x480 Refresh:120.000000 Width:1440 Height:480
15:42:01 T:3045787376 M:199942144    INFO: Pixel Ratio: 1.000000
15:42:01 T:3045787376 M:199942144    INFO: ID:0x160 Name:1280x1024 Refresh:60.000000 Width:1280 Height:1024
15:42:01 T:3045787376 M:199942144    INFO: Pixel Ratio: 1.000000
15:42:01 T:3045787376 M:199942144    INFO: ID:0x161 Name:1280x720 Refresh:60.000000 Width:1280 Height:720
15:42:01 T:3045787376 M:199942144    INFO: Pixel Ratio: 1.000000
15:42:01 T:3045787376 M:199942144    INFO: ID:0x162 Name:1024x768 Refresh:60.000000 Width:1024 Height:768
15:42:01 T:3045787376 M:199942144    INFO: Pixel Ratio: 1.000000
15:42:01 T:3045787376 M:199942144    INFO: ID:0x163 Name:800x600 Refresh:60.000000 Width:800 Height:600
15:42:01 T:3045787376 M:199942144    INFO: Pixel Ratio: 1.000000
15:42:01 T:3045787376 M:199942144    INFO: ID:0x164 Name:720x480 Refresh:120.000000 Width:720 Height:480
15:42:01 T:3045787376 M:199942144    INFO: Pixel Ratio: 1.000000
15:42:01 T:3045787376 M:199942144    INFO: ID:0x165 Name:720x480 Refresh:60.000000 Width:720 Height:480
15:42:01 T:3045787376 M:199942144    INFO: Pixel Ratio: 1.000000
15:42:01 T:3045787376 M:199942144    INFO: ID:0x166 Name:640x480 Refresh:60.000000 Width:640 Height:480
15:42:01 T:3045787376 M:199942144    INFO: Pixel Ratio: 1.000000

When I have "Adjust display refresh rate to match video" enabled I still dont understand why is it selecting 120Hz instead of 24Hz.

Code:
10:43:25 T:2849373072 M:121307136  NOTICE:  fps: 23.976024, pwidth: 1280, pheight: 720, dwidth: 1280, dheight: 720
10:43:25 T:2849373072 M:121307136   DEBUG: OutputPicture - change configuration. 1280x720. framerate: 23.98. format: YUY2
10:43:25 T:2849373072 M:121307136  NOTICE: Display resolution ADJUST : default: 1920x1080 @ 120.00Hz (15) (weight: 0.001)
Try to remove the "1920x1080" and "1920x1080_60" modes
Pages: 1 2 3