weston: Changes to 'upstream-unstable'
configure.ac | 2
man/Makefile.am | 9 -
man/weston.ini.man | 332 +++++++++++++++++++++++++++++++++++++++++++++
src/compositor-drm.c | 36 ----
src/weston-launch.c | 2
tests/weston-test-runner.c | 6
6 files changed, 345 insertions(+), 42 deletions(-)
New commits:
commit e4cd90e6bd5ac72a40d87f7da2cd1fd9c8455513
Author: Kristian Høgsberg <krh@bitplanet.net>
Date: Thu Jan 24 20:32:30 2013 -0500
configure.ac: Bump version to 1.0.4
diff --git a/configure.ac b/configure.ac
index 490ae2a..120185b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.64])
AC_INIT([weston],
- [1.0.3],
+ [1.0.4],
[https://bugs.freedesktop.org/enter_bug.cgi?product=weston],
[weston],
[http://wayland.freedesktop.org/])
commit 6828711c4c281459e4a4bee33aed2911d608239d
Author: Scott Moreau <oreaus@gmail.com>
Date: Mon Jan 21 23:40:59 2013 -0700
weston-launch: Use "weston-launch" for --help instead of "weston".
The output of weston-launch --help was "Usage: weston [args...] ...".
This changes it to read "Usage: weston-launch [args...] ...".
diff --git a/src/weston-launch.c b/src/weston-launch.c
index 6d1f7c3..583e85a 100644
--- a/src/weston-launch.c
+++ b/src/weston-launch.c
@@ -541,7 +541,7 @@ main(int argc, char *argv[])
sleep_fork = 10;
break;
case 'h':
- help("weston");
+ help("weston-launch");
exit(1);
}
}
commit a533a85820cc78cc912cbe47b9cd88f26648c4ec
Author: Pekka Paalanen <ppaalanen@gmail.com>
Date: Tue Dec 18 17:30:16 2012 +0200
tests: make signal other than ABRT a hard failure
We handle FAIL_TEST tests by simply inverting the success flag. The
problem with this is, that if a FAIL_TEST fails by a SIGSEGV, it will be
interpreted as passed. However, no code should ever cause a SEGV, or any
other signal than ABRT. And even ABRT only in the case of an assert()
that is meant to fail. We would probably need more sophistication for the
FAIL_TEST cases.
For now, just interpret any other signal than ABRT as a hard failure,
regardless whether it is a TEST or FAIL_TEST. At least segfaults do not
cause false passes anymore.
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/tests/weston-test-runner.c b/tests/weston-test-runner.c
index e60d4d2..27ea9e4 100644
--- a/tests/weston-test-runner.c
+++ b/tests/weston-test-runner.c
@@ -28,6 +28,7 @@
#include <string.h>
#include <assert.h>
#include <errno.h>
+#include <signal.h>
#include "weston-test-runner.h"
extern const struct weston_test __start_test_section, __stop_test_section;
@@ -71,6 +72,7 @@ int main(int argc, char *argv[])
pass = 0;
for (t = &__start_test_section; t < &__stop_test_section; t++) {
int success = 0;
+ int hardfail = 0;
pid = fork();
assert(pid >= 0);
@@ -93,13 +95,15 @@ int main(int argc, char *argv[])
case CLD_KILLED:
case CLD_DUMPED:
fprintf(stderr, "signal %d", info.si_status);
+ if (info.si_status != SIGABRT)
+ hardfail = 1;
break;
}
if (t->must_fail)
success = !success;
- if (success) {
+ if (success && !hardfail) {
pass++;
fprintf(stderr, ", pass.\n");
} else
commit f03435717c6cf6627cb34eb16b21096b026f944b
Author: Martin Minarik <minarik11@student.fiit.stuba.sk>
Date: Fri Jan 18 18:44:29 2013 +0100
Weston: weston.ini.man page
changes:
- launcher path, passing environment variables and parameter
- indent modeline example
diff --git a/man/Makefile.am b/man/Makefile.am
index 4d84db1..8243776 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -1,4 +1,4 @@
-man_MANS = weston.1
+man_MANS = weston.1 weston.ini.5
if ENABLE_DRM_COMPOSITOR
man_MANS += weston-drm.7
@@ -8,14 +8,17 @@ MAN_SUBSTS = \
-e 's|__weston_modules_dir__|$(pkglibdir)|g' \
-e 's|__version__|$(PACKAGE_VERSION)|g'
-SUFFIXES = .1 .7 .man
+SUFFIXES = .1 .5 .7 .man
.man.1:
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
+.man.5:
+ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
+
.man.7:
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
-EXTRA_DIST = weston.man weston-drm.man
+EXTRA_DIST = weston.man weston-drm.man weston.ini.man
CLEANFILES = $(man_MANS)
diff --git a/man/weston.ini.man b/man/weston.ini.man
new file mode 100644
index 0000000..7699e35
--- /dev/null
+++ b/man/weston.ini.man
@@ -0,0 +1,332 @@
+.\" shorthand for double quote that works everywhere.
+.ds q \N'34'
+.TH weston.ini 5 "2013-01-17" "Weston __version__"
+.SH NAME
+weston.ini \- configuration file for
+.B Weston
+\- the reference Wayland
+compositor
+.SH INTRODUCTION
+.B Weston
+obtains configuration from its command line parameters and the configuration
+file described here.
+.SH DESCRIPTION
+.B Weston
+uses a configuration file called
+.I weston.ini
+for its setup.
+The
+.I weston.ini
+configuration file is searched for in one of the following places when the
+server is started:
+.PP
+.RS 4
+.nf
+.BR "$XDG_CONFIG_HOME/weston.ini " "(if $XDG_CONFIG_HOME is set)"
+.BR "$HOME/.config/weston.ini " "(if $HOME is set)"
+.BR "<current dir>/weston.ini " "(if both variables were not set)"
+.fi
+.RE
+.PP
+where environment variable
+.B $HOME
+is the user's home directory, and
+.B $XDG_CONFIG_HOME
+is the user specific configuration directory.
+.PP
+The
+.I weston.ini
+file is composed of a number of sections which may be present in any order, or
+omitted to use default configuration values. Each section has the form:
+.PP
+.RS 4
+.nf
+.BI [ SectionHeader ]
+.RI Key1=Value1
+.RI Key2=Value2
+ ...
+.fi
+.RE
+.PP
+The spaces are significant.
+Comment lines are ignored:
+.PP
+.RS 4
+.nf
+.IR "#comment"
+.fi
+.RE
+.PP
+The section headers are:
+.PP
+.RS 4
+.nf
+.BR "core " "The core modules"
+.BR "shell " "Desktop customization"
+.BR "launcher " "Add launcher to the panel"
+.BR "screensaver " "Screensaver selection"
+.BR "output " "Output configuration"
+.BR "input-method " "Onscreen keyboard input"
+.BR "keyboard " "Keyboard layouts"
+.BR "terminal " "Terminal application options"
+.fi
+.RE
+.PP
+Possible value types are string, signed and unsigned 32-bit
+integer, and boolean. Strings must not be quoted, do not support any
+escape sequences, and run till the end of the line. Integers can
+be given in decimal (e.g. 123), octal (e.g. 0173), and hexadecimal
+(e.g. 0x7b) form. Boolean values can be only 'true' or 'false'.
+.RE
+.SH "CORE SECTION"
+The
+.B core
+section is used to select the startup compositor modules.
+.TP 7
+.BI "modules=" desktop-shell.so,xwayland.so
+specifies the modules to load (string). Available modules in the
+.IR "__weston_modules_dir__"
+directory are:
+.PP
+.RS 10
+.nf
+.BR desktop-shell.so
+.BR tablet-shell.so
+.BR xwayland.so
+.fi
+.RE
+.RS
+.PP
+
+.SH "SHELL SECTION"
+The
+.B shell
+section is used to customize the compositor. Some keys may not be handled by
+different shell plugins.
+.PP
+The entries that can appear in this section are:
+.TP 7
+.BI "background-image=" file
+sets the path for the background image file (string).
+.TP 7
+.BI "background-color=" 0xAARRGGBB
+sets the color of the background (unsigned integer). The hexadecimal
+digit pairs are in order alpha, red, green, and blue.
+.TP 7
+.BI "panel-color=" 0xAARRGGBB
+sets the color of the panel (unsigned integer). The hexadecimal
+digit pairs are in order transparency, red, green, and blue. Examples:
+.PP
+.RS 10
+.nf
+.BR "0xffff0000 " "Red"
+.BR "0xff00ff00 " "Green"
+.BR "0xff0000ff " "Blue"
+.BR "0x00ffffff " "Fully transparent"
+.fi
+.RE
+.TP 7
+.BI "locking=" true
+enables screen locking (boolean).
+.TP 7
+.BI "animation=" zoom
+sets the effect used for opening new windows (string). Can be
+.B zoom,
+.B fade.
+Otherwise, no animation is used.
+.TP 7
+.BI "binding-modifier=" ctrl
+sets the modifier key used for common bindings (string), such as moving
+surfaces, resizing, rotating, switching, closing and setting the transparency
+for windows, controlling the backlight and zooming the desktop. Possible values:
+ctrl, alt, super (default)
+.TP 7
+.BI "num-workspaces=" 6
+defines the number of workspaces (unsigned integer). The user can switch
+workspaces by using the
+binding+F1, F2 keys. If this key is not set, fall back to one workspace.
+.TP 7
+.BI "lockscreen-icon=" path
+sets the path to lock screen icon image (string). (tablet shell only)
+.TP 7
+.BI "lockscreen=" path
+sets the path to lock screen background image (string). (tablet shell only)
+.TP 7
+.BI "homescreen=" path
+sets the path to home screen background image (string). (tablet shell only)
+.RE
+.SH "LAUNCHER SECTION"
+There can be multiple launcher sections, one for each launcher.
+.TP 7
+.BI "icon=" icon
+sets the path to icon image (string). Svg images are not currently supported.
+.TP 7
+.BI "path=" program
+sets the path to the program that is run by clicking on this launcher (string).
+It is possible to pass arguments and environment variables to the program. For
+example:
+.nf
+.in +4n
+
+path=GDK_BACKEND=wayland gnome-terminal --full-screen
+.in
+.fi
+.PP
+.RE
+.SH "SCREENSAVER SECTION"
+The
+.B screensaver
+section is used to select and schedule a screensaver.
+The
+.B screensaver
+section is optional, as are all of the entries that may be specified in
+it.
+.TP 7
+.BI "path=" /usr/libexec/weston-screensaver
+This instructs the compositor to use the selected screensaver client on a given
+path (string). If this line is missing or commented out, the screensaver in
+.B "weston(1)"
+is disabled.
+.RE
+.TP 7
+.BI "duration=" 600
+The idle time in seconds until the screensaver disappears in order to save power
+(unsigned integer).
+.SH "OUTPUT SECTION"
+There can be multiple output sections, each corresponding to one output. It is
+currently only recognized by the drm and x11 backends.
+.TP 7
+.BI "name=" name
+sets a name for the output (string). The backend uses the name to
+identify the output. All X11 output names start with a letter X. The available
+output names for DRM backend are listed in the
+.B "weston-launch(1)"
+output.
+Examples of usage:
+.PP
+.RS 10
+.nf
+.BR "LVDS1 " "DRM backend, Laptop internal panel no.1"
+.BR "VGA1 " "DRM backend, VGA connector no.1"
+.BR "X1 " "X11 backend, X window no.1"
+.fi
+.RE
+.RS
+.PP
+See
+.B "weston-drm(7)"
+for more details.
+.RE
+.TP 7
+.BI "mode=" mode
+sets the output mode (string). The mode parameter is handled differently
+depending on the backend. On the X11 backend, it just sets the WIDTHxHEIGHT of
+the weston window.
+The DRM backend accepts different modes:
+.PP
+.RS 10
+.nf
+.BR "WIDTHxHEIGHT " "Resolution size width and height in pixels"
+.BR "preferred " "Uses the preferred mode"
+.BR "current " "Uses the current crt controller mode"
+.BR "off " "Disables the output"
+.fi
+.RE
+.RS
+.PP
+Optionally, an user may specify a modeline, such as:
+.PP
+.nf
+.in +4n
+.nf
+173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
+.fi
+.in
+.PP
+It consists of the refresh rate in Hz, horizontal and vertical resolution,
+options for horizontal and vertical synchronisation. The program
+.B "cvt(1)"
+can provide suitable modeline string.
+.RE
+.TP 7
+.BI "transform=" normal
+The transformation applied to screen output (string). The transform key can
+be one of the following 8 strings:
+.PP
+.RS 10
+.nf
+.BR "normal " "Normal output."
+.BR "90 " "90 degrees clockwise."
+.BR "180 " "Upside down."
+.BR "270 " "90 degrees counter clockwise."
+.BR "flipped " "Horizontally flipped"
+.BR "flipped-90 " "Flipped and 90 degrees clockwise"
+.BR "flipped-180 " "Flipped upside down"
+.BR "flipped-270 " "Flipped and 90 degrees counter clockwise"
+.fi
+.RE
+.SH "INPUT-METHOD SECTION"
+.TP 7
+.BI "path=" "/usr/libexec/weston-keyboard"
+sets the path of the on screen keyboard input method (string).
+.RE
+.RE
+.SH "KEYBOARD SECTION"
+This section contains the following keys:
+.TP 7
+.BI "keymap_rules=" "evdev"
+sets the keymap rules file (string). Used to map layout and model to input
+device.
+.RE
+.RE
+.TP 7
+.BI "keymap_model=" "pc105"
+sets the keymap model (string). See the Models section in
+.B "xkeyboard-config(7)."
+.RE
+.RE
+.TP 7
+.BI "keymap_layout=" "us,de,gb"
+sets the comma separated list of keyboard layout codes (string). See the
+Layouts section in
+.B "xkeyboard-config(7)."
+.RE
+.RE
+.TP 7
+.BI "keymap_variant=" "euro,,intl"
+sets the comma separated list of keyboard layout variants (string). The number
+of variants must be the same as the number of layouts above. See the Layouts
+section in
+.B "xkeyboard-config(7)."
+.RE
+.RE
+.TP 7
+.BI "keymap_options=" "grp:alt_shift_toggle,grp_led:scroll"
+sets the keymap options (string). See the Options section in
+.B "xkeyboard-config(7)."
+.RE
+.RE
+.SH "TERMINAL SECTION"
+Contains settings for the weston terminal application (weston-terminal). It
+allows to customize the font and shell of the command line interface.
+.TP 7
+.BI "font=" "DejaVu Sans Mono"
+sets the font of the terminal (string). For a good experience it is recommend
+to use monospace fonts. In case the font is not found, the default one is used.
+.RE
+.RE
+.TP 7
+.BI "font-size=" "14"
+sets the size of the terminal font (unsigned integer).
+.RE
+.RE
+.TP 7
+.BI "term=" "xterm-256color"
+The terminal shell (string). Sets the $TERM variable.
+.RE
+.RE
+.SH "SEE ALSO"
+.BR weston (1),
+.BR weston-launch (1),
+.BR weston-drm (7),
+.BR xkeyboard-config (7)
commit a0c8799a456ed04b0aee1f741f8e82201e631ce0
Author: Ning Tang <ning.tang@intel.com>
Date: Thu Dec 27 15:36:35 2012 +0800
compositor-drm: Remove drm_disable_unused_sprites()
If a sprite is no longer used, it is disabled on the call to
drmModeSetPlane() when doing the output repaint, since its
pending_fb_id is 0.
This patch is a backport patch on weston 1.0.
Originally from Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
commit 3b2bd44d924744fa4635390e91afe569351e7d8d
Some platform has a heavy CPU load caused by redundant drmModeRmFB,
which is called in drm_disable_unused_sprites and would trigger drm_err.
Signed-off-by: Ning Tang <ning.tang@intel.com>
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 1fa822a..48b2685 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -184,8 +184,6 @@ struct drm_seat {
static void
drm_output_set_cursor(struct drm_output *output);
-static void
-drm_disable_unused_sprites(struct weston_output *output_base);
static int
drm_sprite_crtc_supported(struct weston_output *output_base, uint32_t supported)
@@ -455,8 +453,6 @@ drm_output_repaint(struct weston_output *output_base,
output->vblank_pending = 1;
}
- drm_disable_unused_sprites(&output->base);
-
return;
}
@@ -564,38 +560,6 @@ drm_surface_transform_supported(struct weston_surface *es)
return 1;
}
-static void
-drm_disable_unused_sprites(struct weston_output *output_base)
-{
- struct weston_compositor *ec = output_base->compositor;
- struct drm_compositor *c =(struct drm_compositor *) ec;
- struct drm_output *output = (struct drm_output *) output_base;
- struct drm_sprite *s;
- int ret;
-
- wl_list_for_each(s, &c->sprite_list, link) {
- if (s->pending_fb_id)
- continue;
-
- ret = drmModeSetPlane(c->drm.fd, s->plane_id,
- output->crtc_id, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0);
- if (ret)
- weston_log("failed to disable plane: %d: %s\n",
- ret, strerror(errno));
- drmModeRmFB(c->drm.fd, s->fb_id);
-
- if (s->surface) {
- s->surface = NULL;
- wl_list_remove(&s->destroy_listener.link);
- }
-
- assert(!s->pending_surface);
- s->fb_id = 0;
- s->pending_fb_id = 0;
- }
-}
-
static struct weston_plane *
drm_output_prepare_overlay_surface(struct weston_output *output_base,
struct weston_surface *es)
Reply to: