« 2016年1月 | トップページ | 2016年3月 »

2016年2月

2016年2月28日 (日)

Ver.1.2.2-RC1 リリース

以下からダウンロードできます。(Windows/Linux/Mac版)

https://github.com/funfun-dc5/qtbrynhildr/releases

主な変更は以下です。

[新規機能]
・ネイティブの仮想キーコードをそのままサーバへ送る
"Native Keyboard"をキーボードタイプに追加(Windows版のみ)

サーバとクライアントが同じキーボードタイプであることを条件に
未サポートのキーボードを使うことが可能(ソフトウェア・キーボード/ボタンは無効)

・キーボードログを出力する機能を追加
メニュー項目を追加

[不具合修正]
・マルチモニタ環境で起動後異なるモニタへ移動させた場合にウィンドウサイズの
管理が不適切となる不具合修正

変更内容について簡単に補足します。


(1) "Native Keyboard"タイプ

これまで英語/日本語キーボードのみをサポートしていましたが、その他のキーボードは未サポートでした。Windows版に限り、Windowsの発生するキーイベントをそのままハンドリングすることで生の仮想キーコードを送ることが出来るので、これを"Native Keyboard"という名前で用意しました。

これを指定するとサーバとクライアントで同じキーボードタイプを使っている限り、英語/日本語キーボード以外のキーボードでも使えるようになります。他の言語用のキーボードをサポートするまでの暫定対応として利用することを想定しています。


(2) キーボードログ出力

現在のキーボードタイプのサポートは作者の環境でしか動作確認できていないので「このキーが動かない」などの不具合が予想されます。このログを採取し情報を送っていただくことで不具合修正を迅速に行うことを目的としています。

手順としては以下の様な感じです。

[1] Qt Brynhildrを起動する

[2] 「オプション」メニュー -> 「キーボードログ出力 ON/OFF」をONにする

[3] サーバに接続する

[4] 動かないキーを操作する

[5] Qt Brynhildrを終了する

[6] "Qt Brynhildr.ini"のkeyboardLogFileを確認する

(私の環境では以下のようになっています)

keyboardLogFile=D:\\tmp\\keyboard.log

[7] 上記ファイルの内容を提供していただく


(3) マルチモニタ環境での不具合

利用するそれぞれのモニタ上で起動して、そのモニタで操作を完結する場合は問題ありませんでした。

しかし、モニタ1で起動しその後モニタ2に移動させて操作すると直感的には可能なはずのリサイズが制限されるなどの不具合がありました。これは起動時にしかモニタ情報をチェックしていなかったという実装上の不具合でした。

現在の修正では、モニタを変更した後で手動でリサイズする必要があります。移動時に自動でリサイズすることも可能ですが、ユーザができるだけ驚かない方向で修正してみました。

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
ed90fcdf668cda9100794fc86a6d948b542996d4a2b084a076d003d67227f7f9 *qtbrynhildr-documents-20160228.zip

2788f5950872ba6fd4254e1a07c3ad93e590bf602a226c11907bde4f826a287d *qtbrynhildr-linux_x64-v122-rc1.run

3b33f8df87946287e7167de97740954f88efb3d7313bf618b32fae140469c49e *qtbrynhildr-linux_x86-v122-rc1.run

b0d2509842d5082c6600a5d2dcaa8e8a5c11679241ff21c49c9aeaa432d3a519 *qtbrynhildr-macosx_x64-v122-rc1.dmg

79f4dc69f9e7733c1652c66790c498c6cf62a18f39696716c5072467137054e9 *qtbrynhildr-windows-v122-rc1.exe

2016年2月18日 (木)

Ver.1.2.1 リリース

以下からダウンロードできます。(Windows/Linux/Mac版)

https://github.com/funfun-dc5/qtbrynhildr/releases

Tabキーの不具合があんまりなので、Brynhildr2対応を初期設定としては無効化してVer.1.2.1としてリリースします。Ver.1.2.1-RCを以前使ったことがある場合はそのままだとBrynhildr2対応は有効のままとなります。

無効化したい場合は"Qt Brynhildr.ini"の次の行をエディタで変更してください。

[変更前]
onDisableBrynhildr2Support=false

[変更後]
onDisableBrynhildr2Support=true


Mac版はTabキーを2回打つ必要はなくなりましたが、次の制限があります。

[制限]
Mac版には「表示」メニューに「フルスクリーンにする」が2つありますが、システムが標準で持つ項目が表示されているためです。


