moonlight-embedded icon indicating copy to clipboard operation
moonlight-embedded copied to clipboard

Vero 4K support

Open TheHacker66 opened this issue 8 years ago • 129 comments

NVidia Geforce Experience version: 3.9.0.97 Moonlight Embedded version: 2.4.3 Moonlight Embedded source: compiled from source Moonlight Embedded running on: Vero 4K Moonlight Embedded running on distribution: OSMC

Verbose output -verbose of Moonlight Embedded:

Searching for server... Connect to 192.168.178.20... No mapping available for meson-ir (19000000000000000000000000000000) on /dev/input/event2 No mapping available for gpio_keypad (10000000010000000100000000010000) on /dev/input/event0 No mapping available for cec_input (100000008e1b0000ec0c000001000000) on /dev/input/event1 Initializing platform...done Resolving host name...done Starting RTSP handshake...done Initializing control stream...done Initializing video stream...done Initializing audio stream...done Initializing input stream...done Starting control stream...done OPEN es DEVICE codec_init amstream version : 2.0 [codec_init 732]type =1 [codec_init 740] Starting video stream...done ALSA lib pcm_direct.c:896:(snd1_pcm_direct_initialize_slave) slave plugin does not support mmap interleaved or mmap noninterleaved access ALSA lib pcm_dmix.c:1034:(snd_pcm_dmix_open) unable to initialize slave Starting audio stream...Alsa error code -22 Audio stream start failed: -1 Stopping video stream...ENet wait interrupted Control stream connection failed Loss Stats: Transaction failed: 11 [codec_close 851] [codec_close_cntl]video codec close return=0! done Stopping control stream...done Cleaning up input stream...done Cleaning up audio stream...done Cleaning up video stream...done Cleaning up control stream...done Cleaning up platform...done EVIOCGRAB failed with error 16 EVIOCGRAB failed with error 16

I have forked the repo and made the necessary changes for moonlight to compile. AMLogic support is already included in the Vero 4K.

Is someone willing to check what might be wrong? Thanks

TheHacker66 avatar Oct 07 '17 19:10 TheHacker66

I'm bumping this and adding more logs:

https://gist.github.com/antsu/b426d72a35e7b32fbad64f05552225ba

Hope that someone will look into this sooner or later ;)

TheHacker66 avatar Nov 06 '17 19:11 TheHacker66

Can you try specifying the target audio device manually?

If that fails, try building with PulseAudio to see if the PA backend works.

cgutman avatar Nov 20 '17 08:11 cgutman

Hi @cgutman!

Thanks for the suggestions, specifying the audio works (kinda), i can hear crackling sounds coming from the tv but the video is still black.

Something interesting coming from the verbose output:

[codec_init 732]type =1 [codec_init 740] Starting video stream...done Starting audio stream...done Starting input stream...done EVIOCGRAB failed with error 16 EVIOCGRAB failed with error 16 Alsa error from writei: -32 Returning RTP packet queued for too long Received OOS audio data (expected 28132, but got 28133)Waiting for IDR frame Alsa shortm write, write 48 frames Alsa shortm write, write 64 frames Alsa shortm write, write 192 frames Alsa shortm write, write 64 frames Alsa error from writei: -32 Unrecoverable frame 197: 16+2=18 received < 21 needed Network dropped an entire frame codec_write error: ffffffff [codec_close 851] [codec_close_cntl]video codec close return=0! OPEN es DEVICE [codec_init 732]type =1 [codec_init 740] [codec_reset:1199]ret=0 Requesting IDR frame on behalf of DR Waiting for IDR frame Waiting for IDR frame Alsa error from writei: -32 ...

Hope this gives some clues!

TheHacker66 avatar Nov 20 '17 19:11 TheHacker66

What exact parameters are you passing to stream? What GPU is in your PC?

You might try adding -codec h264. I found that some Amlogic chips don't like the default h.265 stream that GeForce Experience produces.

I implemented a workaround in moonlight-common-c for the most recent GFE version, which supports specifying the number of reference frames. https://github.com/moonlight-stream/moonlight-common-c/commit/f6ae7fc2b4d2c0c5d2a8cb8ebc55f4157156c9f1

cgutman avatar Dec 06 '17 02:12 cgutman

The last time I simply ran moonlight stream -audio hw:0,0 -platform aml. I have a GTX 770.

I merged the recent commits, I'll compile, test using your suggestions and report back tonight. Thanks!

TheHacker66 avatar Dec 06 '17 10:12 TheHacker66

Unfortunately specifying the h264 codec didn't change much, i got less errors in console but the screen is still black.

TheHacker66 avatar Dec 07 '17 10:12 TheHacker66

OSMC and Vero 4k were updated to Stretch. Unfortunately the black screen issue still remains.

TheHacker66 avatar Jan 17 '18 18:01 TheHacker66

Can you try run strace and see if it gives us anything useful?

samnazarko avatar Jan 17 '18 19:01 samnazarko

Yup, here's the log: https://paste.osmc.tv/isavozohoz

TheHacker66 avatar Jan 17 '18 19:01 TheHacker66

Hello,

I belibe this is a kodi and amlogic problem and not with moonlight.

Please take a look here: https://forum.odroid.com/viewtopic.php?f=91&t=15456&p=171714&hilit=%2Fsys%2Fclass%2Fvideo%2Fdisable_video#p171714

try to set /sys/class/video/disable_video to 0 before starting moonlight

danielfmo avatar Jan 17 '18 20:01 danielfmo

