Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Instructions

  1. To build wayland-protocols with 1.18 version(Required for weston 7.0.0):
    1. Copy wayland-protocols_1.18.bb file in "meta-agl/meta-agl-bsp/recipes-graphics/wayland" path.
  2. To build Weston with Transmitter-backend:
    1. Copy  weston_7.0.0.bb  file in "meta-agl/meta-agl-profile-graphical/recipes-graphics/wayland/" path.
    2.  Add below line in local.conf
      BBMASK += "${METADIR}/meta-agl/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend"
  3. To Build wayland-ivi-extension compatible with  weston 7.0.0:
    1. For AGL 8.0.2: Apply 0001-make-ivi-extension-compatible-with-weston-7.0.0.patch in "meta-agl/" folder.
  4. Rebuild weston and wayland-ivi-extension and copy the libraries to target

    $bitbake -c cleansstate weston wayland-ivi-extension
    $bitbake wayland-ivi-extension
  5. copy waltham libraries
    build/tmp/work/aarch64-agl-linux/waltham/git-r0/image/usr/* to target /usr

  6. run, use below files in rcar board:
    1. /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
    2. define pipeline

      1. jpeg enc/dec

        /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
        /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
      2. rcar specific HW end/dec
        This ticked should be fixed to use HW setup on v8.0.2. https://jira.automotivelinux.org/browse/SPEC-2934

        /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
        /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
  7. Command to run in following sequence:

    StepsTransmitter sideReceiver side
    1
    ifconfig eth0 192.168.2.51

    2
    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
    weston --tty=2 &
    layer-add-surfaces  1 1 &
    EGLWLMockNavigation

Issues and Limitations

  1. 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.
  2. EGLWLInputEventExample doen't appear at first frame need mouse to be connected.
    → ADIT has a patch to fix it.
  3. When weston run without receiver side, weston dump core occasionally.
    → ADIT has a patch to fix it.
  4. weston gets hang occasionally. In this case, if you execute LayerManagerControl, it has never returned.
    → ADIT has a patch to fix it.
  5. 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.

Q&A

How to change ip address of receiver (server) side?

Tow files in transmitter side should be changed.

  • weston.ini for waltham protocol itself.
    • [transmitter-output]
      server-address=192.168.2.52
  • transmitter_pipeline.cfg for gstreamer.
    • udpsink name=sink host=192.168.2.52

Todo

waltham transmitter recipe has unnecessary dependency. gstreamer and gstreamer1.0. should be one.


  • No labels