From nobody Thu Nov 6 10:18:26 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1540823035237206.34029035937533; Mon, 29 Oct 2018 07:23:55 -0700 (PDT) Received: from localhost ([::1]:45945 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gH8SM-0004Js-O5 for importer@patchew.org; Mon, 29 Oct 2018 10:23:50 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44817) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gH8NT-0003Wd-3x for qemu-devel@nongnu.org; Mon, 29 Oct 2018 10:18:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gH8NP-00043E-Rd for qemu-devel@nongnu.org; Mon, 29 Oct 2018 10:18:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50658) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gH8NO-00040H-Os for qemu-devel@nongnu.org; Mon, 29 Oct 2018 10:18:43 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1385DC068BE2; Mon, 29 Oct 2018 14:18:38 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-158.ams2.redhat.com [10.36.116.158]) by smtp.corp.redhat.com (Postfix) with ESMTP id 955395C557; Mon, 29 Oct 2018 14:18:35 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 6E84AB3E01; Mon, 29 Oct 2018 15:18:34 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Mon, 29 Oct 2018 15:18:33 +0100 Message-Id: <20181029141834.8794-2-kraxel@redhat.com> In-Reply-To: <20181029141834.8794-1-kraxel@redhat.com> References: <20181029141834.8794-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Mon, 29 Oct 2018 14:18:38 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 1/2] SDL: set a hint to not bypass the window compositor X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann , Sebastian Krzyszkowiak Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Sebastian Krzyszkowiak Without that, window effects in KWin get suspended as soon as any qemu-sdl window becomes visible. While the SDL default makes sense for games, it's not really suitable for QEMU. Signed-off-by: Sebastian Krzyszkowiak Message-id: 20181024143748.4425-1-dos@dosowisko.net Signed-off-by: Gerd Hoffmann --- ui/sdl2.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ui/sdl2.c b/ui/sdl2.c index 2696b95c79..a10b6e3a08 100644 --- a/ui/sdl2.c +++ b/ui/sdl2.c @@ -786,6 +786,9 @@ static void sdl2_display_init(DisplayState *ds, Display= Options *o) SDL_GetError()); exit(1); } +#ifdef SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR /* only available since= SDL 2.0.8 */ + SDL_SetHint(SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR, "0"); +#endif SDL_SetHint(SDL_HINT_GRAB_KEYBOARD, "1"); memset(&info, 0, sizeof(info)); SDL_VERSION(&info.version); --=20 2.9.3 From nobody Thu Nov 6 10:18:26 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1540822867445172.02880128823313; Mon, 29 Oct 2018 07:21:07 -0700 (PDT) Received: from localhost ([::1]:45929 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gH8Pc-00065Z-8b for importer@patchew.org; Mon, 29 Oct 2018 10:21:00 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44822) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gH8NT-0003Wv-5P for qemu-devel@nongnu.org; Mon, 29 Oct 2018 10:18:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gH8NQ-00043f-8e for qemu-devel@nongnu.org; Mon, 29 Oct 2018 10:18:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48422) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gH8NP-00040P-Uk for qemu-devel@nongnu.org; Mon, 29 Oct 2018 10:18:44 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4E7A030D4DBE; Mon, 29 Oct 2018 14:18:38 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-158.ams2.redhat.com [10.36.116.158]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8CCC360C65; Mon, 29 Oct 2018 14:18:35 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 76FF0B3E02; Mon, 29 Oct 2018 15:18:34 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Mon, 29 Oct 2018 15:18:34 +0100 Message-Id: <20181029141834.8794-3-kraxel@redhat.com> In-Reply-To: <20181029141834.8794-1-kraxel@redhat.com> References: <20181029141834.8794-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Mon, 29 Oct 2018 14:18:38 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 2/2] spice: prepare for upcoming spice-server change X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: spice-devel@lists.freedesktop.org, Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Future spice-server versions will call the client_monitors_config callback with the monitors list filtered to only include the monitors of the given display channel (aka QXLInstance). Luckily this is easily detectable at runtime, so we can prepare for that in advance and also make qemu compatible with both old and new spice-server versions. While being at it also use the console index instead of head number as array index. The later doesn't work correctly in case multiple display devices are present. Cc: spice-devel@lists.freedesktop.org Signed-off-by: Gerd Hoffmann Reviewed-by: Luk=C3=A1=C5=A1 Hr=C3=A1zk=C3=BD Message-id: 20181012114551.28809-1-kraxel@redhat.com --- ui/spice-display.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/ui/spice-display.c b/ui/spice-display.c index 2f8adb6b9f..52f8cb5ae1 100644 --- a/ui/spice-display.c +++ b/ui/spice-display.c @@ -674,10 +674,28 @@ static int interface_client_monitors_config(QXLInstan= ce *sin, =20 memset(&info, 0, sizeof(info)); =20 - head =3D qemu_console_get_head(ssd->dcl.con); - if (mc->num_of_monitors > head) { - info.width =3D mc->monitors[head].width; - info.height =3D mc->monitors[head].height; + if (mc->num_of_monitors =3D=3D 1) { + /* + * New spice-server version which filters the list of monitors + * to only include those that belong to our display channel. + * + * single-head configuration (where filtering doesn't matter) + * takes this code path too. + */ + info.width =3D mc->monitors[0].width; + info.height =3D mc->monitors[0].height; + } else { + /* + * Old spice-server which gives us all monitors, so we have to + * figure ourself which entry we need. Array index is the + * channel_id, which is the qemu console index, see + * qemu_spice_add_display_interface(). + */ + head =3D qemu_console_get_index(ssd->dcl.con); + if (mc->num_of_monitors > head) { + info.width =3D mc->monitors[head].width; + info.height =3D mc->monitors[head].height; + } } =20 trace_qemu_spice_ui_info(ssd->qxl.id, info.width, info.height); --=20 2.9.3