[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] qemu+virgl on systems without dmabuf and/or GBM

From: David Airlie
Subject: Re: [Qemu-devel] qemu+virgl on systems without dmabuf and/or GBM
Date: Mon, 13 Nov 2017 21:37:13 -0500 (EST)

Hi Joe,

>   I am developing using qemu with virglrenderer on linux systems that
> do not support dmabufs or GBM.   I have been successful making this
> work using glx and ignoring egl/dmabuf/gbm use in qemu.
> Unfortunately, there is currently no way to configure qemu to use
> opengl but disable egl/dmabuf/gbm.  This use case could be handled
> with a straight-forward configure fix, but I am not sure what the
> preferred approach would be.  Here are some options for example:

I did originally write the renderer on the nvidia binary driver, but
never really continued to test it.

> 1) Check for gbm in configure, if it is unavailable disable ui/egl*
> since this egl implementation depends on gbm.
> 2) Check for gbm in configure, modify ui/egl* to work when gbm is missing.
> 3) Add disable-egl flag to configure, ignore gbm package when egl is
> disabled.
> For our use case, option 3 is the simplest, since we don't need either
> egl or gbm and gbm is only used with egl in qemu.  We also encountered
> an additional issue with either gtk or qemu (I forget which)
> attempting to share glx and egl contexts.
> Naturally, we want to come up with a solution that is most generally
> useful,  feedback is greatly appreciated.

I'd like to make EGL work without GBM if possible, I realise you can't
do buffer sharing etc, but you should be able to get EGL contexts to
work in place of GLX contexts.

However if there are issues interoperating between SDL2/EGL/GLX, then
I think whatever approach works best. I'd rather it not be a build time
thing if at all possible, if we can detect at runtime what the installed
driver can do it would be much better.

i.e. if you build qemu+SDL2+virglrenderer against mesa, but run it against
nvidia it should work if at all possible.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]