Hello Kai, Thank you for your reply. After following the links you provided, I believe that implementing the DMA feature should take place within the following file:
https://code.qt.io/cgit/qt/qtwayland.git/tree/src/client/qwaylandshmbackingstore.cpp Here's my proposed plan for this implementation: 1. Start by checking whether the compositor supports the wl_drm and linux-DMA-buff protocols. 2. Manually implement both protocols, without relying on the wayland-egl implementation. 3. Authenticate a DRM device fd through the wl_drm protocol. 4. Verify if the compositor supports the DRM_FORMAT_MOD_LINEAR modifier using the linux-dma-buff protocol. 5. Create a LINEAR DMA buffer using the GBM library. I propose making this buffer relatively large to prevent the need for frequent destruction and recreation of a new buffer when the window is resized. 6. Perform mmap on the DMA buffer. 7. Wrap the mapped buffer with a QImage(), following a similar approach as it's done with shared memory. If any of these steps fail, fallback to shared memory. Do you foresee any potential issues with this approach? Please feel free to share your thoughts. Best regards, Eduardo Hopperdietzel
-- Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development