Hi jieh,
The xrandr implementation has to do all the scaling and rotating in the X/gpu graphic drivers without frame buffer driver involve http://en.wikipedia.org/wiki/RandR http://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt As example: If the size is too small (240x240), XRandR can be used to define a new mode. 1. Get the output name: root@imx6qsabresd:~# xrandr Screen 0: minimum 240 x 240, current 240 x 320, maximum 8192 x 8192 DISP4 FG connected 240x320+0+0 (normal left inverted right x axis y axis) 0mm x 0mm U:240x320p-60 60.0* 2. Define a new mode: root@imx6qsabresd:~# xrandr --newmode "640x480R" 23.50 640 688 720 800 480 483 487 494 +hsync -vsync 3. Add the newly created mode: root@imx6qsabresd:~# xrandr --addmode "DISP4 FG" 640x480R 4. Check the modes: root@imx6qsabresd:~# xrandr Screen 0: minimum 240 x 240, current 240 x 320, maximum 8192 x 8192 DISP4 FG connected 240x320+0+0 (normal left inverted right x axis y axis) 0mm x 0mm U:240x320p-60 60.0* 640x480R 59.5 5. Switch to a new mode: root@imx6qsabresd:~# xrandr -s 640x480 NOTE: The overlay size cannot exceed the display size. For example, if LVDS is 1024x768, the overlay size cannot be larger than this. • Timings for overlay are meaningless, but wrong timings may damage your display, so be careful when creating a new display mode for your display. • If fb3 is used, fb2 must be enabled. Otherwise, fb3 is invisible
Regards
thank you for your reply
I may not be clear enough. The frame buffer size is 1024*600*16/8 at a resolution of 1024*600, without changing the resolution. Then you can change the frame buffer size to 1024*600*16/8*2