Good find @danielfmo . Let us know how it goes @TheHacker66 . I can patch Kodi to reset this on exit; or you can set it in a startup script in Moonlight.

samnazarko avatar Jan 17 '18 23:01 samnazarko

Well guys, unfortunately setting that flag before running moonlight didn't change anything. I can run another strace with the flag set to 0 if needed.

So close yet so far..

TheHacker66 avatar Jan 18 '18 20:01 TheHacker66

@TheHacker66 I've sent you a PM with a kernel with amlvideo debugging on. It may give us some clues if the decoder isn't happy.

samnazarko avatar Feb 14 '18 19:02 samnazarko

I won't be at home till Saturday, so I'll test it once I get back.

TheHacker66 avatar Feb 14 '18 19:02 TheHacker66

Cool. I found why HEVC wasn't tolerated by Moonlight (buf margin needs a bump). This also fixed a couple of playback issues.

Sent from a mobile device, so please excuse the brevity of this reply

On 14 Feb 2018, at 19:30, TheHacker66 <[email protected]mailto:[email protected]> wrote:

I won't be at home till Saturday, so I'll test it once I get back.

You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/irtimmer/moonlight-embedded/issues/573#issuecomment-365718655, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA47LK2y_Y3-UkVwr9nQbD2SpG3w338Kks5tUzQ4gaJpZM4PxdcC.

samnazarko avatar Feb 14 '18 19:02 samnazarko

Hi, sorry for not replying earlier.

I installed the kernel and rebooted. Unfortunately there seems to be an incompatibility with the latest GFE version because moonlight complains about an udp port which is open in the firewall and that was working before. The version I have installed is 3.12.0.84

I tried uninstalling that and installing the version available on nvidia's site (3.12.0.79) to no avail. Deleting firewall rules (that were recreated after the install) didn't change anything.

I'll try to reinstall a even older version to see if the problem goes away.

TheHacker66 avatar Feb 21 '18 18:02 TheHacker66

Ok, I reinstalled the version I had when I started this thread (3.9.0.97) and moonlight started working again.

Sorry, I forgot to run the modprobe command..

Here's the correct log:

https://paste.osmc.tv/monaxowoyo

I checked the disable_video flag and it was set to 2, is it normal?

EDIT: I don't see anything wrong in this new log, but I saw some errors in the previous log, so I'll leave it here: https://paste.osmc.tv/ezeludacig

TheHacker66 avatar Feb 21 '18 18:02 TheHacker66

Hopefully you're feeling better now.

Thanks for giving this a go.

[ +0.010327] codec:vdec1 video changed to 0 x 0 0 fps clk->200MHZ

I think this is the problem. The video decoder doesn't seem to be set up correctly.

I believe Moonlight uses libamcodec. Can you confirm if you compiled Moonlight using the libamcodec-dev-osmc package?

samnazarko avatar Feb 21 '18 20:02 samnazarko

Hi Sam, thanks.

I have indeed installed vero3-libamcodec-dev-osmc. I modified the cmake/FindAmlogic.cmake file to point to /usr/osmc/lib/ where libamcodec.so is located.

It is correct?

EDIT: That line you mentioned is right at the end just before i stopped the stream via Steam, so I think it's right. There's another one which seems correct:

[ +0.000048] codec:vdec1 video changed to 3840 x 2160 60 fps clk->667MHZ

TheHacker66 avatar Feb 22 '18 13:02 TheHacker66

Here's the output from moonlight from today's test @ 1920x1080:

http://paste.osmc.tv/poqayipobo.vbs

And the dmesg:

https://paste.osmc.tv/azezuderow

TheHacker66 avatar Feb 22 '18 14:02 TheHacker66

Yes -- that's one way to get the compile to use the OSMC versions of libamcodec.

[ +0.007596] codec:vdec1 video changed to 0 x 0 0 fps clk->200MHZ

This still looks to be the problem. I'm not sure why the decoder is not getting hints properly; but I suspect something in Moonlight isn't setting up the amprivate structs properly.

samnazarko avatar Feb 22 '18 17:02 samnazarko

@cgutman @danielfmo might have some more ideas.

I'll see if I can get access to an NVIDIA system to test this out with.

samnazarko avatar Feb 22 '18 17:02 samnazarko

You should still have remote access to my Vero 4k to fiddle with. I won't be at home tomorrow but I will be this weekend if you need me for tests.

TheHacker66 avatar Feb 22 '18 17:02 TheHacker66

@TheHacker66 Have you had any luck?

williamluke4 avatar Mar 12 '18 11:03 williamluke4

Nope. I think we need @cgutman or @irtimmer help.

TheHacker66 avatar Mar 20 '18 16:03 TheHacker66

We're happy to get hardware out to resolve this.

samnazarko avatar Mar 24 '18 03:03 samnazarko

Currently considering buying a Vero 4k, but I would like to also use moonlight on it. So I was wondering if you had any success in the meantime? Thank you

maxanier avatar Jun 24 '18 20:06 maxanier

Nothing yet unfortunately. I can't think of anything we have significantly diverged with that would cause such issues.

I'm happy to ship hardware to any developers. In the interim, I'm going to see if I can set up an NVIDIA system to look in to this myself. I am away for a few weeks however.

samnazarko avatar Jun 24 '18 20:06 samnazarko

Anything on this yet?

ZacWolf avatar Jul 23 '18 14:07 ZacWolf

Unfortunately nothing has moved this forward yet.

samnazarko avatar Jul 23 '18 14:07 samnazarko