Hi, has been a while since I posted a patchset on this. One reason is that the feature set of the series is not changed. Basically all pieces from DRM prime handling to VAAPI (hardware encoding acceleration), forcing streaming and fallback to software encoding are there. The main concern about these patches are the status of some implementation. The mainly hacks and fixes came from streaming. The idea of the streaming code currently is recognizing and optimizing video streaming done by virtual machine. With Virgl (using host rendering which is the current target) the streaming code is used continually so this part of code is quite stressed. Basically when Virgl kicks in all display become a big and continuous video. This introduce some issues like the fact that if user interaction stops the frame rate fall down to a 0 average causing some computation problems. The other big problems came introducing hardware acceleration and DRM primes. Hardware accelerations means the use of different encoders (VAAPI was chosen). The status of these encoders and the gstreamer plugins (the part of code to use them) status is not so optimal like software encoders (for instance there is the lack for changing bit rate dynamically although supported by VAAPI). Also our gstreamer support code needs specific settings for every new encoders (for instance to support live streaming). Another problem with hardware encoders is license issues which could limit the usage and distribution of the required software; this lead to having to support fallback to software encoders to avoid blank screen. As said above all these are implemented but with lot of hacks and restrictions. Reordering the patches and list of todos/bugs I realized that the main issues came from streaming. For this reason I decided to focus first of all on the streaming part. The first step will be the implementation of a proper test as a unit test for the encoding code checking for different aspect from encoders, formats (at the beginning just different bitmap formats, after DRM primes), clipping, bit rate handling. This will help in the next step to add support for different formats (DRM primes) and encoders (hardware ones). Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel