-vis: On S3c2410x Delta Driver -
A userspace application using -vis would see:
int vis_fd = open("/dev/vis0", O_RDWR); struct vis_rect rect = .x = 0, .y = 0, .w = 480, .h = 270 ; // Only update top-left quadrant ioctl(vis_fd, VIS_SET_UPDATE_REGION, &rect);
// Write new pixel data to draw buffer (mmapped from /dev/fb0) // Then commit delta ioctl(vis_fd, VIS_COMMIT_DELTA, NULL);-vis On S3c2410x Delta Driver -
On commit, the driver generates 2-4 KB of delta instructions. For a static UI (e.g., a gauge needle moving 10 pixels), the bandwidth usage from SDRAM to LCD drops from 3 MB/frame to just 128 bytes. A userspace application using -vis would see: int
If you are porting this driver to a modern kernel (e.g., 5.4+), several adaptations are required: On commit, the driver generates 2-4 KB of delta instructions
The -vis delta driver is not in mainline Linux. It exists in vendor BSPs (e.g., older Openmoko, FIC Neo1973 patches, and custom industrial RT-Linux builds). Expect the source structure:
drivers/video/s3c2410-vis/
vis_delta.c
vis_ioctl.c
vis_dma.c
s3c2410_vis.h