When opening mks for an already running VM, the QEMU dbus backend has no
way to tell to the VM refresh the display and submit a new UpdateDMABuf.
So by the time size_allocate is called, the height and width of the paintable are
still set to 0.
This should fix the size allocate warning we see now until we figure out a proper
fix from the QEMU side.
Always creating the texture even if the app is not being displayed
(minimized / different virtual monitor) or
if the GdkFrameClock drops a frame we end up doing a comparison with a
very old frame causing full redraws in certain cases or even artifacts
in others.
Instead, we only build the texture once snapshot is called and accumulate
the damage area until that happens to avoid updating the wrong area
When running an Android VM with GL support, Android somehow enforces
support for only touch events making it difficult to work with QEMU +
Android for devolpement / demo purposes without a touch screen.
This helper is useful for being able to emulate motion / click
events as touch ones
QEMU instead of having libmks handling that when resizing the widget
This also would allow having an option for auto-scaling that would
scale the texture to fit the widget size
Currently, the Speaker device is not fully implemented. So let us stop
building those files to avoid exposing them as part of the docs/gir API
until someone finishes it implementation
Part of #6
The libmks library is currently unversioned, but donwstream users expect
this library to have a proper SONAME version in order to package them.
A stable release has not yet happened because the project is still under
development and the API/ABI might change. But having a versioned SONAME
would allow distributions to package libmks, without the need to add any
downstream patch to set the library version.
Since the "0.1.0" version is already set as the meson project, let's use
it to set the library version as well. The meson build system will use the
first part of the version (0) as the SONAME version, which is aligned with
the convention used by other projects:
$ ls ./lib/libmks-1.so* -1
./lib/libmks-1.so
./lib/libmks-1.so.0
./lib/libmks-1.so.0.1.0
$ objdump -p ./lib/libmks-1.so.0.1.0 | grep SONAME
SONAME libmks-1.so.0
Set cursor to none (i.e., hide it) on init.
Otherwise, in cases where the define_cursor
signal is not received (e.g., atomic kms),
there are two cursors painted on the Widget
display.
Signed-off-by: Albert Esteve <aesteve@redhat.com>
As g_unix_fd_list_get will dup the FD, we must close it once we are done
with it.
The issue went unnoticable during my testing as apprently, the max
number of open FDs is not in sync between host & toolbox and that is
annoying podman issue...