[Pkg-rust-maintainers] Bug#1119880: rust-gst-plugin-gtk4 is build without gtk_v4_20 feature

Robert Mader robert.mader at collabora.com
Sat Nov 1 17:24:30 GMT 2025


Package: rust-gst-plugin-gtk4
Version: 0.14.2-1

Right now only the `gtk_v4_14` feature is enabled, implicitly via 
`dmabuf`. This results in YCbCr formats not being supported natively, 
making apps like Snapshot (the Gnome Camera app) not benefiting from 
performance and HDR related improvements done in GTK 4.20.

Fixing this should only require adding gtk_v4_20 to the features list.

This can hopefully be done in the 0.14.3 update :)

Corresponding Fedora issue: 
https://bugzilla.redhat.com/show_bug.cgi?id=2408887

STR:
  - run `gst-inspect-1.0 gtk4paintablesink`
  - check the supported formats in the "Pad Templates" section

Current results: Only RGB formats are supported

Pad Templates:
   SINK template: 'sink'
     Availability: Always
     Capabilities:
       video/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition)
                  format: DMA_DRM
                   width: [ 1, 2147483647 ]
                  height: [ 1, 2147483647 ]
               framerate: [ 0/1, 2147483647/1 ]
       video/x-raw(memory:DMABuf)
                  format: DMA_DRM
                   width: [ 1, 2147483647 ]
                  height: [ 1, 2147483647 ]
               framerate: [ 0/1, 2147483647/1 ]
       video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition)
                  format: { (string)RGBA, (string)RGB }
                   width: [ 1, 2147483647 ]
                  height: [ 1, 2147483647 ]
               framerate: [ 0/1, 2147483647/1 ]
          texture-target: 2D
       video/x-raw(memory:GLMemory)
                  format: { (string)RGBA, (string)RGB }
                   width: [ 1, 2147483647 ]
                  height: [ 1, 2147483647 ]
               framerate: [ 0/1, 2147483647/1 ]
          texture-target: 2D
       video/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition)
                  format: { (string)BGRx, (string)xRGB, (string)RGBx, 
(string)xBGR, (string)BGRA, (string)ARGB, (string)RGBA, (string)ABGR, 
(string)RGB, (string)BGR }
                   width: [ 1, 2147483647 ]
                  height: [ 1, 2147483647 ]
               framerate: [ 0/1, 2147483647/1 ]
       video/x-raw(meta:GstVideoOverlayComposition)
                  format: { (string)BGRx, (string)xRGB, (string)RGBx, 
(string)xBGR, (string)BGRA, (string)ARGB, (string)RGBA, (string)ABGR, 
(string)RGB, (string)BGR }
                   width: [ 1, 2147483647 ]
                  height: [ 1, 2147483647 ]
               framerate: [ 0/1, 2147483647/1 ]
       video/x-raw
                  format: { (string)BGRx, (string)xRGB, (string)RGBx, 
(string)xBGR, (string)BGRA, (string)ARGB, (string)RGBA, (string)ABGR, 
(string)RGB, (string)BGR }
                   width: [ 1, 2147483647 ]
                  height: [ 1, 2147483647 ]
               framerate: [ 0/1, 2147483647/1 ]

Expected results: YCbCr formats are supported

