[X2Go-User] Jerky Video Fixed

Robert Dinse nanook at eskimo.com
Mon Apr 6 17:39:01 CEST 2015


      I don't know enough about their cloud servers to know what else to look
at, you're giving your low latency kernel CPU cycles from a cloud, how choppy
is the scheduling of CPU cycles to your kernel fro the cloud?  Your kernel
can't schedual CPU cycles during times it doesn't have them.

-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
  Eskimo North Linux Friendly Internet Access, Shell Accounts, and Hosting.
    Knowledgeable human assistance, not telephone trees or script readers.
  See our web site: http://www.eskimo.com/ (206) 812-0051 or (800) 246-6874.

On Mon, 6 Apr 2015, brian mullan wrote:

> Date: Mon, 6 Apr 2015 08:15:45 -0400
> From: brian mullan <bmullan.mail at gmail.com>
> To: Robert Dinse <nanook at eskimo.com>
> Cc: "x2go-user at lists.x2go.org" <x2go-user at lists.x2go.org>
> Subject: Re: [X2Go-User] Jerky Video Fixed
> 
> Robert I thought I'd get back to you on the low latency kernel discussion.
>
> Over the weekend I created 2 "cloud" servers.   One on AWS EC2 and one on
> Digital Ocean.   On both of them I install x2goserver
> and the Ubuntu low-latency kernel.
>
> At home I used a spare esata drive and installed the final beta of Ubuntu
> 15.04 onto it with the low latency kernel also.
>
> My first test was with the x2go client on my normal home Ubuntu 14.04
> machine.
>
> All tests used:
> ubuntu 15.04 final beta on server side with low latency kernel installed
> (uname -r showed it as the active kernel)
> firefox v37 release
> same youtube video (I used Santana's "Smooth" video)
> x2goclient "connection" speed set to LAN (I also tried WAN with little
> observable difference)
> my home desktop is 8 core, 32GB ram, 6TB sata-6 sw RAID
> my home desktop internet connection is 20Meg
>
> Test 1
> use x2goclient to log into AWS EC2 "cloud" x2goserver
> start firefox
> goto youtube and watch a video
> client side did NOT have the low latency kernel
>
> Result of test 1
> video still  somewhat choppy
>
> Test 2
> use x2goclient to log into Digital Ocean ubuntu x2goserver
> start firefox
> goto youtube and watch a video
> client side did NOT have the low latency kernel
>
> Result of test 2
> video still  somewhat choppy
>
> Test 3
> use x2goclient to log into AWS EC2 "cloud" x2goserver
> start firefox
> goto youtube and watch a video
> client side DID have the low latency kernel
>
> Result of test 3
> video still  somewhat choppy
>
> Test 4
> use x2goclient to log into Digital Ocean ubuntu x2goserver
> start firefox
> goto youtube and watch a video
> client side DID have the low latency kernel
>
> Result of test 4
> video still  somewhat choppy
>
> Test 5
> Booted Windows 7 on my home machine, installed x2goclient and firefox v37
> use x2goclient to log into AWS EC2 "cloud" x2goserver
> start firefox
> goto youtube and watch a video
> client side being Windows obviously did NOT have the low latency kernel
>
> Result of test 5
> video still  somewhat choppy
>
> Test 6
> Repeated Test 5 (windows 7) but used DIgital Ocean ubuntu server again
> w/low latency kernel installed
>
> Result of test 6
> video still somewhat choppy
>
> Test 7
> Tried all of the above but using Youtube HTML5 video instead of Flash based
> video
>
> Result of test 7
> same as before ... somewhat choppy
>
> My own results *were not able to replicate* your success with low latency
> kernel using this "remote" desktop x2go testing to cloud based x2goservers.
> So I suspect that the difference may be the WAN and/or cloud introduced
> latencies but that would take alot more work and probably some wireshark
> sniffing of packets to know for sure.
>
> Finally, I remembered one "good practice" I had always been using and that
> was to install  libjpeg-turbo on all my server's and my home PC clients
> (except the Win7 of course).
>
> Reference:  http://libjpeg-turbo.virtualgl.org/
>
> The reason as you see when reading the above website is that libjpeg-turbo
> is 2-4 times faster coding/decoding jpeg than the default libjpeg in most
> linux distro's.
>
> Retested here does show "some" improvement in video but still not as good
> as directly watching that same youtube using Firefox on my local desktop.
>
> note:  another benefit of using libjpeg-turbo is that besides being 2-4
> times faster than default libjpeg it also uses less-cpu which for the
> server-side can be helpful when multiple x2go sessions are active or
>         more than one x2go user is logged into that server
>
> Anyway,  I had hoped for a different outcome but unless I can think of
> something else I may/may not have done this approach didn't help much in my
> use-case of remote desktop to cloud serves.
>
> Of course using x2go everything but streaming video from those cloud
> servers worked great.
>
> If you can think of anything else let me know and I'd be glad to try to see
> if I can get diff results for the streaming video.
>
> Brian
>
>
>
>
> On Thu, Apr 2, 2015 at 12:17 PM, brian mullan <bmullan.mail at gmail.com>
> wrote:
>
>> Robert
>>
>> Thanks for all of your information on the low latency kernel.   I've used
>> x2go for several years and one use-case I've had was to install the x2go
>> server onto either Amazon's AWS EC2 or on Digital Ocean to support remote
>> desktops for K-12 schools that I do volunteer work for.
>>
>> Clients have always been a mix of Win7, Mac or Ubuntu linux.
>>
>> Really the only issue has been video streaming which for K-12 is important
>> because alot of learning content online consists of video.
>>
>> In the past I've tried using larger "compute" instances (8-16 core) in
>> those clouds thinking perhaps the video encoding/transmission load was the
>> cause but that only improved things marginally.
>>
>> I tried higher bandwidth links... same marginal improvement.
>>
>> It didn't matter what client they used (mac, win7 or linux) the video
>> content viewing results was more or less the same for each.
>> That's why I am thinking maybe only the server-side "may" be required to
>> have the low latency kernel??
>>
>> I got them all so the streaming video (say youtube) wasn't awful but it
>> wasn't the same as watching the video on a dedicated PC instead of thru the
>> x2go virtual desktop.
>>
>> But i guess I never suspected the linux kernel introducing delay/jitter to
>> the point of being the cause.
>>
>> It may take a while until I can get to it but I'll try and set up a test
>> with one of those clouds and have the x2go server-side ubuntu utilize the
>> low latency kernel you described and see what happens with each client.
>>
>> This would be great if that turns out to be the source of streaming video
>> jerkiness for cloud based remote desktops.   I'll post something to the
>> x2go alias when I find out what happens.
>>
>> thanks again.
>>
>> Brian
>>
>>
>> On Wed, Apr 1, 2015 at 5:55 PM, Robert Dinse <nanook at eskimo.com> wrote:
>>
>>>
>>>      In Ubuntu, they build low latency kernels and make them available as
>>> part of the distribution but not installed by default.
>>>
>>>      On my workstation, which is an old Mac-Pro 1,1 with quad Xeon CPU's
>>> and
>>> 4 GB of RAM, I had Ubunto 14.04 installed then upgraded to 14.10.  I had
>>> Wine installed and under Wine I ran WinAmp to play music.  WinAmp
>>> sometimes
>>> skipped, and also when I upgraded to 14.10 which came with a 3.16.x
>>> kernel,
>>> I had issues with the Nvidia drivers for my old 7300 GT card.
>>>
>>>      To solve those issues I ended up building a 3.18.9 kernel and built
>>> it
>>> with kernel preemption enabled, which is how Ubuntu builds their low
>>> latency
>>> kernels.  That solved both my issues with Nvidia drivers and with WinAmp
>>> stuttering but it did not fix the issues of video being jerky over X2Go,
>>> and
>>> I had pretty much written that off to my Comcast connection anyway.
>>>
>>>      But given how much smoother things went on my workstation, I decided
>>> to
>>> try installing the low latency kernel on the server and then tried
>>> watching
>>> some Youtube videos that had previously been jerky (audio okay but video
>>> jerky) and found that it made the video smooth.
>>>
>>>      So my guess is you probably need it on both, but since I haven't
>>> tried
>>> it on the server only I can't say for sure.
>>>
>>>      The kernel on the server isn't custom built, it's one of the low
>>> latency
>>> kernels provided by Ubuntu (I used synaptic package manager to select and
>>> install, rebooted, then removed the old).
>>>
>>>      On the Mac I don't know.  I had so much problems with X2Go on my
>>> Mac, even after installing the XQuartz server, that is one of the reasons I
>>> installed Ubuntu on it and stopped using MacOS.  Got tired of the spinning
>>> beach ball, got tired of having zero games available.  I liked the Dock but
>>> that's about it.  Mac's approach of just throw enough hardware at it and it
>>> will be acceptable works if you have infinite money, I don't.
>>>
>>>      With respect to Windows, I only have an old antique XP machine that
>>> I use
>>> for some games, don't really know how it would work with video over X2Go
>>> so
>>> can't answer that one.
>>>
>>> -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
>>> -_-_-_-_-_-_-_-_-_-
>>>  Eskimo North Linux Friendly Internet Access, Shell Accounts, and Hosting.
>>>    Knowledgeable human assistance, not telephone trees or script readers.
>>>  See our web site: http://www.eskimo.com/ (206) 812-0051 or (800)
>>> 246-6874.
>>>
>>> On Wed, 1 Apr 2015, brian mullan wrote:
>>>
>>>  Date: Wed, 1 Apr 2015 17:36:06 -0400
>>>> From: brian mullan <bmullan.mail at gmail.com>
>>>> To: Robert Dinse <nanook at eskimo.com>
>>>> Cc: x2go-user at lists.x2go.org
>>>> Subject: Re: [X2Go-User] Jerky Video Fixed
>>>>
>>>>
>>>> Robert this is very interesting.. mainly because I wasn't aware there was
>>>> such a thing as a low latency kernel.  Guess with linux you are always
>>>> learning.  However, I have an experimental question.  Is it just the
>>>> kernel
>>>> on the video transmitting side, the client/receiver side or both that the
>>>> low latency kernel has this impact?  Also, if the video server side is
>>>> linux with a low latency kernel then what would a client running x2go on
>>>> a
>>>> mac or a windows 7 machine experience since neither utilize a linux
>>>> kernel
>>>> ?
>>>>   Thanks for sharing as I had always figured it was a latency problem but
>>>> I assumed it was 100% due to the network itself.
>>>> Bria
>>>> On Apr 1, 2015 5:23 PM, "Robert Dinse" <nanook at eskimo.com> wrote:
>>>>
>>>>
>>>>>      I hope I've done this in a way that doesn't steal anyone else's
>>>>> thread.
>>>>>
>>>>>      A while back someone posted that they had somewhat jerky video
>>>>> through
>>>>> x2go, and I posted that if I watched someone on youtube over an x2go
>>>>> connection, with a 20 mbit/s cable connection, on a Ubuntu 14.10 client
>>>>> accessing a Ubuntu 14.04.2 LTS server, I also had some jerkiness to the
>>>>> video.
>>>>>
>>>>>      I have installed low latency kernels on both machines now and that
>>>>> eliminated the jerkiness.  I can now watch a youtube video on a remote
>>>>> machine
>>>>> and have it display smoothly even with the highest quality setting set.
>>>>>
>>>>>      Just posting this so if others are experiencing this problem this
>>>>> may
>>>>> be
>>>>> a viable fix for them.
>>>>>
>>>>> -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
>>>>> -_-_-_-_-_-_-_-_-_-
>>>>>  Eskimo North Linux Friendly Internet Access, Shell Accounts, and
>>>>> Hosting.
>>>>>    Knowledgeable human assistance, not telephone trees or script
>>>>> readers.
>>>>>  See our web site: http://www.eskimo.com/ (206) 812-0051 or (800)
>>>>> 246-6874
>>>>> .
>>>>> _______________________________________________
>>>>> x2go-user mailing list
>>>>> x2go-user at lists.x2go.org
>>>>> http://lists.x2go.org/listinfo/x2go-user
>>>>>
>>>>>
>>>>
>>
>


More information about the x2go-user mailing list