Open talespin-mathijs opened 3 months ago
Adding a full log of a run of Moonlight, including all logs from all processes at the time to see the interaction between Moonlight and various OS systems logcat.txt
There are coming new socs from mediatek (pentonic) so i hope this will be seen by the developers! I want to by the new Philips TV so i hope this will be fixt.
Great investigation here. Exactly the same issue I'm having with the Mediatek Pentonic 700 - TCL C805 TV. This is the only chipset I have these exact same Moonlight issues.
Any update for this issue?
Same issue on my TCL 65C805
Describe the bug
When running Moonlight on a TV with a Mediatek Pentonic soc, the output video stream is displayed at half the refresh from what is intended. With Moonlights refresh rate set to 60/90/120, since Moonlights rendering framerate is capped at 60FPS on Google TV, this results in the video stream never outputting over 30Hz. On 30Hz refresh rate it outputs 15Hz. Note this issue only happens with Moonlight, other apps including Steam Link work fine.
These socs are the next generation soc introduced this year, and above is the only major issue experienced. All rendering stats are perfect, including latency and rendering frame rate. The decoding time is very low on this new soc (for a TV). But the actual video stream presented to the TV screen is only half the refresh rate of what is logged in the stat window.
Using the testufo frame skipping checker we can confirm the problem.
Photo of the host machine:
Photo of another Android client without any problems:
Photo of client affected by this issue:
As you can see on the last photo exactly half of the frames is skipped, resulting in the alternating pattern of the grey boxes.
Looking in the ADB logs, the issue is also revealed with this log:
I PqLink : frameRateControl : PqId[0] out_frame_rate 60000, in_frame_rate 120000, gcd 60000 => 1/2
And then a variation of the following outputted every other frame:
E PqLink : frameRateControl : PqId[0] Drop input index 4 with frm_idx 42003 by factor (1/2)
The offending process turns out to be:
system 578 1 226592 73676 0 0 S vendor.mediatek.hardware.hwcomposer.composer@2.5-service
The full ADB log of this process has been pasted in the relevant log output section of this issue.
My own understanding: it seems like there is a configuration mismatch or incorrect logic in determining input/output frame rates in the communication between Moonlight and the OS, resulting in the OS incorrectly thinking it needs to drop half of all frames to reach 60Hz.
Steps to reproduce
Run Moonlight on a recent Google TV that is equipped with a new generation Mediatek Pentonic soc.
It is highely likely a problem on all 2024 lineup Sony TVs + the Sony Bravia A95L (all Sonys with the Pentonic). There have also been reports on bad perceived performance on TVs from other brands running the Pentonic, this pertains to some Hisense, Philips, and TCL TVs.
Confirmed affected devices: (my own TV + reports I have received from other users having the same issue confirmed with logs) Sony Bravia 7 (Mediatek Pentonic 1000) TCL C805/C755 (Mediatek Pentonic 700)
Affected games
Any game
Other Moonlight clients
PC
Moonlight adjusted settings
Yes
Moonlight adjusted settings (please complete the following information)
This problem persists through any possible permutation of all possible Moonlight settings, even all the frame/refresh related settings.
Moonlight default settings
Yes
Gamepad-related connection issue
Yes
Gamepad-related input issue
Yes
Gamepad-related streaming issue
Yes
Android version
Google TV 12
Device model
Sony Bravia 7 K85XR70PAEP
Server PC OS version
Windows 10 Pro 22H2
Server PC GeForce Experience version
3.28.0.417
Server PC Nvidia GPU driver version
560.70
Server PC antivirus and firewall software
Windows Security
Screenshots
No response
Relevant log output
Additional context
No response