guacamole-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Jumper <>
Subject Re: General guacamole-server guacd questions
Date Sat, 11 May 2019 22:24:36 GMT
On Mon, May 6, 2019 at 6:54 AM Michael Barkdoll <> wrote:
> Hello,
> I notice guacd uses 100% of one of my cores when I use the Docker container implementation
in my docker swarm when examining it with a basic top command.  I'm curious about the following:
> Is this normal?  I can't seem to get video to play with full screen or high color depth
24/32 bit without it being very chopping.  The server has many cores @ 2.4Ghz so I'd like
to have it support things like full-screen video, so maybe it has something to do with the
way that I built guacd?

Full screen video is going to be tricky. You are essentially asking
guacd to re-encode full screen video, frame by frame, in real time.
Multiple cores will not help here as the encoding process is not
parallelized, and a parallelized encoding process would likely be of
minimal help for something as intense as full screen video.

What you need is GPU support within guacamole-server.

> Is VNC/XRDP an easier workload on guacd?  From my testing it seemed like XRDP on Ubuntu
19.04 used less than a VNC guacamole connection with TurboVNC.

I don't think that can be generalized, no. It's possible that one
remote desktop server sends updates in a manner that requires less
work and optimization on guacd's part, and it's possible that the
circumstances that cause one remote desktop server to perform better
than another are specific to what you are doing.

> I'm having issues understanding how to install the xf86-video-guac driver for X.Org.
> Source:
> "For guacamole-server, you'll need to specify an additional '--with-xorg-module-dir'
option for configure to locate the path for X.Org drivers:
> $ ./configure --with-xorg-module-dir=/usr/lib64/xorg/modules/"
> What exactly is that configure command being run on?

You would be running "configure" on the machine that you're building
the source on. It's part of the source archive and configures the

> Is it X.Org being built from source?

No, X.Org is not being built from source. What you would be building
is a module for X.Org.

> Is there a Docker container project that uses the xf86-video-guac driver for X.Org project
that I could use for testing?

No, there is no Docker container for testing the video driver. You
will need to build the guacamole-server source on the machine that you
wish to test the X.Org driver on, presumably also excluding the parts
of guacamole-server that you won't need from that build (guacd, other
protocol support).

> How do I modify the guacamole-server Dockerfile to support multiple threads or processors?
 I saw some discussion about -j5 and j-19 on the mailing list previously.

guacd will already use multiple threads. The encoding work for an
individual connection is generally single-threaded, however each
connection has at least one separate thread within which it does that
work, and will leverage additional threads for processing the specific
remote desktop protocol in use, handling input, etc.

Those -j options deal with running the build process in parallel,
potentially speeding up the build. They have no effect on the actual
performance of the software being built.

- Mike

View raw message