...
- To build wayland-protocols with 1.18 version(Required for weston 7.0.0):
- Copy wayland-protocols_1.18.bb file in "meta-agl/meta-agl-bsp/recipes-graphics/wayland" path.
- To build Weston with Transmitter-backend:
- Copy weston_7.0.0.bb file in "meta-agl/meta-agl-profile-graphical/recipes-graphics/wayland/" path.
- Add below line in local.conf
BBMASK += "${METADIR}/meta-agl/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend"
IMAGE_INSTALL_remove = " weston-conf"
- To Build wayland-ivi-extension compatible with weston 7.0.0:
- For AGL 8.0.2: Apply 0001-make-ivi-extension-compatible-with-weston-7.0.0.patch in "meta-agl/" folder.
OR
instead of above steps just checkout the below sandbox for met-agl below. The sand box has updated weston_7.0.0.bb file which fetch the latest source code with fixes.
Rebuild weston and wayland-ivi-extension and copy the libraries to target
Code Block $bitbake -c cleansstate weston wayland-ivi-extension $bitbake wayland-ivi-extension
copy waltham libraries
build/tmp/work/aarch64-agl-linux/waltham/git-r0/image/usr/* to target /usr- run, use below files in rcar board:
Code Block title /etc/xdg/weston/weston.ini [core] shell=ivi-shell.so backend=transmitter-backend.so require-input=false modules=ivi-controller.so #repaint-window=34 # A display is connected to HDMI-A-1 and needs to be rotated 270 degrees # to have a proper orientation of the homescreen. For example the various sizes # of the GeChic display or the Dell display. #[output] #name=HDMI-A-1 #transform=270 [desktop-app-default] default-surface-id=2000000 default-surface-id-max=2001000 [ivi-shell] ivi-input-module=ivi-input-controller.so ivi-id-agent-module=ivi-id-agent.so transition-duration=300 cursor-theme=default [shell] locking=true panel-position=none [transmitter-output] output-name=transmitter_1 server-address=192.168.2.52 port=34400 width=1920 height=1080
define pipeline
jpeg enc/dec
Code Block title /etc/xdg/weston/transmitter_pipeline.cfg on transitter side appsrc name=src max-bytes=0 ! vspfilter ! video/x-raw,format=I420 ! jpegenc ! rtpjpegpay ! udpsink name=sink host=192.168.2.52 port=34400 sync=false async=false
Code Block title /etc/xdg/weston/receiver_pipeline.cfg on receiver side udpsrc port=34400 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)JPEG,payload=(int)26" ! rtpjpegdepay ! jpegdec ! waylandsink name=sink
rcar specific HW end/dec
This ticked should be fixed to use HW setup on v8.0.2. https://jira.automotivelinux.org/browse/SPEC-2934Code Block title /etc/xdg/weston/transmitter_pipeline.cfg on transitter side appsrc name=src ! videoconvert ! video/x-raw,format=I420 ! omxh264enc bitrate=3000000 control-rate=2 ! rtph264pay ! udpsink name=sink host=192.168.2.52 port=34400 sync=false async=false
Code Block title /etc/xdg/weston/receiver_pipeline.cfg on receiver side udpsrc port=34400 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264,payload=(int)96" ! rtpjitterbuffer latency=0 ! rtph264depay ! h264parse config-interval=1 disable-passthrough=true ! omxh264dec no-reorder=true ! waylandsink name=sink
Command to run in following sequence:
Steps Transmitter side Receiver side 1 Code Block ifconfig eth0 192.168.2.51
2 Code Block systemctl stop weston ifconfig eth0 192.168.2.52 export XDG_RUNTIME_DIR=/tmp sleep 1 weston --tty=1 & sleep 1 waltham-receiver -p 34400 & sleep 1 layer-add-surfaces -s 1 -l 1 -d HDMI-A-1 &
3 Code Block weston --tty=2 & layer-add-surfaces 1 1 & EGLWLMockNavigation
...
- weston doesn't start from systemd service file.
→ ADIT has a patch to fix it. But still systemd notification doesn't work and should be fixed. - EGLWLInputEventExample doen't appear at first frame need mouse to be connected.
→ ADIT has a patch to fix it. - When weston run without receiver side, weston dump core occasionally.
→ ADIT has a patch to fix it. - weston gets hang occasionally. In this case, if you execute LayerManagerControl, is it has never returned.
→ ADIT has a patch to fix it. - waltham backend can transmitt only one surface. If virtual screen has two more surfaces, waltham backend does nothing.
→ ADIT has draft patches to composite multiple surfaces to one and transmit.
...