I think it would be interesting to design a graphics accelerator in hardware instead of doing all of that drawing on cpu. It doesn't have to be complex - double ot triple buffering to prevent tearing, simple 2D functions like sprite engine, blitting, output some part of (or full) image to a certain position on a screen, perhaps rotations (but that is more complex, especially if angle of rotation can be arbitrary and not from a fixed set of ±90°/±180°/±270°). Just these functions alone would allow building rather complex 2D applications. As for getting X11 to work - to be honest I didn't even know it's possible to get it to run on Zynq, as I never actually needed that. Most of my "commercial" designs revolved around image/video processing where you take some inputs - typically from one or several HDMI or MIPI cameras, do something to them (usualkly CV stuff like edge/movement detection, transformations) and compose the output. None of that stuff typically requires an OS as such, which is why I mostly used "pure" FPGAs. That said, I did pick up a Digilent's Zybo20 during recent black Friday sale, so I might try to do something with it at some point.
I know the graphics world is another deep area that seems like it could take a lifetime to master. Maybe I can try something really basic on the FPGA side of things. Lots of learning ahead of me... I also recently picked up a couple of Zybo boards -- an older 010 and a newer 020. They have other I/O peripherals that might be fun to work with (e.g., audio).
I think it would be interesting to design a graphics accelerator in hardware instead of doing all of that drawing on cpu. It doesn't have to be complex - double ot triple buffering to prevent tearing, simple 2D functions like sprite engine, blitting, output some part of (or full) image to a certain position on a screen, perhaps rotations (but that is more complex, especially if angle of rotation can be arbitrary and not from a fixed set of ±90°/±180°/±270°). Just these functions alone would allow building rather complex 2D applications.
As for getting X11 to work - to be honest I didn't even know it's possible to get it to run on Zynq, as I never actually needed that. Most of my "commercial" designs revolved around image/video processing where you take some inputs - typically from one or several HDMI or MIPI cameras, do something to them (usualkly CV stuff like edge/movement detection, transformations) and compose the output. None of that stuff typically requires an OS as such, which is why I mostly used "pure" FPGAs. That said, I did pick up a Digilent's Zybo20 during recent black Friday sale, so I might try to do something with it at some point.
I know the graphics world is another deep area that seems like it could take a lifetime to master. Maybe I can try something really basic on the FPGA side of things. Lots of learning ahead of me...
I also recently picked up a couple of Zybo boards -- an older 010 and a newer 020. They have other I/O peripherals that might be fun to work with (e.g., audio).