问题标签 [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.
opengl - 如何在不交换缓冲区的情况下等待下一个 v-blank?
在 X11 或 Wayland 上使用 EGL 的 OpenGL 应用程序中,有没有办法在不交换缓冲区的情况下等待下一个 v-blank?
我正在编写一个 OpenGL 应用程序,我只想在内容实际发生变化时重绘,即使我没有绘制任何东西,我仍然希望有一种方法以屏幕刷新率运行动画。
linux - 使用 Wayland/Weston 列出屏幕分辨率
我正在将一些测试从 X11 移植到 Wayland,几乎没有关于如何列出支持的可用分辨率的信息。
所有使用 Wayland 和 EGL 的示例都手动指定要使用的屏幕分辨率。我想列出所有可用的分辨率并使用最好的。
谢谢,我没有找到任何东西。
graphics - Wayland 独立应用程序的最简单实现
我正在尝试制作一个嵌入式系统,它基本上是一个在带有触摸屏的 Raspberry Pi 上运行的图形应用程序。看起来 Wayland 是最好的选择,但它的文档充其量是缺乏且难以理解的,过时且最坏的情况是糟糕的。
因此我在这里问,如何制作 Wayland 的最基本实现,让我只需启动一个全屏应用程序并基本上绘制和旋转模型?
我已经通过使用 WebGL 熟悉了 OpenGL,所以我最需要的是 Wayland 部分。
c++ - 启动 Weston 时无法开始调试
从命令行启动 Weston 时启动调试会话会出现以下错误:无法开始调试。无法初始化调试器终端。
我需要在 main 的开头设置一个断点(或使用“stopAtEntry”:true),当停止时我需要手动启动 Weston 并继续我的调试会话。
有什么办法可以避免吗?
Ubuntu 16.04、C++、Visual Studio 代码 1.17
gnome - Wayland 表面位置
我知道 Wayland 协议不提供控制屏幕上外壳表面位置的选项。我想找到一种控制窗口/表面放置的方法。我尝试过 xdotool 和 wmctrl 之类的工具,但它们只能识别 XWayland 窗口。我正在使用 Gnome Shell,所以窗口管理器是 Mutter。为什么地面位置不是 Wayland 协议的一部分?以编程方式控制 Wayland 表面放置的建议方法是什么?
编辑:
Wayland 客户端协议为子表面提供了接口,目前足以满足我的目的。但是窗口我希望协议包含顶级窗口位置选项。我可以用javascript制作gnome-shell扩展吗?但在这种情况下并不是一个真正的选择。
python - 无法获取 GtkDrawingArea 小部件的 xid
我正在尝试在 Python 3.6 中使用 python-vlc 和 Gtk 创建一个 GUI 应用程序。但是当我尝试访问我的 GtkDrawingArea 小部件的 xid (将它与我的播放器屏幕绑定)时,我收到一条错误消息
AttributeError:“GdkWaylandWindow”对象没有属性“get_xid”
这是我试图获取 GtkDrawingArea 小部件的 xid 的代码部分:
那么,如何将我的播放器与这个小部件绑定?
PS - 我使用 Ubuntu 17.10 作为我的操作系统,默认情况下使用 Gnome shell。
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_text、cairo_show_glyphs)绘制文本。
任何人都可以帮助我吗?谢谢。
surface - 区分 wl_surface、wl_shell_surface 和 cairo_surface
你能帮我在这些表面之间做出区别吗?什么是顶部/父表面?如何按顺序创建和销毁每个表面?
cairo - cairo_surface 可以附加在 wl_shell_surface 上吗?
我正在使用 cairo_surface (cairo_surface_t) 和 wl_shell_surface 在 Wayland 客户端的表面上显示一个对象。那么你能区分这些表面类型吗?它们必须一起存在,或不同类型的表面。谢谢你的帮助。