[GAMES] NVIDIA Game Streaming with ODROID

Post Reply
User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

[GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Sun Aug 09, 2015 9:34 pm

Hi all

I have ported moonlight ( a game streaming client ) to our ODROID's, it is working on XU3/4 and U3/U2/X2, as the thread title says you need a computer with NViDIA GTX 600/700/900 series GPU card, High-end wireless router (802.11n dual-band recommended) or wired network

It uses an FFmpeg backend for video decoding, this backend i have modified to use frame threading instead of sliced frames which is fastest on ODROID's and the way we use it, i also modified the SDL2 Renderer to initialize with GLES2 HW Render instead of OpenGL to get faster drawings, the SDL2 library has to be build with -disable-video-opengl otherwise SDL2 will use mesa library because mesa can do it all (GLES2, GL, OpenVG), but mesa is not HW accelerated on ODROID's, you don't have to worry about this because nearly all ODROID standard images using SDL2 with OpenGL disabled ;)

There are no limitations with the FFmpeg backend on XU3/4, resolution's up to 1080p60 are working, on U3/U2/X2 the maximum resolution is 1080p30.

So first of all, here is an example video showing moonlight in action:



If you want you can use custom FFmpeg versions on build time, if you do, this versions will get linked static into the binary so you don't have FFMpeg library dependency and conflicts with other software, that's also good for packaging. Don't forget to strip your binary it will be huge ! You can experiment which version brings the best performance to you, there are a lot of hacks out in the wild that make FFmpeg faster here and there, feel free to tell us what was fastest for you

Here is an example to build Moonlight with external FFmpeg:

Code: Select all

cd ~
git clone https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg/
export CFLAGS="-mfloat-abi=hard -marm -mfpu=neon-vfpv4 -ftree-vectorize -mvectorize-with-neon-quad -ffast-math"
./configure --disable-programs --disable-vaapi --enable-pthreads --enable-neon --enable-vfp
make -j8
cd ..
git clone https://github.com/AreaScout/moonlight-embedded.git --recursive
cd moonlight-embedded/
sudo apt-get install libssl-dev libopus-dev libasound2-dev libudev-dev libavahi-client-dev libcurl4-openssl-dev libexpat1-dev cmake libgtk-3-dev uuid-dev libenet-dev libsdl2-dev libx11-dev libbz2-dev liblzma-dev libevdev-dev libbz2-dev liblzma-dev
cmake -DFFMPEG_HOME=/home/odroid/FFmpeg -DUSE_CUSTOM_FFMPEG=ON .
make -j8
strip moonlight
Same but with FFmpeg version provided by distribution- or image maintainer:

Code: Select all

cd ~
git clone https://github.com/AreaScout/moonlight-embedded.git --recursive
cd moonlight-embedded/
sudo apt-get install libssl-dev libopus-dev libasound2-dev libudev-dev libavahi-client-dev libcurl4-openssl-dev libexpat1-dev cmake libgtk-3-dev uuid-dev libenet-dev libsdl2-dev libx11-dev libevdev-dev libbz2-dev liblzma-dev
cmake  .
make -j8
strip moonlight
Disable pulseaudio, you can do it via odroid-ultility.sh or manually

Code: Select all

echo "autospawn = no" >> /home/odroid/.config/pulse/client.conf
pulseaudio --kill
First thing is, we must pair moonlight with NViDIA Game Streaming ( i am using PuTTY SSH client under windows )

Code: Select all

./moonlight pair xxx.xxx.xxx.xxx 
where xxx.xxx.xxx.xxx is the ip from your PC, a window will popup and ask you to give the pin for pairing, just follow the commands from moonlight

Image

Now add a game to NViDIA Experience under Settings->Shield navigate to the game binary and give it a short name

The game can now be startet from within PuTTY session or directly on ODROID with:

sometimes it crashes with error message 'Video decode buffer too small', to prevent this i use -packetsize 94208

Code: Select all

DISPLAY=:0.0 ./moonlight stream xxx.xxx.xxx.xxx -app "short name" -fps 60 -1080 -platform sdl
use help to show more command line options to tweak your game experience

Code: Select all

./moonlight --help
Have Fun
Last edited by AreaScout on Fri Apr 19, 2019 3:13 pm, edited 39 times in total.

User avatar
odroid
Site Admin
Posts: 32318
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 138 times
Been thanked: 316 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by odroid » Sun Aug 09, 2015 11:28 pm

Interesting project ! :o

Refer crashoverride's MFC decoder example for the XU3/4 too.
http://forum.odroid.com/viewtopic.php?f=95&t=15406

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Sun Aug 09, 2015 11:52 pm

yes very interesting and addicting to play my PC games on my 55" TV ! :D just watch the video, i exidently set the video to private use only, now it's set to public view ^^

RG

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Mon Aug 10, 2015 12:12 am

odroid wrote:Interesting project ! :o

Refer crashoverride's MFC decoder example for the XU3/4 too.
http://forum.odroid.com/viewtopic.php?f=95&t=15406
I already have mfc code in moonlight but i will test CrashOverrides code too but the bottleneck seem's to be the HW YUV2RGB conversation done in the shader, it's to slow for a 60fps video stream, there should be another onboard chip/method to HW decode the picture, but i donb't have a clue yet because FIMD is not present in our Linux kernel

RG

crashoverride
Posts: 4538
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 69 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by crashoverride » Mon Aug 10, 2015 12:40 am

AreaScout wrote: the bottleneck seem's to be the HW YUV2RGB conversation done in the shader
The bottleneck is the X11 driver, not the Mali GPU.
http://forum.odroid.com/viewtopic.php?f=99&t=9935

My understanding is that we are waiting for fixes from ARM to correct the situation.

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Mon Aug 10, 2015 12:54 am

crashoverride wrote:
AreaScout wrote: the bottleneck seem's to be the HW YUV2RGB conversation done in the shader
The bottleneck is the X11 driver, not the Mali GPU.
http://forum.odroid.com/viewtopic.php?f=99&t=9935

My understanding is that we are waiting for fixes from ARM to correct the situation.
I will do further test's with MFC, but i am 80% sure that the shader YUV2RGB conversation can't handle 60fps video's but 30fps work just fine, but the board has for sure easily the power to do it.

well let's see what happens, i am happy with the ffmpeg solution for now, can't get away from witcher3 now ;)

