From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.5 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7885DC433DB for ; Thu, 14 Jan 2021 13:56:26 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2EEAF23A6C for ; Thu, 14 Jan 2021 13:56:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2EEAF23A6C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:57638 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l036v-0006wo-Au for qemu-devel@archiver.kernel.org; Thu, 14 Jan 2021 08:56:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54948) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l02xH-0004Ce-3e for qemu-devel@nongnu.org; Thu, 14 Jan 2021 08:46:27 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:33458) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l02xF-0000xU-9c for qemu-devel@nongnu.org; Thu, 14 Jan 2021 08:46:26 -0500 Received: by mail-wr1-x431.google.com with SMTP id t30so5850976wrb.0 for ; Thu, 14 Jan 2021 05:46:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=y2QUAQNgkudgSVhZMWfWaudJrZtLu0BAFGZus22Gg28=; b=KZAnbDj42SKd/TIMxOaQKPSUmaUwl3qxBVJ3OJoPzJ6LU1uwrSig0LWVtHUu85oAsx 0RAE8u/S+7NtnUuHBAuoGoIvgXACB43vDIKAa136fUq5W2Xg8hvwYYigA/qFFRB6fIOs Q/74840P34iRo+JgefUC4NWO2tjaHrLzRKyMFOWSfqXlojH2cMSd5TjRs75RGyj/esE2 NapXQVUVkQ9gYUZpsXMCszhd9C/1UiKLwXn5rcFlE/1ZHAczxjqIc5ii9zHjms+R4qTW 7EDuZXVwYT2K05W4BGMzpgxKhgjxyQpcgnHOpdcef50NgMm5H8BLYwNX1ovYo9BMx7Ia HDPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=y2QUAQNgkudgSVhZMWfWaudJrZtLu0BAFGZus22Gg28=; b=JQsqufwJjcSGJt1dz16i3jJngCKdU15Z4o2ooMa5ypyAxvm0jLMcHTT4SfNY1Diyk4 e5IBA7kvyWod4lGk+GNyWekQ5wnAJu815JSn9nR9ztdh+j6KYkuyFIm+ralBKNUmHnob tK6LAC+NJEfei8o/QBfyHOHlMR7Qo77NuAmSTW71LpW/1XSquZ2O7nsmf6+DWKgq6wU5 jYVDgMl+1Tk/9C1hxjJlkzsk6kaWiu6Qj+Xc08SWl+qfjD4vCDwG9GFGq9Bnp8NZ5xVL f1HtlqQCsBY3ZptW+m5dATBaRZFD0J0VKM943rB7oU26a7CUL2joacPmv0nTQl/t5jST UB/g== X-Gm-Message-State: AOAM530xaDfIM5vEUCNxYAOokz1UHVfX4urLH3DyafbR8lJwS27LJoJe gY7pLwgpoHk3UY5f7IkIeG+0N4kEBToCpL1H X-Google-Smtp-Source: ABdhPJyYzlcaVMC4KVRPAf1S5f3xx+3wHoho86y+0obLOKmLVgOhvTIM+mgW2P6OsPsTUdtsYSc4SA== X-Received: by 2002:a5d:674b:: with SMTP id l11mr8293700wrw.247.1610631981492; Thu, 14 Jan 2021 05:46:21 -0800 (PST) Received: from localhost.localdomain ([213.91.86.150]) by smtp.googlemail.com with ESMTPSA id h184sm8832924wmh.23.2021.01.14.05.46.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Jan 2021 05:46:20 -0800 (PST) From: Nikola Pavlica To: qemu-devel@nongnu.org, qemu-devel@nongnu.com Subject: [PATCH 0/2] ui/gtk: run gd_monitor_update_interval on EGL as well Date: Thu, 14 Jan 2021 14:45:55 +0100 Message-Id: <20210114134557.292337-1-pavlica.nikola@gmail.com> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=pavlica.nikola@gmail.com; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: r_qemu@t-online.de, philmd@redhat.com, kraxel@redhat.com, Nikola Pavlica Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" These patches regard the use-case of GPU-passthrough on QEMU for accelerated graphics. Usually when people use GPU-passthrough on QEMU, they opt to have a physical seperate graphics card that gets passed through to QEMU using something called "PCIe passthrough". Since the display output is invisible to QEMU, the people who run these kinds of setups tend to view the display outputs by physically connecting a monitor to the "PCIe passthrough-ed" GPU in question. However, on the Intel side of GPUs, there exists a technology that allows a user to pass through a "virtual GPU" using something called GVT-g. Since virtual GPUs have no outputs, they rely soely on software trickery to get the image displayed on the host machine. In case of GVT-g it is done by DMA-ing the framebuffer to the GTK UIs display. However, when using GTK outputs, there was a problem which caused the image to be updated at only 33Hz (or FPS). These issues were first discussed back in December 2019: https://lists.nongnu.org/archive/html/qemu-devel/2019-12/msg05514.html There were a few other issues along the way, but those were fixed as well. The focus of these patches is that when using GVT-g on QEMU, it must launch the GTK UI in OpenGL/EGL mode. This causes the code responsible for updating the refresh rate to never get executed. Which is why I added it to gtk-egl.c, to make sure updating the refresh rate works on EGL GTK UIs as well. These patches were made in response to Volkers patches which dealt with cleaning up my previous code: https://www.mail-archive.com/qemu-devel@nongnu.org/msg766686.html and thus are meant to be merged after Volker's patches. Hopefully, this commit message isn't too daunting ;)