Follow the instructions in the User's Guide.  Use the vglconnect script
rather than trying to run vglclient manually, and don't try to
manipulate the DISPLAY and VGL_DISPLAY environment variables yourself
unless you have good reason to.  VGL_DISPLAY (the -d argument to vglrun)
defaults to :0.0, which is correct for your server (hostB.)  Setting
VGL_DISPLAY to hostB:0 is incorrect, since that may cause VirtualGL to
make a connection to the 3D X server using a TCP socket rather than a
Unix domain socket.  That may be the source of the DRM errors.  The
DISPLAY variable is normally set by SSH and shouldn't be modified.
Setting it to hostB:0 is definitely incorrect, as hostB:0 is the 3D X
server.  VGL_DISPLAY should point to the 3D X server (normally :0.0),
and DISPLAY should point to the 2D X server.  Really it should be as
simple as the description in the User's Guide:

>From hostA:
> vglconnect hostB

This establishes an SSH session with X11 tunneling on hostB, in which
you can execute:
> vglrun {application}

Nothing else should be required, unless your CPUs really are so slow
that enabling RGB encoding (-c rgb) improves performance.  Usually -c
rgb is only used for running VirtualGL within a server-area network and
re-encoding its output using TurboVNC or another X proxy running on a
different machine than VirtualGL.  These days, CPUs can
compress/decompress hundreds of megapixels/second using libjpeg-turbo,
so there is no reason why JPEG encoding would be a bottleneck unless you
are using really old CPUs.  RGB encoding, however, can encounter network
bottlenecks, even on gigabit Ethernet.

On 9/11/18 10:38 AM, sergio wrote:
> Hello.
> 
> I've been using X over network for years. It's a good way to connect
> several (3-4) monitors to laptop with only one video output or make a
> silent station with a lot of ram and high-perf cpu on small intel
> compute stick. 2D graphics works well, I can watch 1080p movie over
> gigabit network without any issues. But now, a lot of 2D effects are
> done via 3D. It's impossible to run Enlightenment WM in such environment
> as it's become very slow. So I'm trying to understand and run virtualgl.
> 
> 
> I have two hosts:
> 
> hostA, which is the qemu virtual, with no graphic card and XDMCP server
> 
> hostB, which is the real host with intel atom x5-Z8330 (and gpu
> embedded), with X server
> 
> both hosts are debian sid with virtualgl_2.6_amd64.deb installed
> 
> glxinfo runned on hostA will give a lot of output:
> 
> name of display: hostB:0
> display: hostB:0  screen: 0
> direct rendering: Yes
> ...
> Extended renderer info (GLX_MESA_query_renderer):
>     Vendor: VMware, Inc. (0xffffffff)
>     Device: llvmpipe (LLVM 6.0, 128 bits) (0xffffffff)
> ...
> 
> OpenGL vendor string: VMware, Inc.
> OpenGL renderer string: llvmpipe (LLVM 6.0, 128 bits)
> ...
> 
> 
> glxinfo runned on hostB will show hardware acceleration:
> 
> name of display: :0
> display: :0  screen: 0
> direct rendering: Yes
> ...
> Extended renderer info (GLX_MESA_query_renderer):
>     Vendor: Intel Open Source Technology Center (0x8086)
>     Device: Mesa DRI Intel(R) HD Graphics (Cherrytrail)  (0x22b0)
>     Version: 18.1.7
>     Accelerated: yes
> ...
> OpenGL vendor string: Intel Open Source Technology Center
> OpenGL renderer string: Mesa DRI Intel(R) HD Graphics (Cherrytrail)
> ...
> 
> 
> now I'm starting virtualgl:
> 
> on hostB:
> 
> % DISPLAY=:0 vglclient
> 
> VirtualGL Client 64-bit v2.6 (Build 20180824)
> Listening for unencrypted connections on port 4242
> 
> on hostA:
> 
> % DISPLAY=hostB:0 vglrun -c rgb -d hostB:0 -v
> /opt/VirtualGL/bin/glxspheres64
> Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
> libGL error: failed to open drm device: No such file or directory
> libGL error: failed to load driver: i965
> libGL error: failed to open drm device: No such file or directory
> libGL error: failed to load driver: i965
> Visual ID of window: 0x21
> Context is Direct
> OpenGL Renderer: llvmpipe (LLVM 6.0, 128 bits)
> 7.126069 frames/sec - 7.952693 Mpixels/sec
> 7.083555 frames/sec - 7.905248 Mpixels/sec
> ...
> 
> 
> hostB says: ++ Connection from hostA.
> 
> 1. Why I got failed to open drm device / failed to load driver: i965?
> 2. Why OpenGL Renderer is llvmpipe?
> 
> 
> If I'll try to run glxinfo I'll got an segfault with no
> "++ Connection from hostA." message on hostB:
> 
> % DISPLAY=hostB:0 vglrun -c rgb -d hostB:0 -v /opt/VirtualGL/bin/glxinfo
> name of display: hostB:0
> libGL error: failed to open drm device: No such file or directory
> libGL error: failed to load driver: i965
> libGL error: failed to open drm device: No such file or directory
> libGL error: failed to load driver: i965
> display: hostB:0  screen: 0
> direct rendering: Yes
> server glx vendor string: VirtualGL
> server glx version string: 1.4
> ...
> client glx vendor string: VirtualGL
> ...
> OpenGL vendor string: VMware, Inc.
> OpenGL renderer string: llvmpipe (LLVM 6.0, 128 bits)
> ...
> OpenGL core profile extensions:
>     GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend,
> ...
>     GL_OES_EGL_image, GL_S3_s3tc
> zsh: segmentation fault  DISPLAY=hostB:0 vglrun -c rgb -d hostB:0 -v
> /opt/VirtualGL/bin/glxinfo
> 
> 

-- 
You received this message because you are subscribed to the Google Groups 
"VirtualGL User Discussion/Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/virtualgl-users/735661a4-d257-4b79-0357-56b4dc8b7383%40virtualgl.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to