Winit 后端使用 winit库与窗口系统进行交互。
Winit 后端几乎支持所有相关的操作系统和窗口系统,包括 macOS、Windows、使用 Wayland 和 X11 的 Linux。
Winit 后端支持不同的渲染器。可以通过 SLINT_BACKEND 环境变量显式选择要使用的渲染器。
| 渲染器名称 | 支持/需要的图形 API | 选择渲染器的 SLINT_BACKEND 值 |
|---|---|---|
| FemtoVG | OpenGL | winit-femtovg |
| FemtoVG (WGPU) | Metal、Direct3D、Vulkan,使用 (http://wgpu.rs) | winit-femtovg-wgpu |
| Skia | OpenGL、Metal、Direct3D、软件渲染 | winit-skia |
| Skia Software | 仅使用 Skia 进行软件渲染 | winit-skia-software |
| Skia OpenGL | 使用 Skia 进行 OpenGL渲染(在 iOS 上不支持) | winit-skia-opengl |
| software | 软件渲染,不需要 GPU | winit-software |
如果没有显式设置渲染器,后端将首先尝试使用 Skia渲染器(如果在编译时已启用)。 如果失败,将回退到 FemtoVG渲染器;如果再次失败,则使用 software渲染器。
配置选项
Winit 后端读取并解释以下环境变量:
| 名称 | 接受的值 | 描述 |
|---|---|---|
SLINT_FULLSCREEN | 任意值 | 如果设置了此变量,每个窗口都以全屏模式显示。 |
Linux依赖
在 Linux 上,Winit 后端需要 X11 或 Wayland 可用。 可以在编译时通过设置 backend-winit-x11 或 backend-winit-wayland feature 来启用或禁用相应的支持(代替 backend-winit)。
对于 X11,需要以下运行时依赖:libx11-xcb、xinput、libxcursor、libxkbcommon-x11、libx11。 在基于 Debian 的系统上,可以使用以下命令安装:
终端窗口
bash
sudo apt install libx11-xcb-dev xinput libxcursor-dev libxkbcommon-x11-dev libx11-dev