Connecting to a vncserver (x11vnc) running on a machine that uses the intel drivers with onboard video using SNA acceleration (default these days) causes a black screen to be displayed on the vncclient but only when xbmc is active. Exiting xbmc restores the expected vnc behavior. Disabling sna in /etc/X11/xorg.conf.d/20-intel.conf fixes the problem but causes poor video performance. Note that I see nothing relevant in my Xorg logs to indicate there is a problem.
Note that I can connect to other machines that do not use the intel drivers (nvidia) and I get the expected results.
Linux distro: Arch linux x86_64
Example video hardware: Intel GMA X4500HD
Xorg version: 1.14.3
Drivers packages in use (official ARCH packages):
* intel-dri 9.2.0-2
* libva-intel-driver 1.2.0-1
* xf86-video-intel 2.21.15-1
Command used to start x11vnc on the target box:
/usr/bin/x11vnc -nap -wait 50 -passwd xxx -display :0 -forever -o /var/log/x11vnc.log -bg
It does not matter if I use the -noxdamage switch; the result is the same.
I just built the xf86-video-intel-git package from the AUR. No change following a reboot (I added --enable-sna to the ./autogen.sh step). Git version: 2.99.902.45.g8f54e9d
That makes it onto my weird list. Other DRI clients area captured correctly, I wonder what games xbmc is playing.
Author: Chris Wilson <firstname.lastname@example.org>
Date: Mon Sep 23 21:03:07 2013 +0100
sna/dri: Clear the clear hint upon applying DRI damage
Otherwise a later call to GetImage will not notice the DRI update if it
was already clear - and so return a blank image. One example is the use
of x11vnc replaying xbmc.
Signed-off-by: Chris Wilson <email@example.com>
Thank you, Chris. This commit fixed the problem and was amazingly fast!