スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 次のMirror-DTCは? | トップページ | Mirror-DTC Premium Pack »

Ubuntu18.04LTS用を公開

昨日の記事では、今日、次バージョンのMirror-DTCの変更点の詳細について書く、みたいな終わり方をしていたのだが、今日はAmuseGraphicsのレジストユーザー向け追加提供ソフトにUbuntu18.04LTS用を追加したので、ブログ的にも、それ絡みの話にしておく事にする。

今日、公開したのは、AGMConv / AG-ムービーカッター / AGMPlayerのUbuntu18.04LTS用バイナリだ。

Ubuntu18.04LTS対応に関しては、現行版でUbuntu用も提供しているNostalgic UFO BattlerとMirror-DTCについては、既に、ホームページを更新し、Ubuntu18.04LTSでは、gtkmmライブラリを追加して、Ubuntu16.04LTS用を利用して下さい、みたいな注意文言を追加していた。

つまり、Nostalgic UFO BattlerとMirror-DTCについては、少なくとも現時点では、Ubuntu 18.04 LTS用に調整されたバイナリは提供しない事にしていたのだが、にも関わらず、AmuseGraphics用の追加提供ソフトについては、Ubuntu18.04LTS版を新たに追加したのは何故だったのか、というと、単純に、Ubuntu16.04LTS用バイナリでは動作しなくなったからだ。

具体的には、これらで使っているLibAVFormat系のライブラリがUbuntu18.04LTSでは更新されていて、作者製ソフトで使っている関数の幾つかは、ライブラリから削除されてしまった訳だ。

と、いう事なので、Ubuntu18.04LTSで一般動画を扱える様にするためには、内部処理を新しいLibAVFormatに対応させる必要があったので、更新せざるを得なかった訳だ。

もっとも、上記以外にも、Ubuntu18.04LTS環境では、従来版のコードのままだと幾つか問題があった。

その一つ目としては、作者製ソフトはスレッドを多用しているのだが、プログラム終了時には、それらを全て終了させるのも面倒なので、OSが自動終了させてくれる事に期待して、それらの多くは放置してあった訳だ。

で、Ubuntu16.04LTSまでは、それでも、プログラムは普通に終了したのだが、Ubuntu 18.04 LTS環境では、全てのスレッドを終了させない事には、プログラムが終了してくれなくなった訳だ。

つまり、AG-ムービーカッターなんかにはウインドウがあって、普通は、そのウインドウのクローズボタンを押せば、ウインドウが消えると同時に、プロセスも消滅するのだが、Ubuntu 18.04 LTS環境では、ウインドウは消えても、プロセスが消えない状態になってしまった訳だ。

プロセスが消えない、と言う事は、メモリも消費されたままになるし、少なくとも、プロセスを表示すると、そこに存在し続けているので、見っとも無くもある訳だ。

と、いう事なので、Ubuntu18.04LTS用では、プログラム終了時には、起動してあったスレッドを全て終了させる様にも変更したのだが、Ubuntu 18.04LTSでは、もう一つ、変な現象が発生した。

それは何なのか、というと、ビルド環境としては、Ubuntu16.04LTS版のEclipse用ワークスペースを持ってきて、Ubuntu18.04LTSにインストールした最新版Eclipseである所のOxygen.3a (4.7.3a)にワークスペースを変換させてビルドしたのだが、出来上がったバイナリは、何故か、実行ファイル扱いではなく、共有ライブラリ扱いになってしまった訳だ。

つまり、GUI上でそのファイルを見ても実行ファイルには見えないし、そのアイコンをダブルクリックしてもプログラムを実行してくれなくなったので、作者的には困ってしまった訳なのだが、ネットを検索してみると、以下の様な書き込みがあった。

gcc creates mime type application/x-sharedlib instead of application/x-application

で、上記では、作者と同じ現象に遭遇した人が、どうしたら良いの? と、質問している訳なのだが、その回答としては、gccはそんな事はしない、という事だった。

もっとも、もしオプションとして-pieを指定していれば、結果的に、そんな感じの現象は起きるだろう、という話も書かれていたのだが、Ubuntu17.04から同様の問題が発生する様になった、という書き込みもあった訳だ。

なので、ひょっとすると、Ubuntu17.04用から、リンカーのデフォルト設定が変更されたのかもしれないのだが、結果的に、上記に書かれていた対策である所の「-no-pie」フラグをリンカー設定に追加する事で、従来通り、出力ファイルが実行ファイル扱いとされる様に出来た。

と、いう事で、このブログでは、Ubuntu18.04LTS対応としては、デフォルトフォントが変更されたので、ダイアログ部品の表示位置の微調整が必要になっている、みたいな事しか書いて来なかったので、Ubuntu 18.04 LTS対応は表示系のみなのかなあ、と、思っていた人もいるかもしれないのだが、実際には、他にも色々と対応が必要な項目はあった訳だ。

ちなみに、これは作者製ソフトの問題ではないのだが、少なくとも作者環境のUbuntu 18.04 LTS、つまり、macOS上のParallels 12にインストールしているUbuntu 18.04 LTSでは、以下の書き込みと似たような感じの問題がある。

Ubuntu 18.04 gnome-shell high CPU usage

つまり、Unityに代わってGUIとなったGNOME ShellのCPU使用率が異常に高い訳だ。

具体的には、画面変化が何もない時には、CPU使用率もほぼ無いのだが、ウインドウを移動したりすると、その操作中には、1コアのフル性能分くらいは、CPUを消費してしまう訳だ。

更に言えば、AGMPlayerやAG-ムービーカッターばかりではなく、付属ソフトである所のtotemで動画をみていたり、FirefoxでYouTubeを見ていたりするだけでも、ほぽ1コア分のCPU性能が消費されてしまう状況だ。

と、いう事なので、上記の書き込みでは、問題は画面表示用のデバイスドライバにある、みたいな書き込みをしている人もいて、Parallelsでは、まだUbuntu18.04LTSは正式対応されていないので、デバイスドライバも最適化はされていない。

なので、Ubuntu18.04LTSがParallelsで正式対応されれば、問題はなくなる可能性もあるのだが、普通に鑑みれば、gnome-shellのCPU使用率が高いのは、そういう問題じゃない様な気もしないではない今日この頃ではある。

« 次のMirror-DTCは? | トップページ | Mirror-DTC Premium Pack »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/66746570

この記事へのトラックバック一覧です: Ubuntu18.04LTS用を公開:

« 次のMirror-DTCは? | トップページ | Mirror-DTC Premium Pack »

2018年10月
  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      

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google