Re: Forcing initial Frame Transmission for dmabuf encoding on SPICE display channel connection

2025-05-14 Thread Michael Scherle
. The previous fd mechanism is still retained to ensure a valid scanout buffer is always available for a new client. Greetings, Michael On 05.05.25 14:33, Michael Scherle wrote: Hello, Sorry for the late reply — I was on vacation. Thank you very much for the detailed explanation; it gave me a

Re: Forcing initial Frame Transmission for dmabuf encoding on SPICE display channel connection

2025-05-05 Thread Michael Scherle
00, Frediano Ziglio wrote: On Thu, Apr 10, 2025 at 3:18 PM Michael Scherle < michael.sche...@rz.uni-freiburg.de> wrote: Hello, I’ve encountered an issue with the new DMA-BUF -> video encoding feature in SPICE. When connecting, the first frame is only sent once the GPU renders a new frame.

Forcing initial Frame Transmission for dmabuf encoding on SPICE display channel connection

2025-04-10 Thread Michael Scherle
Hello, I’ve encountered an issue with the new DMA-BUF -> video encoding feature in SPICE. When connecting, the first frame is only sent once the GPU renders a new frame. However, this can take quite some time if the VM is idle (e.g., sitting on the desktop), since the GPU only renders a new f

Re: [PATCH 08/10] Update spice-common submodule

2025-03-03 Thread Michael Scherle
Thank you very much. I apologize for the not quite clean merge request by email, this is my first time. Besides that are there any suggestions for improvements to the other patches? Thanks Michael On 02.03.25 18:40, Frediano Ziglio wrote: On Fri, Feb 28, 2025 at 9:59 AM Michael Scherle

[PATCH 10/10] dcc-send: Fix freeze when video stream is stopped during ongoing draw

2025-02-27 Thread Michael Scherle
Prevent a freeze that occurs if the video stream is stopped while a gl draw is in progress (e.g., when the client requests a new codec). Ensure proper cleanup of the ongoing gl draw. Signed-off-by: Michael Scherle --- server/dcc-send.cpp | 4 1 file changed, 4 insertions(+) diff --git a

[PATCH 06/10] video-stream: Don't stop a stream associated with gl_draw (v2)

2025-02-27 Thread Michael Scherle
From: Vivek Kasireddy We do not want to stop a stream associated with gl_draw as a result of timeout because we may not get another opportunity to create a new stream if the current one gets stopped. However, when the stream does get stopped for other reasons, we need to clear the gl_draw_stream

[PATCH 00/10] dcc: Create a stream for non-gl/remote clients that want to use dmabuf (v9)

2025-02-27 Thread Michael Scherle
ver/display-channel.cpp:2074:display_channel_create_surface: condition `!display->priv->surfaces[surface_id]' failed Rebase all patches on master v2: Update all patches to address review comments from Frediano Tested this series with msdkh264enc/dec plugins that will be added in anothe

[PATCH 02/10] dcc: Check to see if the client supports multiple codecs (v2)

2025-02-27 Thread Michael Scherle
From: Vivek Kasireddy We need to determine if the client is new enough to support multiple codecs -- which might include any of the Gstreamer based ones. v2: (suggestions and fixups from Frediano) - Add is_gl_client() method to DisplayChannelClient instead of a dcc_is_gl_client() function. - A

[PATCH 03/10] dcc: Create a stream associated with gl_draw for non-gl clients (v6)

2025-02-27 Thread Michael Scherle
From: Vivek Kasireddy For non-gl/remote clients, if there is no stream associated with the DisplayChannel, then we create a new stream. Otherwise, we just update the current stream's timestamp. v2: (suggestions and fixups from Frediano) - Moved the gl_draw_stream object from DCC to DC - Moved th

[PATCH 09/10] gstreamer-encoder: Include dmabuf encoding conditionally for Linux

2025-02-27 Thread Michael Scherle
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()`. Signed-off-by: Michael Scherle --- meson.build| 10 +- server/gstreamer-encoder.c | 34 +++--- 2 files changed

[PATCH 07/10] gstreamer-encoder: Map the drm format to appropriate Gstreamer format

2025-02-27 Thread Michael Scherle
From: Vivek Kasireddy We need to convert the scanout's drm format to the correct Gstreamer format while configuring the pipeline. This can be done using gst_video_dma_drm_fourcc_to_format() API, which will take the drm fourcc value and return the appropriate Gst format. Signed-off-by: Vivek Kasi

[PATCH 01/10] gstreamer-encoder: Use a h/w based encoder with Intel GPUs if possible (v5)

2025-02-27 Thread Michael Scherle
From: Vivek Kasireddy Once it is determined that an Intel GPU is available/active (after looking into udev's database), we try to see if there is a h/w based encoder (element) available (in Gstreamer's registry cache) for the user selected video codec. In other words, if we find that the Intel Me

