Commit Graph

241 Commits

Author SHA1 Message Date
Frediano Ziglio
b0374ff7da build: Prepare for 0.16 release
Quite some improvements to video encoding.
More details on change logs.

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
2025-05-05 17:06:36 +01:00
Qiang Yu
4f94e844d7 dcc: use multi plane gl scanout message when possible
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Acked-by: Frediano Ziglio <freddy77@gmail.com>
2025-04-25 08:26:37 +01:00
Frediano Ziglio
272964dd34 build: Detect Gstreamer 1.24 using code, add Autoconf support
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Acked-by: Michael Scherle <michael.scherle@rz.uni-freiburg.de>
2025-04-01 21:00:42 +01:00
Vivek Kasireddy
63d82dad8e gstreamer-encoder: Add an encoder function that takes dmabuf fd as input
This patch adds a new function to enable the creation of Gst memory with
the dmabuf fd as the source by using a dmabuf allocator. And, it also
adds a mechanism to register and invoke any callbacks once the Gst memory
object is no longer used by the pipeline.

This patch also ensures that the source_fps value is always non-zero.

add dmabuf encoding if `drm/drm_fourcc.h` is present and
gstreamer is at least 1.24 due to
`gst_video_dma_drm_fourcc_to_format()`.

Cc: Frediano Ziglio <freddy77@gmail.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Michael Scherle <michael.scherle@rz.uni-freiburg.de>
Acked-by: Frediano Ziglio <freddy77@gmail.com>
2025-03-16 04:49:53 +00:00
Frediano Ziglio
fe4723d176 build: Remove support for GStreamer 0.10
Deprecated since 2016.

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
2023-09-17 10:00:41 +01:00
Frediano Ziglio
0c2c1413a8 build: Prepare for 0.15.2 release
Really minor release.

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
2023-05-11 12:26:06 +01:00
Frediano Ziglio
956cd26dbf build: Update syntax for Autoconf script
Used autoupdate and some manual changes.

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
2023-05-10 10:53:54 +01:00
Frediano Ziglio
c7b313ba31 build: Prepare for 0.15.1 release
Lot of build and compatibility updates since 0.15.
See CHANGELOG.md.

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
2022-09-13 14:59:22 +01:00
orbea
c5fe3df1ef build: Fix undefined pthread references
The build fails with slibtool while GNU libtool hide the issue
by silently ignoring -no-undefined.

ax_pthread.m4 is sourced from:

e68e8f6f62/m4/ax_pthread.m4

Downstream issue: https://bugs.gentoo.org/780027

Signed-off-by: orbea <orbea@riseup.net>
Acked-by: Frediano Ziglio <freddy77@gmail.com>
2021-05-18 08:30:15 +01:00
Frediano Ziglio
44436a006f build: Prepare for 0.14.90 release
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
Acked-by: Uri Lublin <ulublin@redhat.com>
2020-10-24 14:34:45 +01:00
Marc-André Lureau
828c881bd0 agent/qxl: add monitors physical dimensions handling
Requires
https://gitlab.freedesktop.org/spice/spice-protocol/-/merge_requests/24

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2020-09-14 14:35:12 +01:00
Frediano Ziglio
46cda65123 build: Remove GObject dependency
Not used anymore.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2020-05-01 06:58:09 +01:00
Frediano Ziglio
1e9205a3b8 char-device: Remove GObject from RedCharDevice
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2020-05-01 06:58:09 +01:00
Frediano Ziglio
6e58ea3369 build: Remove GIO dependency
It was used for GInitable, now used anymore.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2020-05-01 06:58:09 +01:00
Frediano Ziglio
7b36374170 Adjust some warnings
Remove -Werror and add -fpermissive, this will allow to compile C code with
a GNU C++ compiler.

Ignore warnings as our code use some feature like empty arrays.

Remove warnings not available in C++.

Bump GLIB_VERSION_MAX_ALLOWED to reduce the warning, looks like the
GLib headers for C++ are not able to handle them correctly.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2020-05-01 06:58:08 +01:00
Frediano Ziglio
c4b4b967fb Allows C++ to be used in sources
Enable C++ compiler

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2020-05-01 06:58:08 +01:00
Frediano Ziglio
38c7964d53 build: Make building the test binaries optional under Autoconf
Following similar change for Meson.
Allow to save some time packaging and some dependencies.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2020-03-26 09:10:39 +00:00
Frediano Ziglio
626ad248f5 build: Update spice-common integration
Use new common.m4 include file to make easier to integrate
with spice-common repository.
The new include will allow for instance spice-common to
add additional dependencies without changes (or minor) to
spice-server.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Kevin Pouget <kpouget@redhat.com>
2020-03-02 14:04:06 +00:00
Frediano Ziglio
7f7af5d426 build: Prepare for 0.14.3 release
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2020-02-27 11:22:44 +00:00
Frediano Ziglio
533cf98e33 CHANGELOG: Use markdown
We will prefer CHANGELOG over NEWS just as matter of Gitlab's.
Followup patch will move NEWS content to CHANGELOG.

