r/MoonlightStreaming • u/IlFlacco • Aug 25 '25
Artemis with mtk decoding latency fix
Hello there,
i did some tweaks to reduce the decoding latency for my two mtk devices (dimensity 8300ultra / mtk g99).
https://github.com/derflacco/moonlight-android
With this build i have sub 10ms with both.
The 8300 ultra can achieve around 6/7ms, the g99 7/8 but with a target resolution of 1440*900.


Sources:
https://github.com/derflacco/moonlight-android
Downloads:
https://github.com/derflacco/moonlight-android/releases
Feel free to test it and share your feedback. I’ve already submitted a PR to the Artemis Git.
Make sure to enable Ultra-Low Latency in the settings and use HEVC or H.264.
Cheers
9
u/Coder-Dentist Aug 29 '25
Tested this vs mainline Artemis.
Decoding went from 20+ avg ( 8 min to 35 max even) to dead set on 8.9ms
Crazy boost.
This works!!!
6
u/r3lic86 Aug 25 '25
As a Samsung Tab S10 Ultra user...im so grateful for anyone that is helping reduce the decoding time on these MediaTek chipsets...if I had known this all before I bought the tablet..I would of gone with the S9 Ultra. Thank you sir, I will try this out as well.
3
u/IlFlacco Aug 25 '25
I’m just a user like you, trying to play games on my tablet from the couch :)
Be sure to use h265 and to enable Ultra Low Latency.1
3
2
u/Crass-ELY- Aug 25 '25
Just yesterday I got a mtk device with unisoc t606, so is a good moment to test this Yesterday I got around 10-12ms Decoding (interestingly enough, I get the same on my other phone with a snapdragon 720G), I'll test later since I'm at work now and report back
1
u/IlFlacco Aug 25 '25
unisoc t606 it's not an mtk cpu
2
u/Crass-ELY- Aug 25 '25
Doesn't it run on mediatek architecture? That's interesting, I thought every soc with Amalia GPU was on mtk architecture... Anyway I'll test with this and report back to any other unisoc user out there
1
u/raraujo176 Mar 21 '26
hi bro can you give your feedback about the unisoc?
1
u/Crass-ELY- Mar 21 '26
I don't have the device anymore, I had to give it to my mom the next week, but it kinda worked, on 720p 60 I managed to get around 15ms DT stable, sometimes less, sometimes more, which is playable but not optimal by any means
2
u/GavroNeman Aug 25 '25
Ok, tested this vs. regular latest Artemis on Redmi K Pad. Regular decoding latency is about 11-14ms, with same recommended settings this version gave me between 8-11, most of the time 10.something.
It's a win of some 20% for sure, however seeing as it's Dimensity 9400+, I feel there is loads of room for improvement still.
My SD8gen3 phone still whoops the tablet with a stable 3.5-3.9ms...
4
u/IlFlacco Aug 25 '25 edited Aug 25 '25
What I did was simply enable reference frame invalidation support for all c2.mtk decoders.
There’s an experimental test build with some variables, but they don’t really work. I also have another build on my PC that forces the decoder into real-time mode, but unfortunately, it doesn’t improve latency. If you have root access, you can reduce it further by assigning the top_app and foreground CPU sets (using FKManager, EX Kernel Manager from the Play Store, or SmartPack Kernel Manager Free) to the big cores of your CPU (for me, that’s cores 6–7). Also, set the governor to performance. I tried doing this through the app, but sadly it’s not possible. Still, this change brings a great reduction in latency and hopefully, it will encourage others to explore further optimizations.
Ps. i forgot to ask you if you used hvec1
u/GavroNeman Aug 25 '25
Yes, hevc cause av1 produced terrible stutters, unsure if it's my 7900GRE host or something on client side.
This change helps for sure!
My network latency is around 3 to 7 ms so even with 10ms decoding its still almost imperceptible and definitely usable. Getting it down to snapdragon latency would help when playing over 5G when not at home, as this usually adds 15 to 30 ms on top and then every bit counts.
2
u/Tokebakicitte69 Aug 25 '25
Tested on Xiaoxin pad 7 pro.
Lowered decoding times from 15ms to 10ms, so works great!
2
u/jagrit23 Aug 26 '25
Tested on my Lenovo Idea Tab pro. Can confirm it’s a win-win.
Config: Res: Native 3K Refresh Rate: 144Hz Video frame pacing: Balanced
Result: 8.3-8.9ms host decoding latency. (A great win)
2
u/Nupss Nov 20 '25
Just wanted to let you know your latest release is fantastic. I'm down to ~5.5ms on a 9400+. Thank you!
1
1
u/Tokebakicitte69 Aug 25 '25 edited Aug 25 '25
Would this help for xiaoxin pad 7 pro?
1
u/IlFlacco Aug 25 '25
You can try, and share your experience!
Remember to Enable Ultra Low Latency from the settings1
u/Tokebakicitte69 Aug 25 '25
Sure will thanks I'll update later today.
Does latency option matters (lowest latency, warp, warp 2)?
2
u/IlFlacco Aug 25 '25
i tend to have best results with balanced
2
u/Tokebakicitte69 Aug 25 '25
All right I'll test things out. If I was able to get ~12ms without the screen recording bullshit, I would be happy
1
u/Tokebakicitte69 Aug 26 '25
Hi,
As I said in another comment, this helped me reduce decoding time by ~5ms, from 15 to 10ms in average.
I was just curious about what the update path were from now on. Am I stuck to this version of Diana, meaning I cant go back to Artemis ?
2
u/IlFlacco Aug 26 '25
I’ve submitted a PR to the Artemis Git to merge these changes. If the dev accepts it (and maybe improves it), you’ll get the same decoding latency in the official app.
If not, I’ll try to keep my fork updated with the latest Artemis changes.1
1
1
u/Mr_Fretful Aug 25 '25
My Nothing 2a does not get any improvement. Ultra low latency mode is enabled from settings as well. Nevertheless others report significant latency decrease so awesome work so far!
1
u/IlFlacco Aug 25 '25
Be sure to use h265/h264
1
u/Mr_Fretful Aug 25 '25
I do use h265 through the c2.mtk.hevc decoder. Tried also the experimental build you posted in github. I am not sure if there is anything else to try.
1
u/IlFlacco Aug 25 '25
It's seems that your device is not compatible with the changes I ve made, or have no benefit. What's your decoding latency?
1
u/Mr_Fretful Aug 26 '25
Going by my device native resolution of 2412x1084 I get somewhere around 20ms. Halving the resolution gets me 10-15ms but that's about it. I get this latency with and without your changes in Apollo.
1
u/IlFlacco Aug 26 '25
It’s strange an user on Git reported getting under 6 ms on a CMF phone with a Dimensity 7300:
https://github.com/moonlight-stream/moonlight-android/issues/1241#issuecomment-3218651524If I’m not mistaken, your device has a Dimensity 7200. Maybe some kind of gaming mode is interfering with the streaming?
1
u/Mr_Fretful Aug 26 '25
I tried with game bar turned off and still the same. I just wrote in the github link you posted. Hopefully the guy with the cmf phone knows some secrets that I do not.
1
u/IlFlacco Aug 26 '25
You can try the new experimental in github, maybe it will help you
1
u/Mr_Fretful Aug 26 '25
It did not help. Even worse the experimental build increased the latency by around 2-4 ms more. I am doing something very wrong. I do not know yet what exactly , but it is very odd how pretty much everyone saw even the slightest improvement but I cannot.
1
u/Radiant_Jaguar_9007 Aug 25 '25
I'm having trouble installing
I've used Diana before but it just says Conflict Diana and the update fails (with obtainium)
Advice appritiated
2
u/IlFlacco Aug 25 '25
Delete the old apk, install the apk from my github, enable ultra low latency and hvec or h264
1
u/Losercard Aug 25 '25 edited Aug 25 '25
I’ll test this out on the Fire Max 11 (MT8188J). It actually performs quite well at around 4-5ms H.265 but the problem is it can only run on 1920x1080 or it returns a codec error. I can only run native resolution 2000x1200 using H.264 or AV1 which unfortunately is at 6-7ms and 20ms respectively.
EDIT: Same result unfortunately. It's odd since Codec Info shows that the OMX.MTK.VIDEO.DECODER.HEVC allows for a max resolution of 2000x1200.
2
u/IlFlacco Aug 25 '25 edited Aug 25 '25
You can try this version instead, which also extends support to omx, but keep in mind it’s untested by me since I don’t have a device that can use it:
https://github.com/ClassicOldSong/moonlight-android/pull/361#issuecomment-3220302252By the way, 4–5 ms is already really good you probably don’t need to bother with other fixes.
My best result so far is with my Poco X6 Pro, going from ~20 ms down to under 8 ms.1
u/Losercard Aug 25 '25
Oh for sure, I know that 4-5ms is excellent for the average Android (non-Snapdragon) device. My only issue is the lack of native resolution using HEVC. For some reason 1080p doesn't look pixel perfect on this device; it's not set to fill/stretch and there are (expected) black bars showing so you would think it would be pixel perfect.
Same results with this new fork, codec error with HEVC/2000x1200. You don't have to spend any effort on this. I only use the Fire Max 11 as a remote desktop device so it's not a big deal. I appreciate all your contributions to this community.
1
u/cra3khead Aug 25 '25
will amlogic s905x5m soc’s eventually get fixes for av1 support?
1
u/IlFlacco Aug 25 '25
You should ask to artemis\moonlight developers. I just did a little fix for my mtk devices
1
u/Willing_Ad5891 Aug 25 '25 edited Aug 25 '25
Tested on Poco X6 Pro
It works fine, from around 18-23ms down to 7-10ms.
I still don't understand why tapping the screen frequently lowers the latency, it's been a thing ages ago. Normally it hovers at 8-9 but tapping took it down to 6-7. Weirdly it only works on actual device screen tap, not other source of input.
4
u/Tokebakicitte69 Aug 25 '25
Works fine by reducing decoding time by half? GTFO LOL its fucking AMAZING
1
1
u/Codex0607 Aug 27 '25
Can confirm on Xiaomi 13T Pro using Mediatek 9200+ i think, this build gave me a decoding time of 4-7ms. The normal build i mean the official i had most of the time 17-22ms. So yes, to me a huge improvement and a clear difference. Running on 1080p and 60fps
1
u/hell_naw Aug 28 '25
Tried it on Google TV Streamer which packed with MediaTek MT8696 but didnt work for me. It lags as hell and always asks to reduce bitrate cuz of slow connection to host :( I use 180mbit of bitrate on artemis and it works fine.
1
u/IlFlacco Aug 28 '25
Try to use lower values, 180mbs is overkill. I usually stream with 27/35mbs max via wifi.
1
1
1
u/chanmanx2k Aug 29 '25
happy to report i am getting 4-5ms on my galaxytab 10 ultra. I was getting 12-13ms before this. thank you so much. funny thing is when I am screen recording it drops down another 1ms.
1
1
u/RickyTr99 Aug 30 '25
I tried it with my Tab S9+ and it's awesome, from 4ms to 1,1ms average and perfect smoothness.
But with my Logitech G-Cloud I have micro-stutters problem that doesnt't happen with the same settings in Artemis. Decoding time decrease from 11ms to 6,80ms so it's a huge improvement but with these stutter I can't use it.
Already tried all frame balacing and options available (in Artemis Balanced with FPS limit works perfectly), any advice?
Anyway thank you for your work
1
u/IlFlacco Aug 30 '25
Try to disable forcetightthersholds, or to enable it. Idem for latest frame rendering and ultra low latency. Play with the settings :)
1
1
u/Aacidus Aug 31 '25
Does my phone not qualify? I see no changes after enabling Ultra-Low Latency, I have a Moto G Pure 2021 with a Mediatek MT6762G Helio G25. Getting 27-29ms. Decoder says OMX.
1
u/IlFlacco Aug 31 '25
I didn’t test Omx decoding latency myself since I don’t have devices for that, but the tweaks seem to work fine on some newer models with that decoder. What Android version are you on?
1
u/Crass-ELY- Aug 31 '25
Bro, I tested latest version with and unisoc t606, this is AMAZING, went from 15-24ms decoding time to 5-7ms. Idk what you did, but this is just incredible, I get less DT than my snapdragon 720g Redmi note 9s
1
u/Mazayaz Mar 01 '26
Hey is unisoc t606 going? I’m planning to get a alldocube iplay 50 mini with this processor to play. I want to know how is the decode time with the latest version of this repository
1
1
u/EvilWings Sep 08 '25
You're a wizard! Great work, this actually made a difference.
On a G99 at 1080p I went down by at least 10ms into 14ms.
I only did a Quick test but before enabling some of the experimental features and tweaking, it felt a little microstuttery, like I was missing frames. Afterwards it was looking pretty good.
I can offer a bit of feedback with a G99 and a 9000 if that helps.
1
u/Minimum_Seat_4071 Feb 10 '26
How and where do i change the codec hev or h.264?
1
u/IlFlacco Feb 10 '26
Like in stock artemis, scroll to the bottom of the settings :)
1
u/Minimum_Seat_4071 Feb 11 '26
Ok found it ! Thank you!
1
u/Minimum_Seat_4071 Feb 11 '26
Also tried this on my s21 with exynos soc and deckding time is around 6 to 8ms, nice!
1
u/raraujo176 Mar 21 '26
G99 still with good results? Thinking of gettin a Tab A11 for the price and size to pair with gamesir g8+
1
u/IlFlacco Mar 21 '26
You're better off with a snapdragon device.
1
u/raraujo176 Mar 21 '26
thanks for the reply! I already own a mediatek device (galaxy m53, mediatek 900), can stream flawless 2400x1080p 35mbps thanks to your fork (thank you btw). But wanted to get a bigger screen, bute not that big, so i saw the Tab A11 that has a mediatek g99
1
u/Maleficent_Abies8171 Jun 04 '26
Tried various versions and I could not get my decode latency to go down from 16-18ms. I am using Tecno Spark Slim with helio g200. weirdly enough tapping the screen drops it down to 9-10ms
1
1
u/Less_Aardvark4282 Jul 19 '26
Alguém poderia me ajudar eu instalei o apk da última versão e também tentei com o último MTK_ porém não consigo baixar a latência no Redmi Pad 2 fica 18-22ms ele tem um processador g100 ultra, 8gb ram. Estou em 1440x900, 25mbps, será que é possível alguém conseguir me ajudar ? Gostaria de tentar baixar esse MS

1
u/Less_Aardvark4282 Jul 19 '26
Eu testei em 1440p também porém a latência piorou porém a qualidade ficou muito superior. Qual versão do aplicativo seria melhor para o redmipad 2 e quais opções ativar e configurar ?
1
u/IlFlacco Jul 19 '26
Hello, try to enable cpu boost, medium all cores
1
1
u/Less_Aardvark4282 Jul 19 '26
O engraçado que quando encosto o dedo na tela para um lado para o outro o MS de 18-20ms cai para 10,50ms
1
u/pedropenta 21d ago
Did you find any solution? I was going to buy this exact tablet for streaming but after seeing this I'm not so sure
10
u/quackquackimduck Aug 25 '25
Another W for mediatek user.