【问题标题】:How to launch a qt wayland compositor from terminal without a platform like weston launches如何在没有像 weston 这样的平台的情况下从终端启动 qt Wayland 合成器
【发布时间】:2020-05-04 17:19:27
【问题描述】:

我一直在使用 Qt Wayland 插件为 linux 开发显示管理器。我尝试在终端会话上运行我构建的显示管理器,但它显示为

qt.qpa.plugin: Could not find the Qt platform plugin "wyland" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.

我知道这是因为我没有在 Wayland 合成器上运行它。但是我尝试构建您提供的 Wayland 合成器示例,它在我的桌面上运行时工作正常,但是当我从终端运行它时,我收到了同样的问题。那么如何在不使用 --platform xxxx 的情况下从终端启动 qtwayland 合成器

我想知道 weaston 如何在没有任何平台支持的情况下自行从终端启动,我能否像那样启动 qt wayland 合成器?

【问题讨论】:

  • 嗯,威兰?执行:your_executable --platforma wayland
  • 我说的是 Wayland 服务器而不是客户端应用程序。我可以使用 --platform wayland 运行客户端,但是没有任何 gui 的情况下,wayland 合成器不会从终端启动

标签: linux qt wayland display-manager qtwayland


【解决方案1】:

QtWayland 合成器是跨平台的应用程序,可以在多个后端运行。当您使用 --platform wayland 启动它时,您基本上是在尝试在另一个 Wayland 合成器中启动合成器。

合成器通常使用eglfs 后端从tty 运行。即使用以下命令启动您的合成器:

./compositor --platform eglfs

如果您在启动合成器应用时遇到错误,则可能需要对您的设备进行特殊配置。 The Qt embedded linux documentation 可能会给出一些指示。即使您在桌面上,这也是可以查看的地方。如果您使用的是开源台面,您可能想查看eglfs_kms 部分。

一旦你运行了 compostor,就可以启动客户端了:

./app --platform wayland

【讨论】:

  • 是的,我试过了,但它显示无法初始化 egl 显示。
  • @trickymind:那么这就是你需要首先解决的问题。 eglfs 有几个子插件,请确保您运行的是专为您的硬件设计的插件:doc.qt.io/qt-5/embedded-linux.html
  • 我实际上是在我的笔记本电脑上运行它。我只想为我的笔记本电脑构建一个桌面环境,所以我需要一个合成器,这就是我使用 qt Wayland 的原因。我是否必须在我的 linux 上安装任何额外的东西才能运行它。我刚刚下载了 qt 离线安装程序并开始构建它。
  • 我对 qtwayland 了解不多。我尝试从我的 ubuntu 救援模式运行它,但它不起作用。
  • @trickymind 您可以使用QT_LOGGING_RULES="qt.qpa.*=true 运行合成器,它应该告诉您它正在尝试使用哪些后端,以及它可能会在哪里失败。如果你在台地,你可能想要eglfs_kms。不过,这个错误很可能与 QtWayland 无关。不过,我会考虑提出一个单独的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
相关资源
最近更新 更多