Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: qemu/qemu
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: letoram/qemu
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Can’t automatically merge. Don’t worry, you can still create the pull request.
  • 1 commit
  • 9 files changed
  • 1 contributor

Commits on Apr 3, 2022

  1. Copy the full SHA
    97dd28a View commit details
Showing with 939 additions and 8 deletions.
  1. +55 −1 configure
  2. +1 −1 dtc
  3. +1 −1 meson
  4. +11 −0 meson.build
  5. +5 −2 qapi/ui.json
  6. +1 −1 slirp
  7. +855 −0 ui/arcan.c
  8. +1 −1 ui/keycodemapdb
  9. +9 −1 ui/meson.build
56 changes: 55 additions & 1 deletion configure
Original file line number Diff line number Diff line change
@@ -384,6 +384,12 @@ cfi="false"

# 4. Detection partly done in configure
xen=${default_feature:+disabled}
gettext="auto"
fuse="auto"
fuse_lseek="auto"
multiprocess="no"
malloc_trim="auto"
arcan="auto"

# parse CC options second
for opt do
@@ -1194,6 +1200,10 @@ for opt do
;;
--enable-jemalloc) meson_option_parse --enable-malloc=jemalloc jemalloc
;;
--disable-arcan) arcan="no"
;;
--enable-arcan) arcan="yes"
;;
# everything else has the same name in configure and meson
--enable-* | --disable-*) meson_option_parse "$opt" "$optarg"
;;
@@ -1470,6 +1480,11 @@ cat << EOF
rng-none dummy RNG, avoid using /dev/(u)random and getrandom()
gio libgio support
slirp-smbd use smbd (at path --smbd=*) in slirp networking
libdaxctl libdaxctl support
fuse FUSE block device export
fuse-lseek SEEK_HOLE/SEEK_DATA support for FUSE exports
multiprocess Multiprocess QEMU support
arcan Arcan UI support
NOTE: The object files are built at the place where configure is launched
EOF
@@ -2602,7 +2617,40 @@ case "$fdt" in
esac

##########################################
# opengl probe (for sdl2, gtk)
# arcan shmif probe

if $pkg_config arcan-shmif --exists; then
if test "$opengl" = "no" ; then
arcanconfig="$pkg_config arcan-shmif"
else
arcanconfig="$pkg_config arcan-shmif-ext"
fi
arcan="yes"
else
if test "$arcan" = "yes"; then
feature_not_found "arcan" "Install arcan-shmif-dev"
fi
arcan="no"
fi

if test "$arcan" != "no" ; then
arcan_cflags=`$arcanconfig --cflags 2> /dev/null`
if test "$static" = "yes" ; then
arcan_libs=`$arcanconfig --static-libs 2>/dev/null`
else
arcan_libs=`$arcanconfig --libs 2> /dev/null`
fi
fi

##########################################
# opengl probe (for sdl2, gtk, milkymist-tmu2)

gbm="no"
if $pkg_config gbm; then
gbm_cflags="$($pkg_config --cflags gbm)"
gbm_libs="$($pkg_config --libs gbm)"
gbm="yes"
fi

if test "$opengl" != "no" ; then
epoxy=no
@@ -3580,6 +3628,12 @@ if test "$opengl" = "yes" ; then
echo "OPENGL_LIBS=$opengl_libs" >> $config_host_mak
fi

if test "$arcan" = "yes" ; then
echo "CONFIG_ARCAN=y" >> $config_host_mak
echo "ARCAN_LIBS=$arcan_libs" >> $config_host_mak
echo "ARCAN_CFLAGS=$arcan_cflags" >> $config_host_mak
fi

if test "$avx2_opt" = "yes" ; then
echo "CONFIG_AVX2_OPT=y" >> $config_host_mak
fi
2 changes: 1 addition & 1 deletion dtc
Submodule dtc updated from b6910b to 85e5d8
2 changes: 1 addition & 1 deletion meson
Submodule meson updated from 12f9f0 to 776acd
11 changes: 11 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
@@ -583,6 +583,16 @@ if not get_option('zstd').auto() or have_block
required: get_option('zstd'),
method: 'pkg-config', kwargs: static_kwargs)
endif
gbm = not_found
if 'CONFIG_GBM' in config_host
gbm = declare_dependency(compile_args: config_host['GBM_CFLAGS'].split(),
link_args: config_host['GBM_LIBS'].split())
endif
arcan = not_found
if 'CONFIG_ARCAN' in config_host
arcan = declare_dependency(compile_args: config_host['ARCAN_CFLAGS'].split(),
link_args: config_host['ARCAN_LIBS'].split())
endif
virgl = not_found
if not get_option('virglrenderer').auto() or have_system
virgl = dependency('virglrenderer',
@@ -3394,6 +3404,7 @@ if targetos == 'linux'
summary_info += {'ALSA support': alsa}
summary_info += {'PulseAudio support': pulse}
endif
summary_info += {'Arcan support': arcan.found()}
summary_info += {'JACK support': jack}
summary_info += {'brlapi support': brlapi}
summary_info += {'vde support': vde}
7 changes: 5 additions & 2 deletions qapi/ui.json
Original file line number Diff line number Diff line change
@@ -1158,12 +1158,14 @@
# Display (user interface) type.
#
# @default: The default user interface, selecting from the first available
# of gtk, sdl, cocoa, and vnc.
# of arcan, gtk, sdl, cocoa, and vnc.
#
# @none: No user interface or video output display. The guest will
# still see an emulated graphics card, but its output will not
# be displayed to the QEMU user.
#
# @arcan: The Arcan user interface.
#
# @gtk: The GTK user interface.
#
# @sdl: The SDL user interface.
@@ -1199,7 +1201,8 @@
'if': { 'all': ['CONFIG_OPENGL', 'CONFIG_GBM'] } },
{ 'name': 'curses', 'if': 'CONFIG_CURSES' },
{ 'name': 'cocoa', 'if': 'CONFIG_COCOA' },
{ 'name': 'spice-app', 'if': 'CONFIG_SPICE'} ] }
{ 'name': 'spice-app', 'if': 'CONFIG_SPICE'},
{ 'name': 'arcan', 'if': 'CONFIG_ARCAN'}] }

##
# @DisplayOptions:
2 changes: 1 addition & 1 deletion slirp
Submodule slirp updated from a88d9a to 8f43a9
Loading