This patch renames NEWS -> CHANGELOG.md.
The change in configure.ac is necessary as GNU style requires
a NEWS file to be present.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2020-02-27 11:22:01 +00:00
Frediano Ziglio
5c6108a5a4 build: Do not check for AM_SILENT_RULES macro availability
As documented in https://autotools.io/automake/silent.html this
condition should only be checked for compatibility with really
old systems.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2019-12-10 05:55:09 +00:00
Frediano Ziglio
13de28fc27 Update spice-common submodule
This brings in the following changes:

Fabrice Fontaine (2):
      configure.ac: add --enable-tests
      meson: add tests option

Frediano Ziglio (4):
      codegen: Add 'chunk' to the output attributes
      codegen: Check validity of array members
      codegen: Document "chunk" attribute
      codegen: Ignore path generating include guards

Kevin Pouget (3):
      agent-interface: introduce the core of the Agent Interface
      agent-interface: add configuration functions
      build: Introduce the agent-interface as an alternative instrumentation library

Updated files are due to agent-interface updates.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Kevin Pouget <kpouget@redhat.com>
2019-11-26 15:39:07 +00:00
Frediano Ziglio
214736dce6 reds: Fix SSL_CTX_set_ecdh_auto call for some old OpenSSL
SSL_CTX_set_ecdh_auto is not defined in some old versions of OpenSSL

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jeremy White <jwhite@codeweavers.com>
2019-06-26 14:18:25 +01:00
Frediano Ziglio
47ad2179f0 build: Fix M4 macros quoting
The PKG_CHECK_MODULES macro were not expanded correctly causing
the gio-unix module not to be detected and these warnings:

../configure: line 15133: GIO_UNIX_CFLAGS: command not found
../configure: line 15134: C: command not found
../configure: line 15135: GIO_UNIX_LIBS: command not found
../configure: line 15136: linker: command not found

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2019-05-08 08:28:55 +01:00
Frediano Ziglio
0643d67557 build: Detect Windows build and change some definitions
Windows needs some specific setting to use network.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2019-05-07 10:13:48 +01:00
Frediano Ziglio
7cbd70b931 build: Prepare for 0.14.2 release
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2019-04-30 09:05:07 +01:00
Frediano Ziglio
9ff2997a05 Update spice-protocol version
We require version after 0.12.15 which was released as 0.14.0.
Check against a valid released instead of checking for a non existing one.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2019-04-26 11:45:12 +01:00
Frediano Ziglio
2ac16c1635 meson: Bump libcacard requirement to 2.5.1
This had already been done for Meson in commit
afb2ec312b.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2019-04-26 11:45:04 +01:00
Christophe Fergeau
03d46e9e19 build-sys: Raise glib requirement to 2.38
meson is already using 2.38, and most distros have a newer version:
    - Fedora 28 has 2.56
    - CentOS 7 has 2.46
    - Debian 9 has 2.50

This also matches what spice-common requires.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Acked-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2019-02-05 14:04:58 +01:00
Lukáš Hrázký
852ae0255c Send the graphics device info to the vd_agent
Sends the device address and device display IDs to the vdagent. The
message is sent either in reaction to the SPICE_MSGC_MAIN_AGENT_START
message or when the graphics device info changes.

Signed-off-by: Lukáš Hrázký <lhrazky@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2019-01-29 15:46:28 +01:00
Frediano Ziglio
1de0e6a292 Allows to enable recorder integration
recorder library will be used to collect some statistics during
development.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2019-01-23 14:51:00 +00:00
Snir Sheriber
4ed9e3b92c Support h265 in stream-channel
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2018-08-22 16:58:14 +02:00
Christophe Fergeau
eaa07ef15c build: Prepare for 0.14.1 release
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2018-08-22 16:48:17 +02:00
Christophe Fergeau
f60021f864 Revert "Support h265 in stream-channel"
This commit needs an unreleased version of spice-protocol.
The revert is temporary in order to get the spice-server 0.14.1 release
out.

