Kodi Community Forum

Full Version: XBMC for Linux VDPAU - NVIDIA GPU video decoding support (now in the mainline SVN)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
boba23 Wrote:Well, I don't know what TV/Projector you are outputting your material to, but since VDPAU is only used with HD content, 720p and up. I don't want any scaling to take place on XBMC side. I got a 1080p Panasonic display, and hence I output 1080p on a 1080p unscaled or 720p that is scaled by the Panasonic scaler which does an excellent job.

boba

Well, my TV is running pixel 1:1 at 1360x768 and works nicely with XBMC. I don't change resolution so I am relying purely upon XBMC's scaling capabilities (are you really changing output resolution all the time?). My content ranges from low quality SD content to 1080p, with most at 720p which is slightly lower resolution than my TV. I want to make sure high quality upscaling happens whenever possible...
elupus Wrote:please svn up to r19937 and see if the problem persists. (or if i introduced a deadlock instead)

Hello elupus!

I've been testing and with at least 30 tries with svn r19948, I'd not a single crash to desktop, so I guess that, at least for me, the changes on r19937 fixed the problem =)

Thank you so much!
maksimenko Wrote:Hello elupus!

I've been testing and with at least 30 tries with svn r19948, I'd not a single crash to desktop, so I guess that, at least for me, the changes on r19937 fixed the problem =)

Thank you so much!

Just one more addition to that.
After the most recent changes, the bug, which cause XBMC to crash during stoping vdpau playback, when vdpau and XrandR enabled, but strictbinding disabled is come back.

Personally I don't care too much, as I use strictbinding, but as we know, Jaunty was shipped with an nvidia driver which not supporting strictbinding. I just wanted to report back on this.
olympia Wrote:Just one more addition to that.
After the most recent changes, the bug, which cause XBMC to crash during stoping vdpau playback, when vdpau and XrandR enabled, but strictbinding disabled is come back.

Personally I don't care too much, as I use strictbinding, but as we know, Jaunty was shipped with an nvidia driver which not supporting strictbinding. I just wanted to report back on this.

Hello olympia,

I'm testing now with:
<advancedsettings>
......
<videoplayer>
<strictbinding>false</strictbinding>
<vdpau_allow_xrandr>true</vdpau_allow_xrandr>
</videoplayer>
</advancedsettings>

and still everything is ok, but i dont know if i'm using the right settings (or if they can be set in the advancedsettings.xml or just in the guisettings.xml).

what settings do I've to use to reproduce the problem?

thanks for the info!
maksimenko Wrote:Hello olympia,

I'm testing now with:
<advancedsettings>
......
<videoplayer>
<strictbinding>false</strictbinding>
<vdpau_allow_xrandr>true</vdpau_allow_xrandr>
</videoplayer>
</advancedsettings>

and still everything is ok, but i dont know if i'm using the right settings (or if they can be set in the advancedsettings.xml or just in the guisettings.xml).

what settings do I've to use to reproduce the problem?

thanks for the info!

Hi maksimenko,

Only this in advancedsettings.xml:

<advancedsettings>
......
<videoplayer>
<strictbinding>false</strictbinding>
</videoplayer>
</advancedsettings>

And enable auto-refresh rate on the GUI (video settings/player)
Could you guys try and clear up for me what exactly those settings do? XrandR is for detecting displays, settings resolutions and rotating, is this enabled by default e.g. in Ubuntu Jaunty? And what does "Strict Binding" do?

boba
olympia Wrote:Hi maksimenko,

Only this in advancedsettings.xml:

<advancedsettings>
......
<videoplayer>
<strictbinding>false</strictbinding>
</videoplayer>
</advancedsettings>

And enable auto-refresh rate on the GUI (video settings/player)

:S I couldn't reproduce the crash... here are my guisettings.xml and advancedsettings.xml for videoplayer:

guisettings.xml:
Code:
<videoplayer>
        <adjustrefreshrate>true</adjustrefreshrate>
        <calibrate></calibrate>
        <displayresolution>10</displayresolution>
        <dvdautomenu>false</dvdautomenu>
        <dvdplayerregion>0</dvdplayerregion>
        <editdecision>false</editdecision>
        <highqualityupscaling>2</highqualityupscaling>
        <jumptoaudiohardware></jumptoaudiohardware>
        <jumptocache></jumptocache>
        <rendermethod>4</rendermethod>
        <sep1></sep1>
        <sep1></sep1>
        <sep2></sep2>
        <sep3></sep3>
        <upscalingalgorithm>7</upscalingalgorithm>
        <vdpau_allow_xrandr>false</vdpau_allow_xrandr>
</videoplayer>

advancedsettings.xml:
Code:
<videoplayer>
         <strictbinding>false</strictbinding>
</videoplayer>

I've tested using svn r19949 and nvidia drivers: 180.51, 185.19 and 185.18.08 and playing/stopping/letting h264 vid finish, worked ok.

Here are some relevant parts of my xorg.conf, just for the sake of comparison:

Code:
...
Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Panasonic-TV"
    HorizSync       15.0 - 68.0
    VertRefresh     23.0 - 61.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8500 GT"
EndSection

Section "Screen"

    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "NoLogo" "True"
    Option         "DynamicTwinView" "false"
    Option         "TwinView" "0"
    Option         "metamodes" "1920x1080_24 +0+0"
    Option         "ExactModeTimingsDVI" "True"
    Option         "AddARGBGLXVisuals" "True"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

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

hope it helps finding the problem...
maksimenko Wrote::S I couldn't reproduce the crash...