RG

crashoverride
Posts: 4538
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 69 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by crashoverride » Mon Aug 10, 2015 1:06 am

You can test your theory by replacing the YUV pixel shader code with a pixel shader that just returns a single solid color: return vec4(1, 1, 1, 1); // White

User avatar
OverSun
Posts: 1491
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english
Has thanked: 0
Been thanked: 18 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by OverSun » Mon Aug 10, 2015 1:27 am

Even U2 For sure can handle 50 fps at least. XBMC does that, and that's a shader, and not even YUV2RGB, it's NV12toRGB, meaning there's also UV splitting.

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Mon Aug 10, 2015 1:38 am

OverSun wrote:Even U2 For sure can handle 50 fps at least. XBMC does that, and that's a shader, and not even YUV2RGB, it's NV12toRGB, meaning there's also UV splitting.
well all emulators and retroarch are doing 60fps in fullscreen but applying one shader and you are dealing with different fps ( smaller then 60fps ) very quickly, xbmc has it's nice framedropper but moonlight doesn't and so it starts with hickups -> this or mfc itself must be the problem

User avatar
meveric
Posts: 10485
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 17 times
Been thanked: 131 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by meveric » Mon Aug 10, 2015 1:46 am

I'm following this project for quite a while now and did quite some testing together with AreaScout.
The original project (limelight) was running months ago on ODROIDs already, even if it was only under Android, you were already able to play games mostly fine.

Now that they finally got away from all the Java code and precompiled binary blobs for drivers it was just a matter of time to get it to run on ODROIDs :)

@AreaScout
again i did some testing and i can say it's running fine on the XU3 (although i have some minor sound issues).
U3 test failed again.. The U3 can't handle the decoding in realtime and is laggy.. :(
C1 can't handle it either (no surprise here).

Edit:
I checked CPU usage on the U3 during streaming.. two out of 4 cores were at about 60~65% cpu usage.. the other cores were basicly on idle..
Still the picture is very laggy..
Last edited by meveric on Mon Aug 10, 2015 2:15 am, edited 1 time in total.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Mon Aug 10, 2015 2:14 am

meveric wrote:I'm following this project for quite a while now and did quite some testing together with AreaScout.
The original project (limelight) was running months ago on ODROIDs already, even if it was only under Android, you were already able to play games mostly fine.

Now that they finally got away from all the Java code and precompiled binary blobs for drivers it was just a matter of time to get it to run on ODROIDs :)

@AreaScout
again i did some testing and i can say it's running fine on the XU3 (although i have some minor sound issues).
U3 test failed again.. The U3 can't handle the decoding in realtime and is laggy.. :(
C1 can't handle it either (no surprise here).
yep we did :) and OverSun was also very helpfull and fast with answering my questions on Skype :) he is probably one of the guys where you can fight the galaxy

so

@odroid or @mdrjr

what must i do to get this http://lxr.free-electrons.com/source/Do ... s5-gsc.txt or something else which is capable to do HW color conversation working ?

or does it work already ?

crashoverride
Posts: 4538
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 69 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by crashoverride » Mon Aug 10, 2015 3:58 am

I just did some timing tests on a XU4:

Using a *full screen* X11 window:
- clear screen and flipping buffers operates at 118fps.
- doing NV12 to RGBA conversion on a full screen quad operates at 88fps.

Using a non-full screen window drops the framerate to about 38fps as mentioned in the other thread.

[Edit: It should be noted with a proper driver, these numbers should be closer to 1000fps as mentioned in the other thread]

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Mon Aug 10, 2015 4:51 am

crashoverride wrote:I just did some timing tests on a XU4:

Using a *full screen* X11 window:
- clear screen and flipping buffers operates at 118fps.
- doing NV12 to RGBA conversion on a full screen quad operates at 88fps.

Using a non-full screen window drops the framerate to about 38fps as mentioned in the other thread.

[Edit: It should be noted with a proper driver, these numbers should be closer to 1000fps as mentioned in the other thread]
hmm ... and that NV12 conversation was done in shader with 88 texture uploads per second ? was this your test case ?

my MFC testings was as follows 30fps with moonlight was ok, well i had 800ms latency but it was playable, 60fps was only stutter, BUT ! i didn't try your example so i will do once in a while

crashoverride
Posts: 4538
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 69 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by crashoverride » Mon Aug 10, 2015 5:37 am

AreaScout wrote:hmm ... and that NV12 conversation was done in shader with 88 texture uploads per second ? was this your test case ?
Yes, that includes the glTexSubImage calls. The texture data used was a random distribution generated by the C++11 mersenne twister. The texture image size was 1920x1088 (as would be output by the hardware codec) cropped to 1920x1080.

The following is the code used with my XU4VideoCubeSample, replacing the main.cpp

Code: Select all

#include "X11Window.h"
#include <chrono>
#include <stdio.h>
#include <random>
#include "Scene.h"
#include <vector>
#include <GLES2/gl2.h>

int main()
{
    typedef std::chrono::high_resolution_clock Clock;

    X11Window window(1280, 720, "FPS Test");

    Scene scene;
    scene.Load();

    auto start = Clock::now();
    int frames = 0;

    std::mt19937 mt;
    std::uniform_real_distribution<float> dist(0, 1);
    const int length = 1920 * 1088;
    unsigned char yData[length];
    for (int i = 0; i < length; ++i)
    {
        yData[i] = (unsigned char)(dist(mt) * 255);
    }

    unsigned char vuData[length / 2];
    for (int i = 0; i < length / 2; ++i)
    {
        vuData[i] = (unsigned char)(dist(mt) * 255);
    }

    scene.CreateTextures(1920, 1088, 0, 0, 1920, 1080);

    bool isRunning = true;
    while(isRunning)
    {
        auto end = Clock::now();
        std::chrono::duration<double> elapsed = std::chrono::duration_cast<std::chrono::duration<double>>(end - start);

        if (elapsed.count() > 1.0)
        {
            printf("fps=%f\n", frames / elapsed.count());

            frames = 0;
            start = end;
        }

        Action action;

        do
        {
            action = window.ProcessMessages();

            if (action == Action::Quit)
                isRunning = false;
        }while (action != Action::Nothing);


        glClearColor(dist(mt), dist(mt), dist(mt), 1);
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

        scene.Draw(yData, vuData);

        window.SwapBuffers();

        ++frames;
    }
}
[Edit: forgot to mention I also had to modify X11Window class to produce a full screen window]

User avatar
OverSun
Posts: 1491
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english
Has thanked: 0
Been thanked: 18 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by OverSun » Mon Aug 10, 2015 5:47 am

