[
https://issues.apache.org/jira/browse/GUACAMOLE-168?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17311955#comment-17311955
]
Christopher Speck commented on GUACAMOLE-168:
---------------------------------------------
{quote}Based on the above difficulty regarding hardware-accelerated displays,
I'm starting to wonder whether an approach like that used by x11vnc might be
better. We could then rely on the native driver for rendering, and hook into
only the parts of X11 necessary to be aware of screen changes, window position,
and take window content captures.
{quote}
I've been experimenting with using the Xserver driver and in its current form
it works pretty well with being able to spin up small containers to run
isolated applications through guacamole without requiring any tie-in to the
host system's display or rendering (xserver runs in the container as well). I
haven't yet looked into what needs done to enable hardware-accelerated 3D
rendering but I was hoping it wouldn't involve a different model, but instead
somehow enable the host's graphics card on the containers' X configurations.
Would the x11vnc approach still enable something like that, allowing one host
server to run multiple guacamole servers that can be managed as separate
tunnels/workstations on the front-end?
> Add support for X.Org
> ---------------------
>
> Key: GUACAMOLE-168
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-168
> Project: Guacamole
> Issue Type: New Feature
> Components: guacamole-client, guacamole-server
> Reporter: Mike Jumper
> Assignee: Mike Jumper
> Priority: Major
> Attachments: 00-guac.conf, Xorg.0.log
>
>
> It's been frequently requested that we add support for a more efficient
> protocol like NX or X2Go. Though that sounds nice on the surface, and
> theoretically would allow us to leverage some of Guacamole's nicer
> protocol-level features, investigating deeper reveals:
> # X2Go *is* NX - it uses the same protocol behind the scenes.
> # NX isn't really a protocol - it is essentially a compressor for X11, and
> depends on the client having a local X11 server to handle the decompressed
> result.
> Implementing support for either of these would thus involve implementing
> support for X11, which is crazy. *However:*
> What about implementing a driver for the X.Org X11 server?
> The X.Org server provides a driver abstraction layer which exposes access to
> windows (including their hierarchy) and pixmaps, much in the same way the
> Guacamole protocol provides nestable layers and buffers. If we were to
> implement a Guacamole driver for X.Org, we would be able to make much greater
> use Guacamole protocol features like client-side compositing. Operations
> which are typically expensive in VNC or RDP like window movement suddenly
> become simple, as they only involve updating the properties of a layer.
> I have an experimental implementation of all this, built upon several other
> improvements which ended up being required. Work started several years ago,
> even before Guacamole was accepted into the Apache Incubator, but I think
> it's finally ready to move forward. I've been using it myself for roughly a
> month now, and so far so good.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)