Close

30.12.2014

VirtualGL + TurboVNC on RHEL-like systems

OpenGL over the network is real thanks to VirtualGL and TurboVNC projects.

  1. VirtualGL without hardware monitor.
    Have you configured the xorg.conf to run without a monitor?
    The easiest way to do that is to use:

    nvidia-xconfig -a --virtual=1024x768 --use-display-device=none
  2. TurboVNC PAM auth.
    Check /etc/turbovncserver-auth.conf for pam-service-name option. Set it to
    passwd or make symlink named turbovnc for passwd inside /etc/pam.d.
  3. vglusers group restrictions on CentOS 7.
    There is a problem: gdm logon screen has no security extension loaded, so
    /usr/bin/vglgenkey fails while /etc/gdm/Init/Default is being executed.
    Here is a workaround: login as regular user locally, switch to root, and
    generate /etc/opt/VirtualGL/vgl_xauth_key manually with vglgenkey or

    # xauth -f /etc/opt/VirtualGL/vgl_xauth_key add $DISPLAY . `xauth list | awk '{print $3}'`
    # chmod 644 /etc/opt/VirtualGL/vgl_xauth_key

    Then follow VirtualGL docs to continue with xauth merge for regular user. It will be possible to use vglrun when regular user mentioned before is logged
    in locally keeping 3D screen alive with hardware monitor.

  4. KDE under VNC session. Make the following file in your home dir:
    [user@machine ~]$ ls -lah ~/.Xclients
    -rwxr-xr-x 1 aslebedev aslebedev 35 Aug 22 04:54 /home/aslebedev/.Xclients
    [user@machine ~]$ cat ~/.Xclients
    #!/bin/bash
    exec /usr/bin/startkde
    
  5. View active VNC screens:
    [user@machine ~]$ /opt/TurboVNC/bin/vncserver -list
  6. Start new VNC screen:
    [user@machine ~]$ /opt/TurboVNC/bin/vncserver -geometry 1920x1080
  7. Kill active VNC screen (for instance, number 2 — identify it with vncserver -list output):
    [user@machine ~]$ /opt/TurboVNC/bin/vncserver -kill :2
  8. Connect from Windows
    Use official client. LAN environment: target should be host_address:screen_number. Identify screen_number with vncserver -list output. If you are outside the NAT, use SSH port forwarding: -Llocalhost:590:localhost:590 and the your target should be localhost:screen_number.
  9. Open terminal in your VNC session and run any OpenGL application. For example, CUDA sample if you have any:
    [user@machine ~]$ vglrun /usr/local/cuda/samples/bin/linux/release/smokeParticles

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *