virtio-wayland

在这里插入图片描述

  • CrosVM是Chrome操作系统中,用于创建虚拟机的应用。是一个Rust编写的轻量级的虚拟机。借助于CrosVM
    用户可以很容易的在ChromeOS中运行Linux、Android以及Windows应用程序

概述

在这里插入图片描述

  • 目前crosvm实现了virtio wayland协议,实现了对linux虚拟机wayland协议支持
    Linux内核主线没有virtio_wl驱动,只有在chromiumos有virtio_wl驱动实现。
    https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-4.19/drivers/virtio/virtio_wl.c
#配套程序,等同于一个wayland server,接收wayland client连接并将socket消息转发到/dev/wl0
virtwl_guest_proxy
#guest驱动程序,对用户态暴露/dev/wl,提供VFD,与Host通过2VirtQueue交互(recv,send)
virtio_wl.ko

控制协议

#参考chromeos-4.19/include/uapi/linux/virtio_wl.h
VIRTIO_WL_CMD_VFD_NEW = 0x100, /* virtio_wl_ctrl_vfd_new */
VIRTIO_WL_CMD_VFD_CLOSE, /* virtio_wl_ctrl_vfd */
VIRTIO_WL_CMD_VFD_SEND, /* virtio_wl_ctrl_vfd_send + data */
VIRTIO_WL_CMD_VFD_RECV, /* virtio_wl_ctrl_vfd_recv + data */
VIRTIO_WL_CMD_VFD_NEW_CTX, /* virtio_wl_ctrl_vfd_new */
VIRTIO_WL_CMD_VFD_NEW_PIPE, /* virtio_wl_ctrl_vfd_new */
VIRTIO_WL_CMD_VFD_HUP, /* virtio_wl_ctrl_vfd */
VIRTIO_WL_CMD_VFD_NEW_DMABUF, /* virtio_wl_ctrl_vfd_new */
VIRTIO_WL_CMD_VFD_DMABUF_SYNC, /* virtio_wl_ctrl_vfd_dmabuf_sync */
VIRTIO_WL_CMD_VFD_SEND_FOREIGN_ID, /* virtio_wl_ctrl_vfd_send + data */
VIRTIO_WL_CMD_VFD_NEW_CTX_NAMED, /* virtio_wl_ctrl_vfd_new */
VIRTIO_WL_RESP_OK = 0x1000,
VIRTIO_WL_RESP_VFD_NEW = 0x1001, /* virtio_wl_ctrl_vfd_new */
VIRTIO_WL_RESP_VFD_NEW_DMABUF = 0x1002, /* virtio_wl_ctrl_vfd_new */
VIRTIO_WL_RESP_ERR = 0x1100,
VIRTIO_WL_RESP_OUT_OF_MEMORY,
VIRTIO_WL_RESP_INVALID_ID,
VIRTIO_WL_RESP_INVALID_TYPE,
VIRTIO_WL_RESP_INVALID_FLAGS,
VIRTIO_WL_RESP_INVALID_CMD,

前端

  • 没找到前端代码

后端

  • 后端crosvm实现了对wayland支持,参考:
    https://crosvm.dev/book/devices/wayland.html

Cuttlefish WL

  • Cuttlefish在启动时,已经使用virtio-wayland,用于host、guest间传递frame,该特性仅在crosvm支持,qemu不支持
#默认启动命令行
--wayland-sock=/cuttlefish_runtime.1/internal/frames.sock 

环境搭建

Kernel 5.16
Rootfs
运行

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值