[spoiler]
The same is coming to C1 very soon. I did great progress rewriting C1 decoder recently to a console program, capable of showing picture on the screen from raw h264 input. It did show me the h264 video just now.
[/spoiler]

crashoverride
Posts: 4538
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 69 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by crashoverride » Mon Aug 10, 2015 5:55 am

OverSun wrote:The same is coming to C1 very soon. I did great progress rewriting C1 decoder recently to a console program, capable of showing picture on the screen from raw h264 input. It did show me the h264 video just now.
That is terrific news, Thanks!

It also wanted to mention that on XU4 it should be possible to use DMA_BUF to map the output of the hardware codec to an EglImage for Mali to use as a texture. This would eliminate the copy.
https://www.khronos.org/registry/egl/ex ... import.txt

https://community.arm.com/thread/6378
I can confirm that the extension that allows EGL_LINUX_DMA_BUF_EXT, which is EGL_EXT_image_dma_buf_import, is not currently supported on Utgard devices, only Midgard devices.

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Mon Aug 10, 2015 4:04 pm

crashoverride wrote: It also wanted to mention that on XU4 it should be possible to use DMA_BUF to map the output of the hardware codec to an EglImage for Mali to use as a texture. This would eliminate the copy.
https://www.khronos.org/registry/egl/ex ... import.txt

https://community.arm.com/thread/6378
I can confirm that the extension that allows EGL_LINUX_DMA_BUF_EXT, which is EGL_EXT_image_dma_buf_import, is not currently supported on Utgard devices, only Midgard devices.
yes liquidAcid also told about that extension and dsd say'd something similar, it's new for me

thx for sharing that info

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Thu Aug 20, 2015 7:29 pm

There was an update recently on mainline moonlight, the pc branch was merged to master which holds an SDL2/FFMPEG implementation, i was testing it and i can say that this and other changed speeded up the gamestreaming a lot and so 60fps is now possible, also audio plays without issues now, i will give instructions today on how to compile + push my changes

RG

P.S.: still working on HW video decoding for 1080p60 -> work in progress

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Thu Aug 20, 2015 11:11 pm

OK i have deleted my old fork and did a new one and updated the first post with instructions how to use it with SDL2

have fun

User avatar
meveric
Posts: 10485
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 17 times
Been thanked: 131 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by meveric » Fri Aug 21, 2015 7:17 am

I've just created .deb files and uploaded them to my repository main/wheezy and main/jessie depending on your Ubuntu version they should work as well.

Code: Select all

apt-get install moonlight-embedded
I've tested them on the XU3 and U3 both seems to work fine, although U3 only seem to work properly with 720p.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Fri Aug 21, 2015 4:20 pm

@meveric

thx for packaging ! :)

RG

dertester
Posts: 120
Joined: Fri Feb 20, 2015 8:51 pm
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by dertester » Tue Aug 25, 2015 6:52 am

@meveric @ AreaScout

i tried to install the moonlight-embedded_2.1.1-1_armhf.deb from http://oph.mdrjr.net/meveric/pool/main/ ... -embedded/
on my xu4 with 15.04 image.

i get the following error:

Code: Select all

dpkg: dependency problems prevent configuration of moonlight-embedded:
 moonlight-embedded depends on libudev0 (>= 146); however:
  Package libudev0 is not installed.
But i have the package libudev-dev already installed..

Code: Select all

sudo apt-get install libudev-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libudev-dev is already the newest version.

User avatar
memeka
Posts: 4339
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 1 time
Been thanked: 23 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by memeka » Tue Aug 25, 2015 7:30 am

libudev0 and libudev-dev are different.

User avatar
meveric
Posts: 10485
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 17 times
Been thanked: 131 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by meveric » Tue Aug 25, 2015 7:35 am

libudev0 and libudev-dev are different packages.
Since you're using Ubuntu 15.04 you have to use: http://oph.mdrjr.net/meveric/pool/main/ ... _armhf.deb instead.
Since this one was build against libudev1 which is part of Ubuntu 15.04.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

dertester
Posts: 120
Joined: Fri Feb 20, 2015 8:51 pm
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by dertester » Tue Aug 25, 2015 9:41 am

Thank you. I was already wondering what that package was meant for.
Ill report back when i tried.

dertester
Posts: 120
Joined: Fri Feb 20, 2015 8:51 pm
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by dertester » Thu Aug 27, 2015 5:18 am