Pad Templates:
   SINK template: 'sink'
     Availability: Always
     Capabilities:
       video/x-raw(memory:DMABuf, meta:GstVideoOverlayComposition)
                  format: DMA_DRM (gchararray)
                   width: [ 1, 2147483647 ] (GstIntRange)
                  height: [ 1, 2147483647 ] (GstIntRange)
               framerate: [ 0/1, 2147483647/1 ] (GstFractionRange)
       video/x-raw(memory:DMABuf)
                  format: DMA_DRM (gchararray)
                   width: [ 1, 2147483647 ] (GstIntRange)
                  height: [ 1, 2147483647 ] (GstIntRange)
               framerate: [ 0/1, 2147483647/1 ] (GstFractionRange)
       video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition)
                  format: { (string)RGBA, (string)RGB } (GstValueList)
                   width: [ 1, 2147483647 ] (GstIntRange)
                  height: [ 1, 2147483647 ] (GstIntRange)
               framerate: [ 0/1, 2147483647/1 ] (GstFractionRange)
          texture-target: 2D (gchararray)
       video/x-raw(memory:GLMemory)
                  format: { (string)RGBA, (string)RGB } (GstValueList)
                   width: [ 1, 2147483647 ] (GstIntRange)
                  height: [ 1, 2147483647 ] (GstIntRange)
               framerate: [ 0/1, 2147483647/1 ] (GstFractionRange)
          texture-target: 2D (gchararray)
       video/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition)
                  format: { (string)YUY2, (string)YVYU, (string)UYVY, 
(string)VYUY, (string)NV12, (string)NV21, (string)NV16, (string)NV61, 
(string)NV24, (string)P010_10LE, (string)P010_10BE, (string)P012_LE, 
(string)P012_BE, (string)P016_LE, (string)P016_BE, (string)YUV9, 
(string)YVU9, (string)Y41B, (string)I420, (string)YV12, (string)Y42B, 
(string)Y444, (string)I420_10LE, (string)I420_10BE, (string)I422_10LE, 
(string)I422_10BE, (string)Y444_10LE, (string)Y444_10BE, 
(string)I420_12LE, (string)I420_12BE, (string)I422_12LE, 
(string)I422_12BE, (string)Y444_12LE, (string)Y444_12BE, 
(string)Y444_16LE, (string)Y444_16BE, (string)BGRx, (string)xRGB, 
(string)RGBx, (string)xBGR, (string)BGRA, (string)ARGB, (string)RGBA, 
(string)ABGR, (string)RGB, (string)BGR } (GstValueList)
                   width: [ 1, 2147483647 ] (GstIntRange)
                  height: [ 1, 2147483647 ] (GstIntRange)
               framerate: [ 0/1, 2147483647/1 ] (GstFractionRange)
       video/x-raw(meta:GstVideoOverlayComposition)
                  format: { (string)YUY2, (string)YVYU, (string)UYVY, 
(string)VYUY, (string)NV12, (string)NV21, (string)NV16, (string)NV61, 
(string)NV24, (string)P010_10LE, (string)P010_10BE, (string)P012_LE, 
(string)P012_BE, (string)P016_LE, (string)P016_BE, (string)YUV9, 
(string)YVU9, (string)Y41B, (string)I420, (string)YV12, (string)Y42B, 
(string)Y444, (string)I420_10LE, (string)I420_10BE, (string)I422_10LE, 
(string)I422_10BE, (string)Y444_10LE, (string)Y444_10BE, 
(string)I420_12LE, (string)I420_12BE, (string)I422_12LE, 
(string)I422_12BE, (string)Y444_12LE, (string)Y444_12BE, 
(string)Y444_16LE, (string)Y444_16BE, (string)BGRx, (string)xRGB, 
(string)RGBx, (string)xBGR, (string)BGRA, (string)ARGB, (string)RGBA, 
(string)ABGR, (string)RGB, (string)BGR } (GstValueList)
                   width: [ 1, 2147483647 ] (GstIntRange)
                  height: [ 1, 2147483647 ] (GstIntRange)
               framerate: [ 0/1, 2147483647/1 ] (GstFractionRange)
       video/x-raw
                  format: { (string)YUY2, (string)YVYU, (string)UYVY, 
(string)VYUY, (string)NV12, (string)NV21, (string)NV16, (string)NV61, 
(string)NV24, (string)P010_10LE, (string)P010_10BE, (string)P012_LE, 
(string)P012_BE, (string)P016_LE, (string)P016_BE, (string)YUV9, 
(string)YVU9, (string)Y41B, (string)I420, (string)YV12, (string)Y42B, 
(string)Y444, (string)I420_10LE, (string)I420_10BE, (string)I422_10LE, 
(string)I422_10BE, (string)Y444_10LE, (string)Y444_10BE, 
(string)I420_12LE, (string)I420_12BE, (string)I422_12LE, 
(string)I422_12BE, (string)Y444_12LE, (string)Y444_12BE, 
(string)Y444_16LE, (string)Y444_16BE, (string)BGRx, (string)xRGB, 
(string)RGBx, (string)xBGR, (string)BGRA, (string)ARGB, (string)RGBA, 
(string)ABGR, (string)RGB, (string)BGR } (GstValueList)
                   width: [ 1, 2147483647 ] (GstIntRange)
                  height: [ 1, 2147483647 ] (GstIntRange)
               framerate: [ 0/1, 2147483647/1 ] (GstFractionRange)

Best regards,
Robert Mader



More information about the Pkg-rust-maintainers mailing list