mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-01 15:10:56 +00:00
Until now, Genode's framebuffer session interface was based on the RGB565 pixel format. This patch changes the pixel format to 32-bit XRGB where the X part is ignored. It adapts all graphical applications and device drivers accordingly. The patch also adjusts the users of the drivers_interactive packages, assigning 64 MiB RAM and 1500 caps to the drivers subsystem, which is sufficient for covering high resolutions at 32 bits per pixel and to accommodate multi-component USB HID input stacks. Fixes #3784
The 'gui_fb' server provides a single session of the 'Input' and 'Framebuffer' services by presenting a Nitpicker view at a predefined screen position. If instantiated multiple times, it can be used to statically arrange multiple virtual frame buffers on one physical screen. The size and screen position of each 'gui_fb' instance can be defined via Genode's configuration mechansim using the following attributes of the 'gui_fb' config node: ! <config xpos="100" ypos="150" width="300" height="200" origin="top_left"/> The 'origin' attribute denotes the coordinate origin of the values specified in the 'xpos' and 'ypos' attributes. Supported origins are "top_left", "top_right", "bottom_left", and "bottom_right". This attribute allows one to align the nitpicker view at any of the four screen boundaries. The 'width' and 'height' attribute values can be negative. If so, they are relative to the physical screen size. E.g., when using a screen size of 640x480, the effective width for a 'width' attribute value of "-100" would be 640 - 100 = 540. In case 'gui_fb' is used in a dynamic fashion, e.g., in combination with a window manager, the 'initial_width' and 'initial_height' attributes must be used to set the initial dimensions of the frame buffer rather than 'width' and 'height'. Mixing those attributes is not supported, 'width' or 'height' will have priority.