[PATCH 05/10] gstreamer-encoder: Add an encoder function that takes dmabuf fd as input (v3)

2025-02-27 Thread Michael Scherle
From: Vivek Kasireddy 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

[PATCH 04/10] dcc-send: Encode and send gl_draw stream data to the remote client (v4)

2025-02-27 Thread Michael Scherle
From: Vivek Kasireddy For remote (or non-gl) clients, if a valid gl_draw stream exists, then we first extract the dmabuf fd associated with the scanout and share it with the encoder along with other key parameters such as stride, width and height. Once the encoder finishes creating an encoded buf

[PATCH 08/10] Update spice-common submodule

2025-02-27 Thread Michael Scherle
This brings in the following changes: common: Add a udev helper to identify GPU Vendor build: Avoid Meson warning Drop Python 2 from m4/spice-deps.m4 Stop using Python six package codegen: Use context manager when opening files Signed-off-by: Michael Scherle

Re: [PATCH v8 0/6] dcc: Create a stream for non-gl/remote clients that want to use dmabuf (v8)

2024-09-09 Thread Michael Scherle
> Regards, > Frediano > Greetings Michael On 08.09.24 18:43, Frediano Ziglio wrote: Il giorno ven 6 set 2024 alle ore 10:43 Michael Scherle ha scritto: Hi, thank you very much for your reply. Of course I understand that non-compiling/crashing code should not be merged into main

Re: [PATCH v8 0/6] dcc: Create a stream for non-gl/remote clients that want to use dmabuf (v8)

2024-09-06 Thread Michael Scherle
o Il giorno ven 30 ago 2024 alle ore 12:53 Michael Scherle ha scritto: On 10.06.24 20:34, Vivek Kasireddy wrote: For clients that cannot accept a dmabuf fd directly (such as those running on a remote system), this patch series provides a way for the Spice server to stream the gl/dmabuf data/b

Re: [PATCH v8 0/6] dcc: Create a stream for non-gl/remote clients that want to use dmabuf (v8)

2024-08-30 Thread Michael Scherle
el Flex 140 GPU. Note this extra patches are related to the gpu and not this patchset. This patch is a significant improvement for handling graphically demanding tasks or rapidly changing image content and is crucial for SPICE to be a component of a competitive virtual desktop infrastructure.

Re: [EXTERN] HW de/encoding & Chroma supsampling

2024-08-22 Thread Michael Scherle
On 29.07.24 13:56, Michael Scherle wrote: Hello, with the hopefully soon merged pull request: “[PATCH v8 0/6] dcc: Create a stream for non-gl/remote clients that want to use dmabuf (v8)” (which we urgently need for our project), I have noticed the problem of chroma supsampling. The

RE: [PATCH v8 0/6] dcc: Create a stream for non-gl/remote clients that want to use dmabuf (v8)

2024-07-09 Thread Michael Scherle
Hi Vivek, Hi Michael, Hi, Disclaimer I am not a Spice developer. But we are very interested in this patch series for our project, so I have tested it extensively. For Qemu I used your vfio_dmabuf_2 branch. First I tested it with intel gvt-g and it works perfectly. In the next test, I used

Re: High delay of video-streams

2024-06-18 Thread Michael Scherle
, Apr 16, 2024 at 12:59:50PM GMT, Michael Scherle wrote: Hello, Thanks for your changesets, they definitely reduce the delay significantly (to a similar level as our provosoric fixes, but yours are much cleaner). On the client side (spice-gtk) I looked at the problem with the high decoding time (2

Re: High delay of video-streams

2024-04-16 Thread Michael Scherle
_DELAY, which is not mentioned anywhere. Is this the only use to save some network traffic? Is there any reason not to always set this to 0 in today's network environments? (And maybe set the default to 0?) Michael On 03.04.24 21:22, Frediano Ziglio wrote: Frediano Il giorno mar 2 apr 20

Re: [EXTERN] Re: High delay of video-streams

2024-04-02 Thread Michael Scherle
n for this. When testing stuff out we saw that Sunshine/Moonlight performed very well in generating a low delay and high QoE. That is kind of our benchmark for remote access to strive for :) Greetings Michael On 15.03.24 14:08, Michael Scherle wrote: Hello spice developers, we are trying to

Re: High delay of video-streams

2024-03-20 Thread Michael Scherle
en me. On 15.03.24 14:08, Michael Scherle wrote: Hello spice developers, we are trying to develop an Open Source virtual desktop infrastructure to be deployed at multiple German universities as described, by my colleagues, in the paper which I have put in the attachment. The solution bas