Knowledge base

Knowledge base
How do I use VNC Server in Virtual Mode in conjunction with the latest Xorg server?

By default under Linux, VNC Server in Virtual Mode uses a version of the Xorg server built-in to Xvnc. This is old, and hard to update. On some platforms, modern desktop environments fail to load (resulting in a grey screen), and modern applications and extensions (particularly those using hardware acceleration) do not work.

From VNC Connect 6.2.0, you can configure VNC Server to utilise the latest version of the Xorg server present on your system instead. More desktop environments, applications and extensions will likely be compatible out-of-the-box, giving a much better user experience, especially on Red Hat-compatible distributions.

Note: If you are using Ubuntu, SUSE or Raspbian, you should continue to use Xvnc. This means that under Ubuntu and SUSE you will still need to switch desktop environment in order to avoid the grey screen. There's no issue under Raspbian, however, as the default PIXEL desktop environment works well with Xvnc.

Requirements

Xorg and the Xorg dummy video driver must be installed. For example:

  • Red Hat/CentOS 7: yum install xorg-x11-drv-dummy
  • Red Hat/CentOS 6: yum install xorg-x11-drv-dummy xorg-x11-drv-void 

In addition, VNC Connect 6.2.0+ must be installed and licensed. Download.

Enabling the system Xorg server

To enable the system Xorg server for all users, run vncinitconfig -enable-system-xorg as root. Run without root privileges to enable just for you.

To disable the system Xorg server and use Xvnc again, run vncinitconfig -disable-system-xorg.

Configuring VNC Server

VNC Server parameters

VNC Server parameters can be specified in the following new configuration files:

/etc/vnc/config.d/vncserver-x11-virtual (for all users)
~/.vnc/config.d/vncserver-x11-virtual (just for you)

Note that the vncinitconfig -enable-system-xorg script offers to copy over existing parameters from /etc/vnc/config.d/Xvnc and ~/.vnc/config.d/Xvnc respectively for you.

Note: The RandR VNC Server parameter cannot enable users to switch between available screen resolutions. See Xorg configuration, below.

Xorg options

Xorg server options can continue to be set in the following files:

/etc/vnc/config
/etc/vnc/config.custom
~/.vnc/config (ignored if the -config flag is used, below)

...or in a custom file identified by the vncserver-virtual -config FILE-PATH flag at start-up.

These options are passed directly to the system Xorg server. Consult the Xorg man page for a list of valid options; invalid options cause errors. Note that the following options supported by Xvnc are not supported: -blackpixel, -whitepixel, -linebias, -pixdepths, -pixelformat, -screen.

Geometry and depth

You can specify the -geometry WxH and -depth N options in any of the locations specified in Xorg options, above, or appended to vncserver-virtual at the command line. By default, the initial geometry must be a standard resolution (for example, 640x480, 800x600 or 1024x768); see Xorg configuration, below, for specifying non-standard resolutions. Consult the Xorg man page and your chosen desktop environment for supported depth values.

Xorg configuration

Custom Xorg settings can be specified in the new /etc/X11/vncserver-virtual.conf file. In particular, you can set non-standard screen resolutions by adding additional ModeLine entries to the Monitor section. For larger resolutions, you may also need to change the VideoRam entry in the Device section and add a Virtual entry under the Display subsection of the Screen section; see the Xorg.conf man page for more information.

Note the VNC Server RandR parameter cannot be used to enable a connected VNC Viewer user to cycle between available screen resolutions during a remote control session. The connected user should use the standard Screen Display or Monitor app instead.

Xstartup

Xstartup scripts can continue to be used to specify desktop environments and applications for virtual desktops in the same way as for Xvnc.

Installing from a network share

If you're following these instructions to install VNC Server on a central computer, then perform the following operation after step 5 and before step 6:

5a) Run the command vncinitconfig -virtual-xorg-conf as root to generate a /etc/X11/vncserver-virtual.conf file.

Known issues

When using the Xfce or KDE desktop environments, some fonts may appear small, depending on the screen resolution.

  • To fix this for Xfce, navigate to Applications > Settings > Appearance and enable Custom DPI setting on the Fonts tab, making sure this is set to 96.
  • To fix this for KDE, navigate to System Settings > Application Appearance and enable Force fonts DPI on the Fonts tab, making sure this is set to 96.

×