Problem now is, that i get only a black screen. I can hear the music and that my controls work.
I got it working once when starting steam by alt-tab´ing a few times. But that only worked twice and only with steam..

I tried with xu4 and the exact steps from the first post. I also got the same info vendor..etc
OS is 15.04 with MATE , maybe thats a problem..?

@Meveric
with the deb8 package i got more dependency errors mostly from outdated avcodec ..
Couldnt start so i build like the OP instructions..

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Thu Aug 27, 2015 3:04 pm

so you do not have any other ffmpeg version installed befor ? you used an 'virgin' 15.04 and followed exactly my steps ?

also check if moonlight uses the libSDL.so compiled by ourself

RG

dertester
Posts: 120
Joined: Fri Feb 20, 2015 8:51 pm
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by dertester » Fri Aug 28, 2015 10:15 pm

I didnt install another ffmpeg, only avconv may have altered something.
I post my versions below.

I followed your guide and i guess its using the right libsdl. The links are set and i get the same output (MALI etc.) when running a game.
Is there a better way to check?

Could it be that this "DISPLAY=:0.0" is messed up? I always get a fullscreen black window where i can only use my mouse. By ALT-TAB´ing i see another window maxing to fullscreen. Thats when sometimes i was able to see Steam.

Here are my versions of the packages above:
dpkg -s libavcodec-ffmpeg-dev libavutil-ffmpeg-dev libswscale-ffmpeg-dev

Code: Select all

Package: libavcodec-ffmpeg-dev
Status: install ok installed
Source: ffmpeg
Version: 7:2.5.8-0ubuntu0.15.04.1
Depends: libavcodec-ffmpeg56 (= 7:2.5.8-0ubuntu0.15.04.1), libavutil-ffmpeg-dev (= 7:2.5.8-0ubuntu0.15.04.1), libswresample-ffmpeg-dev (= 7:2.5.8-0ubuntu0.15.04.1)
Conflicts: libavcodec-dev

==========================================

Package: libavutil-ffmpeg-dev
Status: install ok installed
Multi-Arch: same
Source: ffmpeg
Version: 7:2.5.8-0ubuntu0.15.04.1
Depends: libavutil-ffmpeg54 (= 7:2.5.8-0ubuntu0.15.04.1)
Conflicts: libavutil-dev

==========================================

Package: libswscale-ffmpeg-dev
Status: install ok installed
Source: ffmpeg
Version: 7:2.5.8-0ubuntu0.15.04.1
Depends: libavutil-ffmpeg-dev (= 7:2.5.8-0ubuntu0.15.04.1), libswscale-ffmpeg3 (= 7:2.5.8-0ubuntu0.15.04.1)
Conflicts: libswscale-dev

LiquidAcid
Posts: 1093
Joined: Fri Oct 11, 2013 11:07 pm
languages_spoken: english
ODROIDs: X2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by LiquidAcid » Sat Aug 29, 2015 1:52 am

AreaScout wrote:what must i do to get this http://lxr.free-electrons.com/source/Do ... s5-gsc.txt or something else which is capable to do HW color conversation working ?

or does it work already ?
When the kernel side works, you can interface with the scaler either via the IPP DRM interface (see LWN) or via the (older?) v4l2 driver (VIDEO_SAMSUNG_EXYNOS_GSC). Only one driver should be activated though.

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Sat Aug 29, 2015 3:57 am

dertester wrote:I didnt install another ffmpeg, only avconv may have altered something.
I post my versions below.

I followed your guide and i guess its using the right libsdl. The links are set and i get the same output (MALI etc.) when running a game.
Is there a better way to check?

Could it be that this "DISPLAY=:0.0" is messed up? I always get a fullscreen black window where i can only use my mouse. By ALT-TAB´ing i see another window maxing to fullscreen. Thats when sometimes i was able to see Steam.

Here are my versions of the packages above:
dpkg -s libavcodec-ffmpeg-dev libavutil-ffmpeg-dev libswscale-ffmpeg-dev
It seem's they changed something in SDL2, dunno if this is a bug or a new feature, i have to study further on this, but for now to get it working just use an older SDL2 version with:

Code: Select all

hg clone -r 9846 http://hg.libsdl.org/SDL
please let me know if this is working for you

@LiquidAcid

Thank you for this information ! :)

RG

dertester
Posts: 120
Joined: Fri Feb 20, 2015 8:51 pm
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by dertester » Mon Aug 31, 2015 7:16 pm

I did the steps again with that command. Now i started moonlight from another machine and got the following log:

Do i need to remove old files or is everything overwritten with make install after compiling the new old SDL?

Code: Select all

DISPLAY=:0.0 ./moonlight stream 192.168.1.103 -app "Steam" -30fps -1080
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
Starting video stream...done
Starting audio stream...INFO: Vendor     : ARM
INFO: Renderer   : Mali-T628
INFO: Version    : OpenGL ES-CM 1.1
INFO: Extensions : GL_OES_byte_coordinates GL_OES_fixed_point GL_OES_single_precision GL_OES_matrix_get GL_OES_compressed_paletted_texture GL_OES_point_size_array GL_OES_point_sprite GL_OES_read_format GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_stencil8 GL_OES_framebuffer_object GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_matrix_palette GL_OES_extended_matrix_palette GL_OES_draw_texture GL_OES_blend_equation_separate GL_OES_blend_func_separate GL_OES_blend_subtract GL_OES_stencil_wrap GL_OES_texture_mirrored_repeat GL_EXT_texture_format_BGRA8888 GL_OES_query_matrix GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_ARM_rgba8 GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_EXT_texture_storage GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_OES_surfaceless_context GL_EXT_multisampled_render_to_texture GL_OES_texture_cube_map GL_KHR_debug GL_EXT_sRGB
INFO:
done
Starting input stream...done
Decode failed
Decode failed

That decode failed coudl mean something with my ffmpeg is wrong?
To bad i cant set up the whole system again atm.

But i have my C1 to try, ill report back. Maybe you got an idea :)

OT:
Do you have the xbox wireless gamepad (for windows) working with the xu4?

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Mon Aug 31, 2015 8:26 pm

dertester wrote:I did the steps again with that command. Now i started moonlight from another machine and got the following log:

Do i need to remove old files or is everything overwritten with make install after compiling the new old SDL?

Code: Select all

DISPLAY=:0.0 ./moonlight stream 192.168.1.103 -app "Steam" -30fps -1080
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
Starting video stream...done
Starting audio stream...INFO: Vendor     : ARM
INFO: Renderer   : Mali-T628
INFO: Version    : OpenGL ES-CM 1.1
INFO: Extensions : GL_OES_byte_coordinates GL_OES_fixed_point GL_OES_single_precision GL_OES_matrix_get GL_OES_compressed_paletted_texture GL_OES_point_size_array GL_OES_point_sprite GL_OES_read_format GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_stencil8 GL_OES_framebuffer_object GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_matrix_palette GL_OES_extended_matrix_palette GL_OES_draw_texture GL_OES_blend_equation_separate GL_OES_blend_func_separate GL_OES_blend_subtract GL_OES_stencil_wrap GL_OES_texture_mirrored_repeat GL_EXT_texture_format_BGRA8888 GL_OES_query_matrix GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_ARM_rgba8 GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_EXT_texture_storage GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_OES_surfaceless_context GL_EXT_multisampled_render_to_texture GL_OES_texture_cube_map GL_KHR_debug GL_EXT_sRGB
INFO:
done
Starting input stream...done
Decode failed
Decode failed

That decode failed coudl mean something with my ffmpeg is wrong?
To bad i cant set up the whole system again atm.

But i have my C1 to try, ill report back. Maybe you got an idea :)

OT:
Do you have the xbox wireless gamepad (for windows) working with the xu4?

first i wouldn't try to use 1080p picture size, second C1 is to slow for software decoding, third is your picture still black and does it have the ALT+TAB behavior ?

RG

dertester
Posts: 120
Joined: Fri Feb 20, 2015 8:51 pm
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by dertester » Mon Aug 31, 2015 9:01 pm

With 720p same thing, decode failed 2x. and only black screen.

I can hear the audio just fine, and keyboard works when i change to that little window.

Note the little windows left bottom..

Image

If you have no other idea i will check if its working with a clean install.
I cant right now as my tvserver etc is running and my gf kills me without her daily soaps ;)

Maybe its just because i installed avconv and messed around for some video transcoding..

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Mon Aug 31, 2015 9:22 pm

dertester wrote:With 720p same thing, decode failed 2x. and only black screen.

I can hear the audio just fine, and keyboard works when i change to that little window.

Note the little windows left bottom..

Image

If you have no other idea i will check if its working with a clean install.
I cant right now as my tvserver etc is running and my gf kills me without her daily soaps ;)

Maybe its just because i installed avconv and messed around for some video transcoding..
it could be, i.e ffmpeg is very sensitive of having multible header files installed from different versions, it could also cause that black screen

last thing befor a clean install is, i also did a test with a clean install and i did exactly the steps from my first post, except one package libgtk-3-dev you can try to install it too but i doubt about it

good luck

LiquidAcid
Posts: 1093
Joined: Fri Oct 11, 2013 11:07 pm
languages_spoken: english
ODROIDs: X2
Has thanked: 0
Been thanked: 1 time
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by LiquidAcid » Tue Sep 01, 2015 4:50 am

I was made aware that there actually is some sample code for the IPP subsystem: tizen/libdrm

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Tue Sep 01, 2015 3:38 pm

@Liquid

thx again for sharing, it's always nice to see developers sharing news with low-power device enthusiasts and hobbyists :)


Image

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Tue Sep 01, 2015 11:47 pm

@dertester

for the correctness, it wasn't a bug or new feature from SDL2, it was one of the package dependencies of libgtk-3-dev, i don't know which one exactly but something like libxrandr-dev or other libx* packages would get hot

you have to reconfigure, rebuild and reinstall SDL2 library, then it should work, i have updated the first post + add an instruction to disable pulseaudio as this doesn't seem to work out with moonlight ( crackling )

you also can test SDL2 GLESv1 by running the gles test from SDL2

Code: Select all

cd SDL/test
gcc testgles.c -o testgles -lSDL2 -I/usr/include/SDL2 -DHAVE_OPENGLES -lGLESv1_CM /usr/lib/libSDL2_test.a
DISPLAY=:0.0 ./testgles --center --fullscreen-desktop
if you see the cube rotating fullscreen-desktop resolution works now, which was the problem befor, it should show ~120fps on 1080p

RG

dertester
Posts: 120
Joined: Fri Feb 20, 2015 8:51 pm
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by dertester » Wed Sep 02, 2015 4:57 am

Thank you very much. It works now !

With the old sdl i could get your example to work. With your new tutorial the example as well as moonlight (witcher3 yeahh) works.

Whats the max settings you can apply? Actually im 720p@30fps with bitrate 15k looking fine

=======

Other than that sometimes (resolution changed?) desktop stays black after ending stream.
Usually going to terminal and back to Desktop helps..

User avatar
meveric
Posts: 10485
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 17 times
Been thanked: 131 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by meveric » Wed Sep 02, 2015 5:11 pm

Desktop staying black is the "Black screen issue" that all XU3 and XU4 devices have.. we all wait on a fix for that.. it's the most annoying bug on the XU3/XU4 devices.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Wed Sep 02, 2015 7:41 pm

dertester wrote:Thank you very much. It works now !

With the old sdl i could get your example to work. With your new tutorial the example as well as moonlight (witcher3 yeahh) works.

Whats the max settings you can apply? Actually im 720p@30fps with bitrate 15k looking fine

=======

Other than that sometimes (resolution changed?) desktop stays black after ending stream.
Usually going to terminal and back to Desktop helps..
thx for your feedback, nice to hear that it's working now

720p30 with original bitrate works very good, 720p60 works also but sometimes/sporadically hangs, didn't try it with XU4 as it has faster network, 1080p seem's to be a no-go with software decoding

RG

dertester
Posts: 120
Joined: Fri Feb 20, 2015 8:51 pm
languages_spoken: english
Has thanked: 0
Been thanked: 0
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by dertester » Wed Sep 02, 2015 9:38 pm

At 1080p or 720/60 i also get those hangs on xu4. The log reports something about network lost frames..
Not sure why, network is Gibit wired and cpu load is pretty low..

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Sun Sep 06, 2015 1:07 am

dertester wrote:At 1080p or 720/60 i also get those hangs on xu4. The log reports something about network lost frames..
Not sure why, network is Gibit wired and cpu load is pretty low..
ffmpeg is to slow to decode the pictures and so network starts to purely drop packages, i will push a fix for it this weekend, then 1080p should be run fine

RG

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Sun Sep 06, 2015 4:10 am

@all

