问题标签 [wayland]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
148 浏览

opengl - 如何在不交换缓冲区的情况下等待下一个 v-blank?

在 X11 或 Wayland 上使用 EGL 的 OpenGL 应用程序中,有没有办法在不交换缓冲区的情况下等待下一个 v-blank?

我正在编写一个 OpenGL 应用程序,我只想在内容实际发生变化时重绘,即使我没有绘制任何东西,我仍然希望有一种方法以屏幕刷新率运行动画。

0 投票
3 回答
13667 浏览

linux - 使用 Wayland/Weston 列出屏幕分辨率

我正在将一些测试从 X11 移植到 Wayland,几乎没有关于如何列出支持的可用分辨率的信息。

所有使用 Wayland 和 EGL 的示例都手动指定要使用的屏幕分辨率。我想列出所有可用的分辨率并使用最好的。

谢谢,我没有找到任何东西。

0 投票
0 回答
463 浏览

graphics - Wayland 独立应用程序的最简单实现

我正在尝试制作一个嵌入式系统,它基本上是一个在带有触摸屏的 Raspberry Pi 上运行的图形应用程序。看起来 Wayland 是最好的选择,但它的文档充其量是缺乏且难以理解的,过时且最坏的情况是糟糕的。

因此我在这里问,如何制作 Wayland 的最基本实现,让我只需启动一个全屏应用程序并基本上绘制和旋转模型?

我已经通过使用 WebGL 熟悉了 OpenGL,所以我最需要的是 Wayland 部分。

0 投票
1 回答
190 浏览

c++ - 启动 Weston 时无法开始调试

从命令行启动 Weston 时启动调试会话会出现以下错误:无法开始调试。无法初始化调试器终端。

我需要在 main 的开头设置一个断点(或使用“stopAtEntry”:true),当停止时我需要手动启动 Weston 并继续我的调试会话。

有什么办法可以避免吗?

Ubuntu 16.04、C++、Visual Studio 代码 1.17

0 投票
0 回答
902 浏览

gnome - Wayland 表面位置

我知道 Wayland 协议不提供控制屏幕上外壳表面位置的选项。我想找到一种控制窗口/表面放置的方法。我尝试过 xdotool 和 wmctrl 之类的工具,但它们只能识别 XWayland 窗口。我正在使用 Gnome Shell,所以窗口管理器是 Mutter。为什么地面位置不是 Wayland 协议的一部分?以编程方式控制 Wayland 表面放置的建议方法是什么?

编辑:

Wayland 客户端协议为子表面提供了接口,目前足以满足我的目的。但是窗口我希望协议包含顶级窗口位置选项。我可以用javascript制作gnome-shell扩展吗?但在这种情况下并不是一个真正的选择。

0 投票
1 回答
1761 浏览

gstreamer - 在 Linux 中的 Wayland 客户端上显示 FPS

我想问一下我正在使用 Gstreamer 使用 fpsdisplaysink 在 Linux 终端上显示播放视频的 FPS(帧率。但现在,我想在屏幕上显示 FPS(通过韦斯顿背景下的 Wayland 客户端)。任何人都可以帮忙吗?谢谢。 在此处输入图像描述

编辑:下面是用 C 编写的源 gstreamer。

我尝试了上面的代码,但它似乎不起作用。

0 投票
1 回答
887 浏览

python - 无法获取 GtkDrawingArea 小部件的 xid

我正在尝试在 Python 3.6 中使用 python-vlc 和 Gtk 创建一个 GUI 应用程序。但是当我尝试访问我的 GtkDrawingArea 小部件的 xid (将它与我的播放器屏幕绑定)时,我收到一条错误消息

AttributeError:“GdkWaylandWindow”对象没有属性“get_xid”

这是我试图获取 GtkDrawingArea 小部件的 xid 的代码部分:

那么,如何将我的播放器与这个小部件绑定?

PS - 我使用 Ubuntu 17.10 作为我的操作系统,默认情况下使用 Gnome shell。

0 投票
0 回答
788 浏览

c - 在 C 中的 Wayland 曲面上绘制文本

我是 Wayland 编程的新手。目前,我想创建一个应用程序,它可以在 Wayland 客户端的表面上显示播放视频的 FPS。 在此处输入图像描述

首先,我使用 Gstreamer 读取 fps。我已经执行了两种获取 FPS 的方法:

[1] 使用定时器

我使用回调函数来计算 FPS 并尝试使用textoverlay元素显示在正在播放的视频上,但它失败了。

[2] 使用fpsdisplaysink

我设置了 fpsdisplaysink 的属性(“text-overlay”为 TRUE),但它仍然失败。FPS 值根本不显示。

其次,我尝试创建一个 Wayland 客户端(在 Weston 背景上运行)以在屏幕上显示 FPS(如上图 - 只是演示)。但我不知道这样做的方法。根据我在互联网上的调查,我可能会使用cairo lib 通过函数(cairo_show_textcairo_show_glyphs)绘制文本。

任何人都可以帮助我吗?谢谢。

0 投票
1 回答
281 浏览

surface - 区分 wl_surface、wl_shell_surface 和 cairo_surface

你能帮我在这些表面之间做出区别吗?什么是顶部/父表面?如何按顺序创建和销毁每个表面?

0 投票
1 回答
243 浏览

cairo - cairo_surface 可以附加在 wl_shell_surface 上吗?

我正在使用 cairo_surface (cairo_surface_t) 和 wl_shell_surface 在 Wayland 客户端的表面上显示一个对象。那么你能区分这些表面类型吗?它们必须一起存在,或不同类型的表面。谢谢你的帮助。