VisualStudio で for Linux Development


以前に VisualStudio で Linux での開発に向けて色々とやってみましたが、今はまた新しい方法があるようだったので試してみました。今回は Linux 側として Fedora23 を使用してみます。特殊なことはしていないため他のLinux系のものでも適用可能だと思います。

vs_linux_8

これらの環境設定の手順などを説明していきます。 続きを読む


DevTexThumb 1.0.1


関連づけ関連で不具合情報をもらったので、修正したバージョンをリリースしました。インストーラーのみの更新のため、新機能やバグフィックスなどは含まれていません。

サムネイルの表示は本プログラムが担当し、関連付けによるアプリケーションはまた別のアプリがとなるとレジストリの設定が色々とややこしいですね。


MobaXterm が便利


SSHのクライアントとしては Tera Term を愛用しているのですが、とあることから MobaXterm というソフトを知ったので試してみました。これが便利でしばらく使ってみようと思います。

なにが良いかといいますと、これ単体で Xサーバーが内蔵されており、 OpenGL のアプリケーションも動作させることができた点にあります。このときの様子を撮影してみたので貼ってみました。
mobaxterm_opengl

これは Windows10 上で別PCに Ubuntu 16.04 LTS をインストールしたターゲットに接続して、試してみたときのものとなります。OpenGL アプリとして定番のものを動かしてみました。また OpenGL ES2.0 のアプリも動かしてみました。
どちらも動いていることが確認できます。

1つ残念な点は OpenGL は LLVMpipe によるソフトウェア実装が動いている点ですが・・・動くだけマシといったところですね。

この MobaXterm で設定で OpenGL のハードウェアアクセラレート ON というのが見当たったのですが、有効にしてみたところ妙な挙動になってしまいました。以下のように一見動きそうな感じなのですが、実際に動かすとフリーズしたかのごとく重い動作になってしまい・・・使えませんでした。

mobaxterm-opengl_2

他にもこのMobaXtermのよいところは、ホームディレクトリがすでに sftp で見えているため、ドラッグアンドドロップでファイルをやりとりできるところがあります。今までは別ソフト使っていたりしたのでこの1つに集約することができそうです。


DevTexThumb 1.0.0


DevTexThumb を更新し、バージョンは 1.0.0 となりました。以下のページからダウンロード可能です。

DevTexThumb のダウンロードページ

今回のバージョンで HDR ファイルフォーマットへの対応が行われています。また特定のDDSファイルフォーマットを表示しようとして、エクスプローラーが落ちてしまう不具合への対処が行われています。

ようやくバージョンが 1.0 の大台になることができましたが、これからも対応形式の拡充に努めていこうと思っています。


Wayland でウィンドウを出す


前回はディスプレイサーバーに接続のみだったため、今回は画面に見えるようにするところまで紹介したいと思います。

プログラム

ウィンドウを出してみるプログラムは以下のようになります。
このコードで真っ黒のウィンドウが表示されますが、終了手段はコンソールで Ctrl+C で閉じることになるので注意してください。

このプログラムの解説は後半で行います。

プログラム解説

コードの流れとしては以下のようになっています。
サーバー、クライアントのプログラムであると言うことを意識すると理解しやすいかもしれません。

  1. コンポジッタに接続
  2. コンポジッタ上の各情報を取得&自分の関数コールバックを登録
  3. 描画用バッファを共有メモリで作成して登録
  4. バッファに描画データを書き込み、wl_surface_commit で登録
  5. wl_display_dispatch でいわゆるイベントループを回す

各Listenerはサーバーであるコンポジッタからの応答を実装する部分となります。

wl_shell 関連は表示している surface に対してのユーザーからの対話部分、すなわちキーボードやマウスの関連を実装するものとなるようです。
今回はこれらを何も処理していないため、まだウィンドウとして完成していない状態です。

これだけのコードがあるのにまだウィンドウとして完成していないあたり、低レベルのインターフェースである実感がありますね。


はじめての Wayland


ぼちぼち Wayland というものが標準で使用可能になっていく気配を感じたので、
Xorg ベースから切り替えが必要かと思って調べてみました。
先日は X11 なしで OpenGL の連載をしていましたが、今度は Wayland を使って OpenGL を使うというゴールに向かって話を進めていきたいと思います。前回はフルスクリーンのみでの動作でしたが今回はウィンドウシステムありでとなります。