blog開設2周年とニューアルバムリリース記念ということでヽ(´▽`)/

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
d568f60c9c4b681cdd465ad702fb6ff80d7a1e99c0e483f9366c03819e630ddb *qtbrynhildr-documents-20160218.zip

c95bc0d56580cc72ec0790483c3c5b987d8b45ef59438814737f051993d2b473 *qtbrynhildr-linux_x64-v121.run

ef04f562c3e803f0892919dc016fcb6dd4fcca0a237226ec61d641b117ba8170 *qtbrynhildr-linux_x86-v121.run

fdee1b6f7a51dab53f239598c975aba3b03e1eb8e9ae754cd273ec4173c02a40 *qtbrynhildr-macosx_x64-v121.dmg

8df6c72b5f4a878b0ee0870a89277241f0d997cb2d2511e51c84c83d44486a2f *qtbrynhildr-windows-v121.exe

2016年2月16日 (火)

やはり自動テストが必要…

お恥ずかしいことに、正式リリース直前に入れた変更の不具合が今頃になって発覚しました。

最低限の手動による動作確認を行っていたのですが、やはり限界を感じます。

自動テストの仕組みを考えるのもなんとなく面白そうですが、一般に売られているGUIの自動テストツールは値段が高い割には使い勝手が良くないという記憶しかありません、現在はどうなんでしょうか。

リモートデスクトップはリモートマシンのデスクトップ操作を扱うのだから、うまくすればテストできそうですけど、テストの結果がデスクトップ画像(JPEG)とPCMデータだけということになると結果確認が難しいですね…なんかいいアイデアがないですかねぇ、マルチプラットフォームで使えるような…。

2016年2月15日 (月)

Ver.1.2.1-RC3 リリース

以下からダウンロードできます。(Windows/Linux/Mac版)

https://github.com/funfun-dc5/qtbrynhildr/releases

主な変更は以下です。

[不具合修正]
・タブ(Tab)キーが正しく処理されない不具合修正(Ver.1.0.0から)

Mac版でTabキーを入力するために2回押す必要があるという制限を付けていましたが、これはバグでした。
Ver.1.0.0以降のWindows/Linux版を含むすべてプラットフォームで発生します。Ver.0.99以前では発生しません。

この修正でキー入力の反応速度も改善されています。

[その他変更]
・Mac版のビルドツールをXcode 7.2.1に更新

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
f2f7dfa17f02d71bad7696010db1404c31496b65d064306173522964522a5f46 *qtbrynhildr-documents-20160215.zip

af4906ae95b6e8b209a54d8ff26ae3391b574c03c6250cfe241adfb78f2dc23b *qtbrynhildr-linux_x64-v121-RC3.run

de8f35cc471d1d3caefe98412d1200fca43cfd6484ca1e9b01c32eeb4b5264b9 *qtbrynhildr-linux_x86-v121-RC3.run

e80147df16c4727a1729cdd466197c05bbd42e684f1ac8e2680998101995733c *qtbrynhildr-macosx_x64-v121-RC3.dmg

9b29a0529dff2a9ac72ee048ac202fcef32b6374124efb2535f4c2ffcd921dbb *qtbrynhildr-windows-v121-RC3.exe

2016年2月 8日 (月)

Raspberry Pi 2 で試してみる その4

Raspberry Pi 2 のみの環境で試してみました。

モニタはHDMIで接続してraspi-configのAdvanced Option -> Audio もしくはamixerコマンドでサウンド出力先をHDMIに指定します。

amixer cset numid=3 2

キーボード/マウスを接続してサーバと同じLANにネットワーク接続して起動します。コンソールからログインしてstartxでデスクトップ環境を起動、続いて端末を立ちあげました。

先日ビルド済みのバイナリをオプション無しで実行するとなぜかフルスクリーン状態で立ち上がります…組み込み向けの初期設定がフルスクリーンになっているのでしょうか。(eglfsだとそうなのでしょうか、xcbでは試してませんけど)

細かい修正はあとにして、まずはサーバに接続してみました。サーバでは予め動画を再生しておきました。サウンドの再生はまずまずですがFPSがあまり期待したほど上がりませんね。細かい調整が必要そうです。

なんとなく動きそうなことまで確認できたので、とりあえず今はここまでにしておこうかと思います。

2016年2月 7日 (日)

Raspberry Pi 2 で試してみる その3

そろそろ実際に動作させてみることにしました。

一番簡単なのはRapsyberry Pi 2 に周辺機器を実際に接続してデスクトップとして使うという方法ですが、モニタ/キーボード/マウスを繋ぎ直すのが面倒なので、CygwinのX-Window System(以下Xと呼びます)を使ってそこで試すことにしました。

いつも使っているCygwin端末から"startx"を実行してX環境を立ちあげます。特に設定はしていないのでxtermが1つ立ち上がります。このxtermから ssh で Raspberry Pi 2 に接続します。

ssh -l pi -X 192.168.1.6

で実行してみました。

$ ./qtbrynhildr
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).

…と出たままウィンドウは表示されません。かといって終了もしません。

最初環境変数DISPLAYがおかしいのかなと疑ったのですが、xclockは普通に表示されるのでそこは問題なさそうです。

google先生にお尋ねしてみると「組み込みLinuxでQtを使う場合"platform"が問題になるのはFAQだよ」とのこと。

$./qtbrynhildr -platform foo

と実行してみると

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, xcb

と表示されます。なにも指定されない場合は"eglfs"が指定されたことになるらしいです。現在のテスト環境では"xcb"を選択肢なくてはなりません。ということで以下のように"xcb"を指定して起動しました。

$./qtbrynhildr -platform xcb

Ws000026


接続は確認できましたが、やはりこの使用環境だと事実上

Windows (サーバPC) -> Raspberry Pi 2 -> Cygwin-X (ローカルPC)

という経路になるので速度が出ませんね。

Raspberry Pi 2 にモニタ/キーボード/マウスを接続して試してみたいと思います。

Raspberry Pi 2 で試してみる その2

普段はX-Window Systemを起動していないのですがとりあえず出来上がったバイナリを実行してバージョン情報表示だけしてみるかぁと思い、普通に実行してみました。

$ ./qtbrynhildr -v
* failed to add service - already in use

「意味不明なメッセージだ…」と思いつつ、google先生にお尋ねしますとこんなページが見つかりました。

Qt5 & RPi 2 -> “failed to add service - already in use?”

んー、どうやらGPUに割り当てたメモリ量が足らないらしいです。さすがに最小の16MBではダメなんでしょうね。素直にraspi-configコマンドを利用してGPUへの割当を最大の256MBに増やしますかね。(直に書き換えるとろくなことになりませんね…)

再起動して実行してみました。

$ ./qtbrynhildr -v
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
Qt Brynhildr Ver.1.2.1-RC2 Copyright (c) 2015-2016 FunFun @ mcz-xoxo

とりあえずO.K.みたいですね。X-Window Systemを起動していないのでなーんかメッセージが出てますけど。

(追記)

このメッセージは結局 Raspberry Pi 2 にHDMIでモニタを接続していなかったから出ていたようです。

2016年2月 5日 (金)

Raspberry Pi 2 で試してみる その1

シングルコアなRaspberry Piではちょっと厳しいかなと思っていたのですが、4コアなRaspberry Pi 2 なら大丈夫かもという気がしていたので、ちょっとトライしてみます。

まずRaspberry Pi 2向けのQt環境を作らなくてはなりません。Raspberry Pi向けのQt5開発パッケージはまだ提供されていないみたいなので自前で用意する必要があります。シングルコアなRaspberry Piだと自前の環境でQtの環境をビルドするのに二日以上かかるそうなので高速なPC上にクロスコンパイル環境を作ってそこで作成したアプリケーションをRaspberry Piに持って行くのが現実的かもしれません。

しかし4コアなRaspberry Pi 2なら自前の環境でもQt開発環境を現実的な時間でビルド可能とのことなので試しに作ってみることにしました。

google先生で検索すると分かりやすくまとめてくださっている方がいらっしゃいました。

RaspberryPi2上でQtをコンパイルする

私の環境では実行/修正例のところで"&"が"&amp"、">"が"&gt"というふうになっていましたので手で直しました。

現在普通にQtのソースコードを持ってくると5.6用のコードになるようで、xinerama用の開発パッケージが別途必要になるようなのでこれも"apt-get"でインストールしてやれば、一晩くらいでビルドできました。

sudo apt-get install libxinerama-dev libxcb-xinerama0-dev

Wikiの方にはdetachできるからbyobu or screenがオススメと書いてありますね。普段はteraterm+byobuでアクセスしてますのでビルド実行後切断してました。

早速Qt Brynhildrのソースコードを持って行くとほぼ修正なしでarmv7l用のバイナリが出来上がりました。

2016年2月 2日 (火)

Qt 5.5.1 と Android 6.0

Nexus 7 を Android 6.0 にアップデートしてから実機でのテストができないので放置していました。デスクトップ画像が表示された途端に例外が出て落ちます。

とりあえず放置して他の作業を優先していましたがふと思いついて調べたら、Qt 5.5.1 と Android 6.0 の組み合わせでの不具合のようです。

System.err: java.lang.NullPointerException on Android 6.0 with Qt

すでに修正済みのようで, 3月1日リリース予定のQt 5.6 では直るらしいです。

Qt 5.6 リリーススケージュール

« 2016年1月 | トップページ | 2016年3月 »

無料ブログはココログ
2017年7月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31