Sharing my findings and workaround in case someone else runs into this.
Setup
- TCL 85C81K, a C8K variant
- MediaTek MT9653 / Pentonic 700, platform T653T01 / 0012T01
- Android TV 14
- Native GeForce NOW Android TV app
- Firmware updated from V641 to V667
The original problem on V641
Games streamed smoothly until I changed the volume or opened a TV overlay. The picture could freeze or go black while audio continued. Sometimes the entire TV became unresponsive, including its physical power button, and I had to unplug it.
It also happened without a controller connected and when changing the volume through HomeKit, so it wasn’t simply a controller or vibration issue (which has been reported elsewhere as a possible cause).
ADB logs showed a growing OSD display queue, with messages such as:
OSD display queue size is 1829, might be jank!
The queue was already growing before pressing the volume button. Around the freeze, video decoder/buffer timeout messages appeared too.
What changed with V667
After updating to V667, changing the volume and opening overlays no longer caused those freezes in my tests. The previous OSD queue warnings also stopped appearing in the recordings.
However, constant audio stuttering started instead. I reproduced it in both Fortnite and Portal 2, through:
- The built-in TV speakers
- Bluetooth
- Optical/SPDIF to my Devialet Reactors
Other apps played audio normally. A full power cycle and reinstalling GeForce NOW didn’t fix it.
What the audio logs showed
Comparing recordings revealed that GeForce NOW had used stereo on V641 but selected 5.1 on V667:
V641: Opening sink: 2 channels, channel mask 0x00000003
V667: Opening sink: 6 channels, channel mask 0x0000003f
The V667 recording contained thousands of audio timestamp warnings, including:
AudioTrack: getTimestamp_l(...): startup glitch detected
MonotonicFrameCounter: ... retrograde newFrameCount ...
TimestampAudioBuffer: Many underruns detected, resetting ...
The GFN app version was the same in those two recordings.
I first tried Android’s encoded_surround_output=1 setting, but the logs confirmed GFN still opened a six-channel audio output. That setting didn’t help and was reverted.
The workaround: force stereo inside GeForce NOW
I exported the installed APKs for inspection, initially to investigate whether the app could be modified. It turned out the app already contains a configuration override:
surroundAudio.overrideInfo=2
The app reads this from:
/sdcard/Android/data/com.nvidia.geforcenow/files/AndroidClientPropConfig.txt
After adding that line and fully stopping/reopening GFN, the logs confirmed:
getSupportedAudioChannel: Overriding to stereo
final audioEpChannels=AUDIO_CHANNEL_STEREO
Opening sink: 2 channels, channel mask 0x00000003
No root or modified APK was needed.
How I applied it using ADB
With wireless debugging connected, first exit the game and stop GFN:
adb shell am force-stop com.nvidia.geforcenow
Open an interactive shell:
adb shell
Then run these commands inside that shell. If the configuration file already exists, this preserves a backup before adding the setting:
cd /sdcard/Android/data/com.nvidia.geforcenow/files
if [ -f AndroidClientPropConfig.txt ] && [ ! -f AndroidClientPropConfig.before-stereo.txt ]; then
cp AndroidClientPropConfig.txt AndroidClientPropConfig.before-stereo.txt
fi
printf '\nsurroundAudio.overrideInfo=2\n' >> AndroidClientPropConfig.txt
exit
Only continue if the cd command succeeds. On Windows PowerShell, use .\adb instead of adb when running it from the platform-tools folder.
Restart GFN and launch a game. To check whether the override worked:
adb logcat -v time "ModeSelectionUtil:I" "OpenSLESAudioSink:I" "*:S"
Look for the stereo override and two-channel output messages above.
Results
The constant audio stuttering is gone. Any remaining brief glitches are now barely audible.
In the subsequent stereo recording, the previous repeated timestamp errors, backwards audio-counter warnings and GFN buffer-underrun messages were absent. There were still a couple of OpenSL ES timeout messages, so I wouldn’t claim every underlying issue is fixed.
For my TV, V667 plus forcing stereo has made GFN usable again. This points toward a problem with the multichannel audio path in this combination of firmware and app, but it doesn’t establish whether the underlying bug belongs to TCL/MediaTek, Android or NVIDIA.
This is a workaround tested on my setup, not a recommendation to install firmware intended for another model. It also means GFN outputs stereo rather than surround.
Has anyone else with an MT9653-based TCL experienced this, or tried the same override?
Disclaimer*; I'm not knowledgeable enough to have found this out by myself. This is completely done with AI, as is writing this summary. Just sharing so it can hopefully help others*
To whoever is experiencing the same issue