This reverts commit 9f5859c3ba.
2018-08-22 13:30:51 +02:00
Eduardo Lima (Etrunko)
b0e141b387 build: Move spice-common to subprojects/ directory
The reason for this commit is that Meson expects all submodules to be
placed in this subdirectory, and since autotools build is more flexible
in this case, we make some small adjustments to configure.ac and
Makefile.am files to accommodate for this change.

Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2018-07-23 14:49:19 -03:00
Christophe Fergeau
4b940123fc build: Use SPICE_CHECK_CELT051 in configure.ac
spice-common provides a m4 macro to check for celt, but spice-server is
not using it. With the recent disabling of celt in spice-common, the
default in spice-server got out of sync. It's better to use the same check
everywhere, even though in spice-server its only use is to show
--enable-celt051 in --help output.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2018-06-20 13:55:16 +01:00
Snir Sheriber
9f5859c3ba Support h265 in stream-channel
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2018-06-20 03:18:45 +01:00
Frediano Ziglio
48fd9b0898 Use --enable-extra-checks option provided by spice-common
Reuse option from common code.
Also reuse spice_extra_checks constant instead of using the preprocessor
macro directly.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
2018-03-19 14:51:47 +00:00
Christophe Fergeau
f4dd0f1aa7 test-listen: Add Unix socket test
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2018-03-13 11:41:00 +01:00
Christophe Fergeau
6bc2b39a01 build: Bump glib version
From spice-gtk b312ca08 commit:
"    At the moment:
    - Fedora 26 has 2.52
    - Fedora 25 has 2.50
    - Fedora 24 has 2.48
    - CentOS 7 has 2.46
    - Debian 9 has 2.50"

RHEL6 only have 2.28, but glib 2.32 is only used in a test case at the
moment.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2018-03-13 11:40:46 +01:00
Frediano Ziglio
7a25e46c8b Minor compatibility with FreeBSD system
Some additional header are needed to avoid undefined types.
SOL_TCP and IPPROTO_TCP have the same value in Linux but SOL_TCP
is not defined in FreeBSD.
Provide pthread_setname_np using pthread_set_name_np (same parameters).

Patch is based on a patch from Oleg Ginzburg <olevole@olevole.ru>

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
2018-01-15 16:52:57 +00:00
Frediano Ziglio
aeb8bbe5ac test-sasl: Initial SASL test
Not currently working, is defining SASL functions used by the code.
As the symbols defined in the objects have more priority than the ones
defined by the libraries these function take precedence compared to
system library.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
2018-01-09 17:05:49 +00:00
Christophe Fergeau
7ff434b104 ssl: Drop support for older OpenSSL versions
SSL_OP_NO_COMPRESSION was introduced in OpenSSL_0_9_8k, which is no
longer supported. This commit raises the minimum OpenSSL version to
1.0.0, which is also out of support.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2017-12-08 15:22:26 +01:00
Jonathon Jongsma
61aa6ac8aa StreamDevice: Handle incomplete reads of StreamMsgFormat
This is currently unlikely to happen since we communicate over a pipe
and the pipe buffer is sufficiently large to avoid splitting the
message. But for completeness, we should handle this scenario.

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2017-11-27 21:37:53 +00:00
Christophe Fergeau
40ca6c29c7 spice-server 0.14.0 release 2017-10-11 10:36:34 +02:00
Christophe Fergeau
13c0dcf4a3 build: Prepare for 0.13.91 release
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2017-09-25 15:08:35 +02:00
Frediano Ziglio
6517ea5cbb test-display-base: Always compile with AUTOMATED_TESTS enabled
There's no need to not compile this feature, it just enable
a parameters which must be passed in order to change test
behaviour.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
2017-09-07 08:54:18 +01:00
Frediano Ziglio
e6cf0dd056 build-sys: Fix syntax-check
This error was reported

configure.ac:119:if test "x$have_gstreamer_0_10" = "xyes" -o "x$have_gstreamer_1_0" = "xyes"; then
maint.mk: use "test C1 && test C2", not "test C1 -a C2"; use "test C1 || test C2", not "test C1 -o C2"

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2017-09-01 22:04:44 +01:00
Frediano Ziglio
14aee7cd74 gstreamer: Check if ORC library can work
ORC library is used internally by GStreamer to generate code
dynamically.
If ORC cannot allocate executable memory, the failure causes
an abort(3) to be called.
This happens on some SELinux configurations that disable executable
memory allocation (execmem boolean).
Check that ORC could work before attempting to use GStreamer to
avoid crashes.
While this check is done, the ORC library outputs an error which will
be well visible in Qemu output.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
2017-08-30 15:59:46 +01:00
Frediano Ziglio
8cdea23d1d display-channel: Check that all structure are destroyed during finalize
The leak detector we use currently is not enough to detect
some kind of leak in DisplayChannel so manually test.
These tests are enabled only when --enable-extra-checks is passed
to configure.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2017-08-25 09:37:17 +01:00