Running X on xvfb on angstrom-lxde

Hello,

We have re-purposed the LCD data pins as GPIO and disabled the display by adding our own device tree.
But now we have lost the X11VNC server as the X server will not start because it cannot find a screen.

As a solution , we thought that we will use xvfb (X virtual framebuffer). but it seems that the Xvfb is not available in the default xorg-xserver. Also it is not available as a separate package.Any suggestion is highly appreciated.

Thank you all.

Hi @xdaco

Could you provide the version of the hardware (including carrierboard) and software of your module?

Concerning your issue, you can try to enable xvfb in OpenEmbedded as explained here.

Best regards,
Jaski

Hi Jaski,

We are using our own carrier board. The base image we are using is Colibri-iMX7-eMMC_LXDE-Image-Tezi_2.8b6. And we are building it from the source. I will have a look into the link you have pointed to.

Please let me know if you need the snippet of our dts file and local.conf file. I will share them here.

Thanks a ton for your reply.

Best regards

Hi @xdaco

Thanks for your Input.
No, I don’t need the local.conf and .dts files.

By the way, did you try this solution of creating a dummy device in X11 and check if this works.

Best regards,
Jaski

Hi Jaski,

The patch you have pointed out, it seems that it is already active. I am using this commit id 3638cb32ba9ba32b4d498fc31ab7fdf82f0d2495 on https://github.com/openembedded/openembedded-core.git

And here is the file snippet.

EXTRA_OECONF += "--with-fop=no \
                 --with-pic \
                 --disable-static \
                 --disable-record \
                 --disable-dmx \
                 --disable-xnest \
                 --enable-xvfb \
                 --enable-composite \
                 --without-dtrace \
                 --with-int10=x86emu \
                 --sysconfdir=/etc/X11 \
                 --localstatedir=/var \
                 --with-xkb-output=/var/lib/xkb \
                 WAYLAND_PROTOCOLS_SYSROOT_DIR=${RECIPE_SYSROOT} \
"

But the Xvfb command is not available in the system. Also the second option i.e creating a fake monitor in the xorg.conf did not work too.

Hi @xdaco

Thanks for your Input.

You can try to keep the lcdif node and just delete the pinmuxing from the node.
This should work.

Best regards,
Jaski

Hi All,

I think I found a solution. I have noticed that bitbake build the binary Xvfb but somehow it does not pack in the root file system. So I have manually copied the binary to the emmc root file system. Now I can run a virtual display as Xvfb :1 -screen 0 1024x768x16 ( this creates a virtual display : 1) and now I can use x11vnc. Only problem is occasional screen flickering . We can marked this thread as solved now.

Perfect that it works. Thanks for your Input.