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@gmail.com> To: Robert Dinse <nanook@eskimo.com> Cc: "x2go-user@lists.x2go.org" <x2go-user@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@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@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@gmail.com> To: Robert Dinse <nanook@eskimo.com> Cc: x2go-user@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@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@lists.x2go.org http://lists.x2go.org/listinfo/x2go-user