Ping Pong Buffer Implementation in XORG

Dwivedi, Prija prija.dwivedi at
Mon Jun 7 16:05:50 UTC 2021


I have still not got any update on this.

Please let me know if there is any progress on this ticket.



From: Dwivedi, Prija
Sent: Tuesday, June 1, 2021 4:58 PM
To: xorg at
Subject: Ping Pong Buffer Implementation in XORG


My current system configuration is like application gives the frame to XORG and XORG is configured to use simple frame buffer driver(mapped to DDR address).
I need to implement a ping pong buffer utility in such a way that every new frame goes to two different DDR addresses.
I can reserve two block of memory in simple frame buffer driver adding below mentioned code in system-user.dtsi:
chosen {
    framebuffer0: framebuffer at 3ee48000 {
        compatible = "simple-framebuffer";
        memory-region = <&frontbuff_reserved> <&backbuff_reserved>;
        width = <1280>;
        height = <800>;
        stride = <5120>;
        format = "a8r8g8b8";
        status = "okay";


reserved-memory {
    #address-cells = <2>;
    #size-cells = <2>;

    frontbuff_reserved: framebuffer at 3ee48000 {
        reg = <0x0 0x3ee48000 0x0 0x400000>;
    backbuff_reserved: framebuffer at 3f248000 {
        reg = <0x0 0x3f248000 0x0 0x400000>;
But I need some support in how XORG can use these two memory alternatively on every frame/image at runtime.
I have attached the xorg log file and conf file for reference.



Please be advised that this email may contain confidential information. If you are not the intended recipient, please notify us by email by replying to the sender and delete this message.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the xorg mailing list