0

現在、qtwayland を使用して yocto で qt5 アプリケーションを作成しようとしています。core-image-minimal を使用し、wayland、weston、qtwayland、qtbase プラグインなどを追加しました。~/Apps/Wayland/wayland.sourceme を追加し、weston.ini をセットアップしました。

今、私はwestonを起動してwestonデスクトップに入り、ターミナルを開いてhelloworldアプリを問題なく実行できます. しかし、ウェストンを殺すか、システムを再起動して、ルートとして端末に戻ると。次のようにしてアプリを実行します

source ~/App/Wayland/wayland.sourceme
~/helloworld -platform wayland

そして、表示の作成に失敗しました(そのようなファイルまたはディレクトリはありません)

export DISPLAY=:0.0 を実行しても機能しません。

私もhttps://wiki.qt.io/QtWaylandをたどりましたが、うまくいきませんでした。-platform wayland またはその他のプラットフォームを使用してアプリを実行するにはどうすればよいですか。

4

2 に答える 2

3

wayland プラットフォーム プラグインを使用して Qt アプリケーションを実行しようとしています。これにより、qt アプリケーションがウェイランド クライアントとして実行されます。

ウェイランド クライアントを実行するには、ウェイランド コンポジターが実行されている必要があります。

これを行う方法は 2 つあります。

  1. Qt アプリケーションを実行する前に、ウェイランド コンポジター (weston) を実行します。
  2. Qt アプリケーションを実行する前に、qml-compositor をコンパイルして実行します。

どちらの場合も、アプリケーションをウェイランド クライアントとして実行する場合は、コンポジターを実行する必要があります。

アプリケーションをフルスクリーンで実行するだけの場合は、wayland を使用せずに eglfs プラットフォーム プラグインを使用することもできます。

于 2015-04-20T13:30:25.667 に答える
1

Qt Wikiから:

Qt アプリケーションを Wayland クライアントとして実行する

QtWayland モジュールをビルドすると、wayland 用の新しいプラットフォーム プラグインを取得する必要があります。これを使用するには、まず Wayland コンポジターを実行しておく必要があります。

外部コンポジターを使用したくない場合は、「Qt5 で独自の Wayland コンポジターを作成して実行する」の手順に従ってください。たとえば、QmlCompositor を実行できます。

source ~/Apps/Wayland/wayland.sourceme
cd qtwayland/examples/qml-compositor
./qml-compositor -platform xcb
于 2015-04-17T20:02:02.710 に答える