Jump to content

Building latest moonlight qt version

Go to solution Solved by amazingfate,

Recommended Posts



I am tyring to build the latest version of moonlight-qt (6.0.0).

Up until now, I succeded by removing the disable-libdrm and disable-wayland to enable hardware acceleration and use H264, H265 and AV1 all of them through hardware acceleration.

However, I get huge decoding times and they are even variable, ranging from 40ms to 300ms depending on what is going on in the streaming.

The 4.3.1 version provided by @amazingfate works very good at 4ms decoding time but I would like to test the new AV1 encoder and features from the latest version.

What steps should I follow to get it working correctly?


Thank you in advance

Link to comment
Share on other sites

Hello again @amazingfate:

I did some more tests to check what you said.

First, there are no frame drops, video is smooth using any decoder. 

Regarding decoding time, the behaviour is a little bit strange: the higher the framerate that moonlight renders, the lower the decoding time. When I am running 120fps, the decoding time is 35 ms which is as low as I managed to get it to.


In your 4.3.1 moonlight that you have in your ppa at launchpad I get 4ms decoding time. Sorry for the dumb question, I am just trying to understand: did you apply any patch or did anything in the source code to make the decoding time lower?


Thanks in advance

Link to comment
Share on other sites

  • Solution

4.3.1 moonlight is linked to ffmpeg 4.4, while new moonlight is linked to ffmpeg 6 because libavcode-dev in my ppa is updated to 6.0.

Decoding time caculation is ffmpeg releated. I think moonlight can't distinguish decoding time and rendering time with new ffmpeg.

Link to comment
Share on other sites

Thanks for answering so quickly.

I didnt know that the decoding time measurement was performed this way. So, there shouldnt be any difference between both versions performance then. I didnt try to play much and latency didnt seem as noticeable. 


Thanks for sharing your knowledge again!


PS: I put another post about linux kernel 6.1 not booting after updating some libraries from your ppa, could you take a look or tell me how can I debug it?

Link to comment
Share on other sites

@zetalex Were you able to use 4k120? If so, how did you enable 4k120 in Linux? I am not able to set the display (my TV) to 4k120, only 4k60... My TV's HDMI port is definitely a 4k120 port (verified with my PC and Nvidia GPU).

Have you seen this tutorial? I lists all required steps if you want to use hardware acceleration on RK3588 with 6.1 kernel.



Link to comment
Share on other sites

@amazingfate @zetalex I tried to compile version 6.0 of Moonlight with libavcodec-dev 6.0.1 from amazingfate's ppa. However, I got significant decoding times too and noticeable lag when moving the mouse. After reading amazingfate's post, I recompiled it using libavcodec-dev 4.4.2. Now, the decoding time is below 10 ms and noticeable lag is gone.

Link to comment
Share on other sites

Posted (edited)

@q-bert It seems like you might have missed some dependencies while building, such as egl. Without the start log, it's difficult to point out why. I've uploaded a compiled moonlight-qt 6.0 binary file. Just make it executable with chmod +x then enjoy it. 


Edited by zhonghuihong
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines