compositor-drm: Support configuring the framebuffer format from weston.ini
This patch adds a new weston.ini key, gbm-format, to the [core] section. This new key can be rgb565, xrgb8888 or xrgb2101010, and makes the compositor use the corresponding GBM format for the framebuffer.
This commit is contained in:
parent
d8e9833017
commit
8e6f376ef0
@ -104,6 +104,13 @@ directory are:
|
||||
.BR xwayland.so
|
||||
.fi
|
||||
.RE
|
||||
.TP 7
|
||||
.BI "gbm-format="format
|
||||
sets the GBM format used for the framebuffer for the GBM backend. Can be
|
||||
.B xrgb8888,
|
||||
.B xrgb2101010,
|
||||
.B rgb565.
|
||||
By default, xrgb8888 is used.
|
||||
.RS
|
||||
.PP
|
||||
|
||||
|
@ -2581,9 +2581,11 @@ drm_compositor_create(struct wl_display *display,
|
||||
struct weston_config *config)
|
||||
{
|
||||
struct drm_compositor *ec;
|
||||
struct weston_config_section *section;
|
||||
struct udev_device *drm_device;
|
||||
struct wl_event_loop *loop;
|
||||
const char *path;
|
||||
char *s;
|
||||
uint32_t key;
|
||||
|
||||
weston_log("initializing drm backend\n");
|
||||
@ -2595,7 +2597,23 @@ drm_compositor_create(struct wl_display *display,
|
||||
/* KMS support for sprites is not complete yet, so disable the
|
||||
* functionality for now. */
|
||||
ec->sprites_are_broken = 1;
|
||||
ec->format = GBM_FORMAT_XRGB8888;
|
||||
|
||||
section = weston_config_get_section(config, "core", NULL, NULL);
|
||||
weston_config_section_get_string(section,
|
||||
"gbm-format", &s, "xrgb8888");
|
||||
if (strcmp(s, "xrgb8888") == 0)
|
||||
ec->format = GBM_FORMAT_XRGB8888;
|
||||
else if (strcmp(s, "rgb565") == 0)
|
||||
ec->format = GBM_FORMAT_RGB565;
|
||||
else if (strcmp(s, "xrgb2101010") == 0)
|
||||
ec->format = GBM_FORMAT_XRGB2101010;
|
||||
else {
|
||||
weston_log("fatal: unrecognized pixel format: %s\n", s);
|
||||
free(s);
|
||||
goto err_base;
|
||||
}
|
||||
free(s);
|
||||
|
||||
ec->use_pixman = param->use_pixman;
|
||||
|
||||
if (weston_compositor_init(&ec->base, display, argc, argv,
|
||||
|
@ -1,6 +1,7 @@
|
||||
[core]
|
||||
#modules=xwayland.so,cms-colord.so
|
||||
#shell=desktop-shell.so
|
||||
#gbm-format=xrgb2101010
|
||||
|
||||
[shell]
|
||||
background-image=/usr/share/backgrounds/gnome/Aqua.jpg
|
||||
|
Loading…
Reference in New Issue
Block a user