ok 1080p60 should now be possible, tests are welcome, ffmpeg is now using frame-based multithreading, with htop you can really nice watch on XU3/4 the Heterogeneous Multi-Processing task scheduler switching from A7 to A15 CPU and then using all 4 cores to software decode the frame's fired up from network, blocks/artefacts are gone now and it doesn't hang anymore, however 720p30 is using singlethread and thats fastest for low delay streaming but can't handle streams > 720p30 on one CPU/CORE without dropping network frames.

But if you have ever played 1080p60 you wan't change back anymore :)

i haven't test this on U3 but it could be that it also can handle 1080p60 now

to get the new moonlight just:

Code: Select all

cd moonlight-embedded
git pull
make
RG

User avatar
meveric
Posts: 10485
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 17 times
Been thanked: 131 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by meveric » Sun Sep 06, 2015 5:47 am

what about 1080p30 ?
I don't think U3 can handle 1080p60...
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

User avatar
memeka
Posts: 4339
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 1 time
Been thanked: 23 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by memeka » Sun Sep 06, 2015 5:51 am

is this using only SDL2?
i am rather curious if it would work on fbdev.

User avatar
meveric
Posts: 10485
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 17 times
Been thanked: 131 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by meveric » Sun Sep 06, 2015 6:18 am

yes it uses SDL2
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Sun Sep 06, 2015 6:22 am

meveric wrote:what about 1080p30 ?
I don't think U3 can handle 1080p60...
You have to test it, everything > 720p30 is using frame-based multithreading now, which is extremly powerfull but not the best for low delay streaming, low delay streaming is best done on singlethread, but still frame-based multithreading is NOT bad for GameStreaming on our ODROID's

@memeka

Yes, SDL2 with HW accelerated surface, give it a try with your C1 fbdev SDL2 backend

RG

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Sun Sep 06, 2015 4:21 pm

just tested it on my U3, it works till 1080p30 and in fact 1080p30 works better then 720p60 on U3, i had to build ffmpeg for myself because the ffmpeg package provided produced an linkage error

Code: Select all

CMakeFiles/moonlight.dir/src/video/ffmpeg.c.o: In function `ffmpeg_init':
ffmpeg.c:(.text+0x16c): undefined reference to `av_frame_alloc'
CMakeFiles/moonlight.dir/src/video/ffmpeg.c.o: In function `ffmpeg_destroy':
ffmpeg.c:(.text+0x1fc): undefined reference to `av_frame_free'
RG

henry
Posts: 49
Joined: Thu Apr 02, 2015 1:58 am
languages_spoken: english
ODROIDs: odroid C1
Has thanked: 0
Been thanked: 0
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by henry » Mon Sep 07, 2015 4:40 pm

Hi,
This is going to be a little bit off topic , but having installed and tested xpra on odroid C1, and being interested only in the fastest and lowest possible latency usage other a Gbit LAN , i used the xpra option with no video compression at all : rgb uncompressed (==> transfer peaks at 250 Mbit/s for a youtube video 1080 p).

Right now the fps gets slow (less than 10) for scenes of action with sound (without sound the experience is rather fluid!) and the sound is crackling ... so i was wondering if there could be hardware acceleration methods on C1 to improve at least the sound , and may be also the video even if, as is said, it's rgb so in principle it doesnt need any decompression nor decoding (?) ...
For the sound , xpra uses gstreamer and i heared in this other topic http://forum.odroid.com/viewtopic.php?f=112&t=9681 that people succeeded at least to make use of gstreamer plugins for Amlogic but unfortunately there was no how to provided ...

Would be interested in helpfull advices and comments, on how i should proceed to adapt the code to make use of the C1 hardware optimized plugins...

Im interested in xpra mainly because on regular machines as client the multimedia performances are perfect, forwarding for instance the screen of any virtualbox VM server side ... on C1 or RPi client it's another story

User avatar
AreaScout
Posts: 1064
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 15 times
Been thanked: 47 times
Contact:

Re: [GAMES] NVIDIA Game Streaming with ODROID

Unread post by AreaScout » Mon Sep 07, 2015 5:03 pm

@all

i just pushed some changes that affect less latency, overall the game experience is better now :)

@henry

other HW video decoding implementations are found here http://gstreamer.freedesktop.org/src/ and as far as i know Amlogic has some code example floating around in the net for HW decoding, so it should be possible put things together
OverSun said that he had HW decoding with GLES context up and running, maybe he will share his code ?

RG

Post Reply

Return to “Games and Emulators”

Who is online

Users browsing this forum: No registered users and 0 guests