On Mon, May 6, 2019 at 6:54 AM Michael Barkdoll <[email protected]> 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: > https://lists.apache.org/thread.html/5f4a5afa46dfcc974f254cc7bcf962d08e29b7af7459e3030b6f6448@%3Cuser.guacamole.apache.org%3E > "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 build. > > 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