Here are some relevant parts of my xorg.conf, just for the sake of comparison:

Code:
...

....

hope it helps finding the problem...

I am really not sure that using this xorg.conf, the changing of refresh rates are even works at you. Are you sure you can use different refresh rates?
What error do you get upon the crash? Do you have a backtrace?
Alright, first I can confirm that after a svn up and recompile vdpau playback seems fixed for me, no crash to desktop.
I got a question though, about the auto adjust refresh rate feature. How can I see from within xbmc what refresh rate is put out over hdmi? My Plasma screen only shows resolution info like 1080p but not the input refresh rate.
So I can't tell right now if adjust refresh rate is working for me or not.

boba
boba23 Wrote:Alright, first I can confirm that after a svn up and recompile vdpau playback seems fixed for me, no crash to desktop.
I got a question though, about the auto adjust refresh rate feature. How can I see from within xbmc what refresh rate is put out over hdmi? My Plasma screen only shows resolution info like 1080p but not the input refresh rate.
So I can't tell right now if adjust refresh rate is working for me or not.

boba

When watching a movie push z on your keyboard. It will tell you the resolution and refreshrate.

cheers
motd2k Wrote:What error do you get upon the crash? Do you have a backtrace?

Unfortunately there is no dump file generated so all I can provide is the debug log:

with the crash (strictbinding false):
http://xbmc.pastebin.com/m671eebaa

Without crash (strictbinding true):
http://xbmc.pastebin.com/m6ffea1b0
harryzimm Wrote:When watching a movie push z on your keyboard. It will tell you the resolution and refreshrate.

cheers

I thought what you see there is the source resolution and refresh rate. That's indeed what XBMC sends to the display?

Edit: Alright, I didn't check the Info that pressing "Z" gives me. It seems that I always get 1080p@50hz when playing video, no matter if it's 24p or other content. So I guess "Adjust refresh rate" does nothing for me. XBMC simply seems to use the Resolution/Refresh Rate that's set in Appearance settings.
What do I have to adjust to get auto refresh rate working? Here's my xorg.conf:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder57) Thu Apr 16 17:18:41 PDT 2009

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

Section "Files"
EndSection

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

# To prevent tearing with VDPAU

Section "Extensions"

Option "Composite" "Disable"

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 "Unknown"
ModelName "Unknown"
HorizSync 20.0 - 150.0
VertRefresh 24.0 - 90.0
Option "DPMS"
# 1920x1080p @ 50Hz (EIA/CEA-861B)

Modeline "1920x1080@50" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync

# 1920x1080p @ 60Hz (EIA/CEA-861B)

Modeline "1920x1080@60" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync

# 1920x1080p @ 24Hz (EIA/CEA-861B)

Modeline "1920x1080@24" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync

# 1920x1080p @ 23.976Hz (EIA/CEA-861B)

Modeline "[email protected]" 74.175 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync

# 1920x1080i @ 50Hz (EIA/CEA-861B)

Modeline "1920x1080@50i" 74.250 1920 2448 2492 2640 1080 1085 1095 1125 +hsync +vsync Interlace

# 1920x1080i @ 60Hz (EIA/CEA-861B)

Modeline "1920x1080@60i" 74.250 1920 2008 2052 2200 1080 1085 1095 1125 +hsync +vsync Interlace

# 1920x1080p @ 59.94Hz (EIA/CEA-861B)

Modeline "[email protected]" 148.350 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync

# 1920x1080i @ 59.94Hz (EIA/CEA-861B)

Modeline "[email protected]" 74.175 1920 2008 2052 2200 1080 1085 1095 1125 +hsync +vsync Interlace

# 1920x1080p @ 25Hz (EIA/CEA-861B)

Modeline "1920x1080@25" 74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync

# 1920x1080p @ 29.97Hz (EIA/CEA-861B)

Modeline "[email protected]" 74.175 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync

# 1920x1080p @ 30Hz (EIA/CEA-861B)

Modeline "1920x1080@30" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync

Option "ExactModeTimingsDVI" "True"
Option "UseEDIDFreqs" "False"
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "UseEvents" "True"
Option "TripleBuffer" "True"
Option "AllowGLXWithComposite" "True"
Option "AddARGBVisuals" "True"
Option "AddARGBGLXVisuals" "True"
Option "NoLogo" "False"
Option "RenderAccel" "True"
Option "DPI" "100 x 100"
# Option "DynamicTwinView" "False"
SubSection "Display"
Depth 24
Modes "1920x1080@50" "1920x1080@60" "1920x1080@24" "[email protected]" "1920x1080@50i" "1920x1080@60i" "[email protected]" "[email protected]" "1920x1080@25" "[email protected]" "1920x1080@30"
EndSubSection
EndSection


boba
boba23 Wrote:I thought what you see there is the source resolution and refresh rate. That's indeed what XBMC sends to the display?

boba

The source don't has a refresh rate, it has a frame rate.

...and yes, XBMC is at the refresh rate which is shown there, and this is what you should see on the display if it support the given refresh rate.
olympia Wrote:The source don't has a refresh rate, it has a frame rate.

...and yes, XBMC is at the refresh rate which is shown there, and this is what you should see on the display if it support the given refresh rate.

I am sure my display supports 24p 50 and 60hz. It's a Panasonic 46PZ80. Question is what am I missing, that XBMC only outputs 50hz constantly, and doesn't adjust the refresh rate according to the movie frame rate, as u stated?

boba