Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Auto switching to 23.975 does not work, but that you can switch manually via DISPLAY=:0 xrandr --output HDMI2 --mode 0x4e works #95

Open
Priyantha opened this Issue Dec 2, 2012 · 10 comments

Comments

Projects
None yet
2 participants

Hi there,

I was talking on the #xbmc channel and trying to get a proper 23.975 playback working, this didn't work out yet :(

I am using the wsnipex ppa, and using the Intel Vaapi drivers.

The hardware I am using:
priyantha@HTPC:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz
stepping : 9
microcode : 0x15
cpu MHz : 1600.000
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave avx f16c lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips : 6600.10
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

priyantha@HTPC:~$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Z77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode](rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

Distro:
priyantha@HTPC:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.10
DISTRIB_CODENAME=quantal
DISTRIB_DESCRIPTION="Ubuntu 12.10"

X version is from xorg-edgers ppa
Intel driver:
priyantha@HTPC:$ dpkg -l |grep "Intel "
ii i965-va-driver:amd64 1.0.17-1 amd64 VAAPI driver for Intel G45 & HD Graphics family
ii intel-gpu-tools 1.3-0ubuntu2 amd64 tools for debugging the Intel graphics driver
ii libva-intel-vaapi-driver 1.0.17-1 all VAAPI driver for Intel G45 & HD Graphics family (transitional package)
ii xserver-xorg-video-intel 2:2.20.14+git20121126.7a904ce8-0ubuntu0sarvatt
quantal amd64 X.Org X server -- Intel i8xx, i9xx display drive

Some logs:
http://xbmclogs.com/show.php?id=17152 | xbmc.log
http://xbmclogs.com/show.php?id=17153 | /usr/lib/xbmc/xbmc-xrandr output

Owner

FernetMenta commented Dec 2, 2012

I don't see any problem in the log. It switches modes. What do you think it's wrong?

I am running a Panasonic TX-P50VT30 Plasma, and was running in Profession1 mode.
Running that mode, XBMC didn't switch to 23.976 mode, as you can see in the logs, it is not running in 23.976 mode but in 24.00000.

After changing the TV to the THX mode, and restarted the movie, it changes to 23.976 mode.
And even after that changing back to Professional1, it stays working.

I don't understand why, and the guys on #xbmc do not understand either ;)

Owner

FernetMenta commented Dec 2, 2012

I think the problem is your wrong interpretation of the codec screen. Your log states that it has switched to mode 0x4e:
XRANDR: /usr/lib/xbmc/xbmc-xrandr --output HDMI2 --mode 0x4e which is 23.976 (see your output of xrandr)

The infos on the codec screen:

refresh: rounded value of refresh rate

speed: relative difference between refresh rate and fps set by player

sync: integral correction of video ref clock. if fps does not equal refresh rate, this is not zero

error: difference between expected time of vertical retrace signal and actual time

avg error: average error over 30 errors

Owner

FernetMenta commented Dec 2, 2012

When did you run xbmc-xrandr? After the switch?

Yes I ran the xbmc-xrandr áfter starting the movie, and the TV was telling me 24hz mode.
In the xbmc.log it says it switches to mode 0x4e but the xbmc-xrandr tells a different thing.

There was a difference between auto switching to 0x4e and doing it manually with xrandr --output HDMI2 --mode 0x4e
auto switching switched to 24.0 hz, but doing it manually with the xrandr command made it switching correctly.

Owner

FernetMenta commented Dec 2, 2012

I have added a debug log to print out info right after xrandr event: fb20782
Can you post a new log when you have this change available?

Thx :) will do that when the repo has a new nightly build.

Hi,

It doesn't look like the change worked here, the first time I watch the movie I get these logs:

Here are the log files:
http://xbmclogs.com/show.php?id=18248 | xbmc.log
http://xbmclogs.com/show.php?id=18247 | /usr/lib/xbmc/xbmc-xrandr output
http://xbmclogs.com/show.php?id=18249 | Xorg.0.log

But, when I stop the movie, and restart it, then it looks like it selects the right one see the logs here below for a reference:

http://xbmclogs.com/show.php?id=18254 | xbmc.log
http://xbmclogs.com/show.php?id=18253 | /usr/lib/xbmc/xbmc-xrandr output
http://xbmclogs.com/show.php?id=18256 | Xorg.0.log

Hopefully this is helpfull.

Owner

FernetMenta commented Dec 5, 2012

The change was not supposed to be a fix, just more info to track this down. So xbmc requests mode 0x4e and right after the xrandr wrapper detects 0x4b.

You said it works if you manually set the mode. How do you do this? Do you use xbmc-xrandr? Would there be a difference when using xbmc-xrandr or xrandr?

Owner

FernetMenta commented Jan 23, 2013

Does this problem still exist?

Maybe this helps: 1dc0e424ae66dcfdfc8c0efaa39e01bed323be89

fritsch pushed a commit to fritsch/xbmc that referenced this issue Jan 26, 2017

Merge pull request #95 from FernetMenta/prio
handle prio messages between decoder calls
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment