On Wed, Aug 19, 2026 at 03:07:40PM -0400, Mark Yacoub wrote:
> Writeback and virtual connectors (e.g. DRM_MODE_CONNECTOR_WRITEBACK and
> DRM_MODE_CONNECTOR_VIRTUAL) do not represent physical display sinks and
> cannot be modeset using standard CRTC / atomic commit operations without
> configuring a writeback output framebuffer (WRITEBACK_FB_ID).
> 
> On drivers such as MSM, writeback connectors (e.g. Virtual-1, Virtual-2)
> report connected status with virtual modes. When generic KMS tests iterate
> over connected outputs via for_each_connected_output() or during initial
> display setup in igt_display_init(), attempting standard modesets on these
> connectors causes failures (-EINVAL) before test execution can begin.
> 
> Exclude DRM_MODE_CONNECTOR_WRITEBACK and DRM_MODE_CONNECTOR_VIRTUAL in
> igt_output_is_connected() so generic KMS tests only target standard
> physical display outputs, while dedicated writeback tests can continue to
> iterate all outputs explicitly via for_each_output().
> 
> Signed-off-by: Mark Yacoub <[email protected]>
> ---
>  lib/igt_kms.h | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 521a03c01..8d4d14847 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -668,6 +668,10 @@ static inline bool igt_output_is_connected(igt_output_t 
> *output)
>           !output->config.connector->count_modes)
>               return false;
>  
> +     if (output->config.connector->connector_type == 
> DRM_MODE_CONNECTOR_WRITEBACK ||
> +         output->config.connector->connector_type == 
> DRM_MODE_CONNECTOR_VIRTUAL)
> +             return false;
> +
>       if (output->config.connector->connection == DRM_MODE_CONNECTED)
>               return true;
>  
> -- 
> 2.55.0.737.g08866a6d13-goog
> 

This makes a lot of tests (including a lot of kms_*) be skipped on VKMS. Is
that correct?

Cascardo.

Reply via email to