From 7f8b394a694491ffd94874c26fa83057efaa0dfc Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Wed, 18 Oct 2017 09:38:05 -0400 Subject: weston-ini-conf: Rework to use fragments to construct weston.ini MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Switch to constructing the weston.ini from fragments of files instead of variables and variable flags. This allows for much easier tracking of signatures by leveraging existing mechanisms. Update the Readme to explain how to do the various operations with fragments as well. Note that for QEMU we do not need to pass -show-cursor as it's already provided and we do want to change the VGA driver to one that reliably provides DRM support. For the HDMI connected screens, rather than name them by vendor name them first for connection and then required transformation for correct orientation. For board-specific options, move them to the board directories. When we need to change existing cfg options, rather than replace them the proper location to do this in is the do_configure function. Bug-AGL: SPEC-964 Change-Id: I2cceb4fd64f51eb2ab1d47419b77153cf02d7c12 Signed-off-by: Tom Rini Reviewed-on: https://gerrit.automotivelinux.org/gerrit/11375 Reviewed-by: Stéphane Desneux Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller --- meta-agl-bsp/conf/include/agl_qemux86-64.inc | 4 ++-- .../wayland/weston-ini-conf.bbappend | 11 +++++---- .../wayland/weston-ini-conf/fbdev.cfg | 3 +++ .../wayland/weston-ini-conf.bbappend | 7 +++--- .../wayland/weston-ini-conf.bbappend | 7 ++---- .../wayland/weston-ini-conf/dsi.cfg | 5 ++++ .../wayland/weston-ini-conf.bbappend | 16 +++++-------- .../wayland/weston-ini-conf/v4l2-renderer.cfg | 3 +++ .../wayland/weston-ini-conf.bbappend | 9 +++---- .../wayland/weston-ini-conf/lvds-off.cfg | 3 +++ .../wayland/weston-ini-conf.bbappend | 8 ++++++- .../wayland/weston-ini-conf/unnamed.cfg | 3 +++ .../wayland/weston-ini-conf.bbappend | 22 ++++++----------- .../wayland/weston-ini-conf/virtual.cfg | 17 +++++++++++++ .../wayland/weston/weston-qemu-drm.ini | 28 ---------------------- 15 files changed, 70 insertions(+), 76 deletions(-) create mode 100644 meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-ini-conf/fbdev.cfg create mode 100644 meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg create mode 100644 meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf/v4l2-renderer.cfg create mode 100644 meta-agl-bsp/meta-renesas/recipes-graphics/wayland/weston-ini-conf/lvds-off.cfg create mode 100644 meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf/unnamed.cfg create mode 100644 meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtual.cfg delete mode 100644 meta-agl-bsp/recipes-graphics/wayland/weston/weston-qemu-drm.ini (limited to 'meta-agl-bsp') diff --git a/meta-agl-bsp/conf/include/agl_qemux86-64.inc b/meta-agl-bsp/conf/include/agl_qemux86-64.inc index 513462e50..3ad9c513f 100644 --- a/meta-agl-bsp/conf/include/agl_qemux86-64.inc +++ b/meta-agl-bsp/conf/include/agl_qemux86-64.inc @@ -26,5 +26,5 @@ AGL_EXTRA_IMAGE_FSTYPES = "vmdk.xz" # Root device ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02" -# runqemu tweaks -QB_OPT_APPEND_append = " -show-cursor" +# Force the virtio video device as 'vmware' doesn't always work +QB_OPT_APPEND_append = " -vga virtio" diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-ini-conf.bbappend index 14f4c2736..ec6cbaccc 100644 --- a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-ini-conf.bbappend +++ b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-ini-conf.bbappend @@ -1,10 +1,11 @@ # Currently only works with fbdev backend # and only one default output -WESTONCORE[backend] = "fbdev-backend.so" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -SCREEN_fbdev[name] = "fbdev" -SCREEN_fbdev[transform] = "270" -WESTONOUTPUT1[agl_screen] = "SCREEN_fbdev" +SRC_URI_remove = "file://hdmi-a-1-270.cfg" +SRC_URI += "file://fbdev.cfg" -do_generate_weston_init[vardeps] += "SCREEN_fbdev" +do_configure() { + sed -i -e 's/drm-backend/fbdev-backend/' ${WORKDIR}/core.cfg +} diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-ini-conf/fbdev.cfg b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-ini-conf/fbdev.cfg new file mode 100644 index 000000000..b1a1f3cc9 --- /dev/null +++ b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-ini-conf/fbdev.cfg @@ -0,0 +1,3 @@ +[output] +name=fbdev +transform=270 diff --git a/meta-agl-bsp/meta-intel/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-intel/recipes-graphics/wayland/weston-ini-conf.bbappend index 731578e39..007671977 100644 --- a/meta-agl-bsp/meta-intel/recipes-graphics/wayland/weston-ini-conf.bbappend +++ b/meta-agl-bsp/meta-intel/recipes-graphics/wayland/weston-ini-conf.bbappend @@ -1,4 +1,3 @@ -# Select default screen type and orientation -# and only one default output - -WESTONOUTPUT1[agl_screen] = "SCREEN_eGalax" +# Select a different rotation for our default panel. +SRC_URI_remove = "file://hdmi-a-1-270.cfg" +SRC_URI += "file://hdmi-a-1-90.cfg" diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend index 37383c24d..33dfd6a23 100644 --- a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend +++ b/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend @@ -1,6 +1,3 @@ -# Disable LVDS -WESTONOUTPUT2[agl_screen] ??= "SCREEN_DSI" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -WESTONSECTION[WESTONOUTPUT2] = "output" - -do_generate_weston_init[vardeps] += "WESTONOUTPUT2" +SRC_URI += "file://dsi.cfg" diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg b/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg new file mode 100644 index 000000000..72a6d2bf8 --- /dev/null +++ b/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg @@ -0,0 +1,5 @@ +# Support the Raspberry Pi Foundation 7" tablet which uses the DSI connector +# rather than HDMI. +[output] +name=DSI-1 +transform=270 diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf.bbappend index 661af2b92..78be21187 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf.bbappend @@ -1,14 +1,10 @@ -WESTONCORE[repaint-window] ??= "34" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -WESTONIVISHELL[transition-duration] ??= "300" -WESTONIVISHELL[cursor-theme] ??= "default" +SRC_URI += "${@bb.utils.contains("MACHINE_FEATURES", "multimedia", "file://v4l2-renderer.cfg", "",d)}" -WESTONV4L2RENDERER[device] ??= "/dev/media0" -WESTONV4L2RENDERER[device-module] ??= "vsp2" +do_configure() { + echo repaint-window=34 >> ${WORKDIR}/core.cfg -python() { - if "multimedia" in d.getVar("MACHINE_FEATURES", True).split(" "): - d.setVarFlag("WESTONSECTION", "WESTONV4L2RENDERER", "v4l2-renderer") + echo transition-duration=300 >> ${WORKDIR}/ivishell.cfg + echo cursor-theme=default >> ${WORKDIR}/ivishell.cfg } - -do_generate_weston_init[vardeps] += "WESTONIVISHELL WESTONV4L2RENDERER" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf/v4l2-renderer.cfg b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf/v4l2-renderer.cfg new file mode 100644 index 000000000..135f2303c --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf/v4l2-renderer.cfg @@ -0,0 +1,3 @@ +[v4l2-renderer] +device=/dev/media0 +device-module=vsp2 diff --git a/meta-agl-bsp/meta-renesas/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-renesas/recipes-graphics/wayland/weston-ini-conf.bbappend index 4a049482e..d92f7846e 100644 --- a/meta-agl-bsp/meta-renesas/recipes-graphics/wayland/weston-ini-conf.bbappend +++ b/meta-agl-bsp/meta-renesas/recipes-graphics/wayland/weston-ini-conf.bbappend @@ -1,7 +1,4 @@ -# Disable LVDS -WESTONOUTPUT2[name] = "LVDS-1" -WESTONOUTPUT2[mode] = "off" - -WESTONSECTION[WESTONOUTPUT2] = "output" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -do_generate_weston_init[vardeps] += "WESTONOUTPUT2" +# Disable LVDS +SRC_URI += "file://lvds-off.cfg" diff --git a/meta-agl-bsp/meta-renesas/recipes-graphics/wayland/weston-ini-conf/lvds-off.cfg b/meta-agl-bsp/meta-renesas/recipes-graphics/wayland/weston-ini-conf/lvds-off.cfg new file mode 100644 index 000000000..8c141139d --- /dev/null +++ b/meta-agl-bsp/meta-renesas/recipes-graphics/wayland/weston-ini-conf/lvds-off.cfg @@ -0,0 +1,3 @@ +[output] +name=LVDS-1 +mode=off diff --git a/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf.bbappend index e5f4927e1..914a87309 100644 --- a/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf.bbappend +++ b/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf.bbappend @@ -1 +1,7 @@ -DEFAULT_SCREEN[name] = "UNNAMED-1" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +# While we could have a panel attached to HDMI, we only use the default +# panel isntead. +SRC_URI_remove = "file://hdmi-a-1-270.cfg" +# Our DPI panel shows up as "UNNAMED-1" +SRC_URI += "file://unnamed.cfg" diff --git a/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf/unnamed.cfg b/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf/unnamed.cfg new file mode 100644 index 000000000..29544932e --- /dev/null +++ b/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf/unnamed.cfg @@ -0,0 +1,3 @@ +[output] +name=UNNAMED-1 +transform=270 diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend index dba2ad6b2..8fa08bc3b 100644 --- a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend +++ b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend @@ -1,17 +1,9 @@ -# OVERRIDES save us some c'n'p below ... -OVERRIDES_prepend_qemux86 = "customwestonini:" -OVERRIDES_prepend_qemux86-64 = "customwestonini:" -# intel-corei7-64 ?? - -python() { - if "customwestonini" in d.getVar("OVERRIDES", True).split(":"): - # DRM backend disabled for now to allow compatibility with VirtualBox - # and VMWare Player. It may be re-enabled if running on QEMU for - # potentially increased performance. - #backend=drm-backend.so - d.delVarFlag("WESTONCORE", "backend") - - d.setVarFlag("WESTONOUTPUT1","agl_screen", "SCREEN_QEMU") -} +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +# OVERRIDES save us some c'n'p below ... +OVERRIDES_prepend_qemux86 = "virtualmachine:" +OVERRIDES_prepend_qemux86-64 = "virtualmachine:" +# Switch to the Virtual section that we have when a valid DRM device is found +SRC_URI_remove_virtualmachine = "file://hdmi-a-1-270.cfg" +SRC_URI_append_virtualmachine = " file://virtual.cfg" diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtual.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtual.cfg new file mode 100644 index 000000000..776f295c8 --- /dev/null +++ b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtual.cfg @@ -0,0 +1,17 @@ +[output] +name=Virtual-1 +#mode=1920x1080 +#mode=1600x1200 +#mode=1680x1050 +#mode=1400x1050 +mode=1600x900 +#mode=1280x1024 +#mode=1440x900 +#mode=1280x960 +#mode=1360x768 +#mode=1280x800 +#mode=1280x768 +#mode=1280x720 +#mode=800x600 +#mode=848x480 +#mode=640x480 diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston/weston-qemu-drm.ini b/meta-agl-bsp/recipes-graphics/wayland/weston/weston-qemu-drm.ini deleted file mode 100644 index f502eff7a..000000000 --- a/meta-agl-bsp/recipes-graphics/wayland/weston/weston-qemu-drm.ini +++ /dev/null @@ -1,28 +0,0 @@ -[core] -shell=ivi-shell.so -# DRM backend disabled for now to allow compatibility with VirtualBox -# and VMWare Player. It may be re-enabled if running on QEMU for -# potentially increased performance. -#backend=drm-backend.so - -[ivi-shell] -ivi-module=ivi-controller.so -ivi-input-module=ivi-input-controller.so - -[output] -name=Virtual-1 -#mode=1920x1080 -#mode=1600x1200 -#mode=1680x1050 -#mode=1400x1050 -mode=1600x900 -#mode=1280x1024 -#mode=1440x900 -#mode=1280x960 -#mode=1360x768 -#mode=1280x800 -#mode=1280x768 -#mode=1280x720 -#mode=800x600 -#mode=848x480 -#mode=640x480 -- cgit 1.2.3-korg