Wayland とは

検索してもらうといろいろと情報が出てくると思いますが、
これはディスプレイサーバーのプロトコルであり、Wayland-client というライブラリが存在します。またwayland コンポジッタというものが画面の表示を行います。
そして weston というものが wayland コンポジッタのリファレンス実装となっています。

X-Windowの場合ではサーバ、クライアントは別のPCでも使用可能でしたが、Wayland の場合には同一端末上を想定しています。

実験環境

以下の環境で実験しています。

  • ArchLinux (64bit)
  • VMware Workstation 12 Player
  • weston 1.10

はじめてのWayland通信

まだ何もウィンドウが出せませんが以下のコードで、
ディスプレイサーバーに接続して情報を少し出してみることが可能です。

これを実行すると以下のような結果が出てくると思います。


VisualStudio 2015 で Linux アプリの開発&デバッグ その2


前回は単独のプロジェクトでソースコードも1つだったので、
今回はスタティックライブラリを使用しての複数のソースコードで動作を試してみたい思います。

準備

前回はソースコード単独でビルドできる状態だったので、実行体の生成のため gcc を呼び出すコードを書いていました。
今回からは複数のコードやライブラリのリンクと言ったことも考慮するためにこの部分を make コマンドを実行するように変更しました。
これにより Makefile さえエディットすれば、ソースコードの変更に対応できるようになります。注意点としては VisualStudio でのプロジェクトへのソースコードの追加と、Makefile の中身は同期されないので、手動(もしくは他の手段で)同期をとる必要があるかもしれません。ただ大事なのは Makefile なのでこちらをエディットすることを守ればなんとかなりそうです。

具体的にはプロジェクトのプロパティで Build Command Line を以下のように変更しました。(実際にはこれを1行で記入してください)
vs2015-target-linux-use-staticlib-0

またプロジェクトに登録したファイルの転送は考えたくなかったので、Linux で Samba を導入し、共有フォルダに VisualStudio のプロジェクトを作るようにしています。

続いてスタティックライブラリの準備にとりかかります。
続きを読む


SELinux 有効時の Samba 設定


久しぶりに Samba をインストールしてLinux-Windows間ファイル共有をしようとしたら、ユーザーホームが表示されるものの中にアクセスできないという症状に遭遇しました。

横着して? SElinux をそのまま有効状態にしていたのが原因でしたが、
せっかくなので無効化せずに、見えるように設定してみました。

root 権限で以下のコマンドを実行します。


VisualStudio 2015 で Linux アプリの開発&デバッグ


VisualStudio 2015 で別PCで動いている Linux 環境でのアプリ開発およびデバッグということができるかを試してみました。

必要なものは以下の通りです。

  • Linux環境の別ターゲット
  • VisualStudio 2015 を ”Visual C++ Android 開発”付きでインストール

ここでは VisualStudio 2015 Professional, Windows10 Pro (x64) で確認しています。
vs2015-target-linux-11

セットアップ

最低限の必要なものは準備が終わっているものとして、環境構築の説明をしていきます。

Linux側の準備

ここでは少し古いですが CentOS 6.5 の環境があったのでこれで説明します。
Samba を用いて Linux-Windows のファイル共有ができるように設定しておきます。
またコードのコンパイルを Linux で行うために、コンパイラなどのツールチェインをインストールしておきます。

Windows側の準備

Visual Studio GDB Debugger 」という拡張プラグインをインストールします。
これは以下のページからダウンロードすることができます。
https://visualstudiogallery.msdn.microsoft.com/35dbae07-8c1a-4f9d-94b7-bac16cad9c01
VisualStudioGDB.vsix というファイルがダウンロードされるので、ダブルクリックでインストールを行います。
(本プラグインは Microsoft のデジタル署名がついているようでした)

このプラグインが Plink を使うようなので、Putty のページからファイルを取得してきます。
Putty のページ: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

インストールしてしまっても良さそうですが、開発環境に tortoise Git も入っており、こちらが標準で使っている TortoisePlink でないものを設定済みだったりするとかち合うため、安全を考えて zip アーカイブを取得することにします。

そして、これを適当なところに展開します。ここでは C:\tools\putty に展開しました

続きを読む