virtio-wayland

2024-04-26 18:28
文章标签 virtio wayland

本文主要是介绍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
运行

这篇关于virtio-wayland的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/938323

相关文章

【虚拟化】AIO主机安装PVE8,配置网络,安装win11(virtio,qcow2,scsi,oobe,adk)

【虚拟化】AIO主机安装PVE8,配置网络,安装win11(virtio,qcow2,scsi,oobe,adk) 文章目录 1、ESXI vs PVE,AIO主机系统二选一2、PVE网络配置(DNS,换源,网卡,https,概览)3、win11虚拟化配置(virtio,raw,qcow2)附,域名解析,rocky9.4,黑群晖 1、ESXI vs PVE,AIO主机系统二选

linux下查看您当前是 Xorg(X11) 还是 Wayland方法

linux下查看您当前是 Xorg(X11) 还是 Wayland方法 方法如下(都是终端执行): echo $XDG_SESSION_TYPE 如果输出为wayland,则当前在 Wayland 环境中。 如果输出为x11,则当前在 X11 环境中。 或者 systemctl status display-manager 或者 loginctl show-session $(lo

Linux Graphic DRI Wayland 显示子系统

1. 前言 上篇文章(Linux graphic subsytem(1)_概述)介绍了linux图形子系统基本的软件框架,以及GUI、Windowing system、3D渲染等基本概念。文中提到了linux DRI(Direct Render Infrastructure)框架,但限于篇幅,没有过多介绍。 蜗蜗觉得,DRI在当前(或者说将来)的linux图形子系统中,有着举足轻重的地位,甚至

驱动开发系列14 - Wayland 详解

目录 一:概述 二:操作系统如何支持 Wayland 三:显卡驱动如何支持 Wayland  四:Wayland 协议介绍 一:概述         Wayland 是一种通信协议,规定了显示服务器与其客户端之间的通信,以及该协议的 C 语言库实现。使用 Wayland 协议的显示服务器称为 Wayland 合成器,因为它还执行合成窗口管理器的任务。         Way

X Window System与Wayland:深度解析现代图形界面的演变与革新

在探讨Linux和其他类Unix系统中的图形用户界面(GUI)实现时,X Window System(简称X11)和Wayland无疑是两大核心议题。本文将对X11与Wayland的历史背景、技术细节、以及它们在现代计算环境中的角色与影响进行深入分析,以期为读者提供一个全面的视角。 1. 历史背景与演变 X Window System:X11起源于1984年,由麻省理工学院(MIT)开发

DRM Wayland基本概念

1.linux系统中查看屏幕分辨率(通常是在设备树中进行配置的) #2代设备,实际物理尺寸-1.9英寸$cat /sys/class/graphics/fb0/virtual_size170,320#3代设备,实际物理尺寸-2.97英寸$cat /sys/class/graphics/fb0/virtual_size480,800 2.lcd外设选型参数 (1)物理尺寸(2)硬件

高性能网络SIG月度动态:自研 IPPROTO_SMC 贡献 Linux 社区,virtio 增加多项优化

高性能网络 SIG(Special Interest Group) :在这个万物互联的时代,云上的网络通信效率对各种服务至关重要,高性能网络兴趣组致力于利用 XDP、RDMA、VIRTIO 等新高效通信技术,结合软硬件一体化的思想,打造高性能网络协议栈,提升云计算时代数据中心应用的网络性能。 一、整体进展 本月高性能网络 SIG 的主要工作聚焦在 ANCK virtio 以及 SMC 上。

VirtFuzz:一款基于VirtIO的Linux内核模糊测试工具

关于VirtFuzz VirtFuzz是一款功能强大的Linux内核模糊测试工具,该工具使用LibAFL构建,可以利用VirtIO向目标设备的内核子系统提供输入测试用例,广大研究人员可以使用该工具测试Linux内核的安全性。 工具要求 1、Rust; 2、修补的QEMU; 3、Linux虚拟机系统镜像; 4、修补的内核; 环境配置 修补的QEMU 针对VirtIO设备的QEM

Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.4 创建Virtio和fw_cfg虚拟化环境

1. 概述 到这个阶段,我们已经把U-boot给跑起来了,如果感兴趣的小伙伴可以去看看。 什么是virtio? QEMU virtio是QEMU(Quick EMUlator)虚拟化技术中用于提高I/O性能的一种机制。QEMU是一个开源的虚拟化软件,可以模拟完整的计算机系统,包括CPU、内存和各种I/O设备。QEMU virtio作为QEMU中的一部分,主要用于优化虚拟机与宿主机之间的I/

揭开Wayland的面纱(二):Wayland应运而生

转自:https://imtx.me/archives/1574.html  向经典致敬! ************************************************************************************************** 话说在上篇(揭开Wayland的面纱(一):X Window的前生今世)中我介绍了一些X Window的历