「 日記 」一覧

これから何をやろうか


前回のでひとまず熱を入れてやっていたことが終わったので、次のネタをぼちぼち取りかかる予定です。
内容は少し前から興味があった動画のCODECを自分で作ってみようかと思ってます。
まずは勉強目的で。

これについてちょっと必要になってくるのが inf ファイルなのでちょっと調べてました。
まず一番最初のステップとして、このファイルのInstallでファイルがコピーされる、という単純なものを作ってみました。

[version]
signature="$Windows NT$"

[DefaultInstall]
CopyFiles = FilesSection

[FilesSection]
hello.dll,,,0

[DestinationDirs]
FilesSection=11

これでひとまずはinfと同じ場所にある hello.dll が Windows/System32 以下にコピーされます。
まずとっかかりとしてはここから。

CODECのほうも今やオープンソースでいくつかありますし、これを元に解析&挙動について追いかけていけば、なんとなく勉強できるのではないかと感じています。
しばらくはこれにつきっきりでブログはおろそかになりそうです。

残ってること

もうちょっとMMDの仕上げを。レンダリング周りは全く手を付けていなかったし。カメラアニメもついさっきまで頭にすらなかった。
Androidでの動作もやってみてもよかったかもなぁ。


QNAPのNASでHDD交換


QNAPのNASでHDD交換しようとしてとても焦ったのでメモとして残しておきます。

出遭った現象としては、新規にHDDを挿入しても認識はするもののリビルドが走らない、というものです。
そのときのログメッセージとしては、”Add drive 1 to the volume failed” と記録されていました。

そもそも新規に購入してきたディスクではないのでディスクそのものの故障を疑ったりもしましたが、別PCでチェックしても問題なく、WindowsPCでフォーマットを行って挿入してもうまくいかず、とても悩みました。

いろいろと調べたり、実験したりして、ようやくたどり着いたのが、
ディスクにパーティションが存在してはいけない、という結論です。
WindowsPCでフォーマットしてある状態というのは、既にパーティションが存在してしまうので、NGということです。
ここで、フォーマットを行った後、パーティションの削除を行ってから、QNAP NASに挿入することでようやくRAIDアレイのリビルドが開始されました。

買ってきた直後のディスクでならうまくいくのには、こんな部分が絡んでいたようです。


Windows8でG41ドライバがない?


G41のWindows8用ドライバがない

実験機にWindows8をインストールしたのですが、OpenGL動くかな?と思って試してみたところ、GDI Generic状態になっていました。これはまともに動いていない!ということで、デバイスはG41だったのでそれにあわせてWindows7用のドライバを入れようとしました。しかしながら、これが失敗。最低条件を満たしていないという意のメッセージが出てきました。

Windows7用を使おうとしたのは、IntelのページでWindows8用が見つからなかったためです。

このような状態ではやりたいことのチェックが出来なかったので、RADEON HD 5450を追加して、Catalyst 12.10をインストールしてOpenGLが使えるのか?というチェックをしてみたいと思います。

(しかしこのままだとG41でWindows8はちょっと使えないかも。DirectXのみのサポートという感じになるのだろうか・・・。)
サポート範囲なら早く対応ドライバが出て欲しいところです。
→ どうやら旧チップはWindows同梱版でのみの対応となり、メーカーでは出さないようです。これによりOpenGL対応は絶望的。CPU内蔵のグラフィックスであればIntelさんが個別に出していくとのことです。

ソース: http://communities.intel.com/docs/DOC-19646

RADEON 5450にて

ドライバインストールして、とりあえず使えるのかどうかを見るために、OpenGLの初期化および各情報を取得してみました。
以下その中身。

デスクトップモードでアプリ動かしてみての結果ですが、使えそうです。


記事の削除


そういえば10月になってガード解除系は違反になったんだったなと思い出して、
過去の録画環境構築ネタでやっていた ktv-fsusb2の改造記事を削除しました。

ソフトの簡単な組み合わせで実現できるようなネタは残してありますが、さすがに電子工作じみたこととファーム書き換えなどまで行ってTS抜きするような話はまずいだろうという判断です。



Windows8をインストールしてみた


今週15日にMSDN向けにはWindows8やVisualStudio2012が公開されました。
そこで早速ダウンロードして空いているPCにWindows8を新規にインストールしてみました。

インストールについて

新規インストールしましたが、ユーザー設定等が出てくるのは最後の仕上げ部分となっていました。最初にどのディスクにインストールするか決めた後は、ほぼ放置でOKでした。また、ユーザー設定などの画面が出てくるまでも、インストールそのものを開始してから20分も経たないくらいでスピーディにインストール作業が完了しました。

あと、今までに無い色の紫色が基本カラーとして表示されていたのにちょっと驚きました。

デスクトップについて

以前からの予告通り、Aeroが消えていました。のっぺりとしたウィンドウになっています。Windowsキーによるメニューを出そうとすると、Metroのメニュー表示状態へ切り替わります。この挙動については個人的には不満です…スタートメニューがほしいです。

左下にマウスカーソルを合わせて、右クリックするとコマンドプロンプトやデバイスマネージャー、ファイル名を指定して実行などのメニューが出てきたので、とりあえずはこれである程度我慢はできそうです。

インストール直後だからなのかもしれませんが、古めのPCでも軽快に動いているようです。
(PentiumDualCore E6500, 2GB)

DirectX について

インストール直後では DirectX11がインストール状態となっています。ただし注意しなくてはならないのが、D3DX系のDLLが全く含まれていないことです(DirectX9のものすら入っていない)。そのためDirectXのコアだけ使ったアプリはほとんど無いでしょうから、DirectXの再頒布ランタイムのインストールは必要になりそうです。

VisualC++のランタイムについて

VisualStudio 2005(VC80) 用 50727.6910
VisualStudio 2008(VC90) 用 30729.6871

上記のものが含まれていました。従来のアプリがすんなり動きそうな感じです。
その一方で、2010(VC100)や2012のものが含まれなかったのがちょっと残念です。このことは2005,2008は既に十分古いから含めても問題ない、という意思表示なのでしょうか。

 


Intel HD Graphics 4000をちょっとはかってみる


グラフィックス性能を上げたというIvyBridgeの Intel HD Graphics 4000 (HD4000)
これについて、どのくらいの性能なのかを計測してみました。

定番の 3DMark 06を動かしてみてその結果を貼ってみます。
ちなみに 3770Tで動作させています。

SM2 :  2222
SM3 :  7165

という結果が出ました。
WinPC 4月号では、 Intel HD Graphics 3000 の場合で、
SM2 : 1641
SM3 : 1383
となっており、かなりの性能UPを実現できていることがわかりました。

また Geforce 7600GT の場合では、
SM2 : 1218
SM3 : 1322
というスコアで、7600GTとHD4000を比較した場合では圧倒的に HD4000が勝利している結果となりました。

Ivyで性能を上げたから、7600GTくらいにはなっているだろうと思っていたのですが、
実は追いついていたのは SandyBridge時代で、Ivyではもう抜いたという事実に驚きました。

これはもう、Intel HD Graphicsは低スペックだから動作サポート外とはいえない性能を持っているなと思いました。


3770Tかった


IvyBridge祭りにあわせて、i7 3770T を購入しました。
何店舗か探し回ったもののGWに手に入れることができました。

とりあえずせっかくの超省電力版(TDP 45W)なので そのあたりを確認してみました。
電力は、PCのコンセントにワットチェッカーを入れて計測しました。
CPU温度は、Core Temp 1.0 RC3 を使用して計測しています。

Idle状態で、CPU温度は 32度くらい、消費電力は 40Wを切るくらいでした。
一方、論理コアを含めてフルロードさせた状態だと、CPU温度は 60度を超えることがあるものの60度前後で落ち着く感じで、消費電力は 92W となっていました。

Intel HD Graphics を使ってGPUもCPUもフルロードさせると、115W ほど電力を消費する結果となりました。

 

SandyBridgeを使っている人の話からすると、意外とCPU温度が高いねと言われましたが、
SandyBridge以前のCPUを使っている身としては、結構温度が下がっているなと思いました。
また、フルロードさせてもこのくらいの消費電力というのもすごいなと。
現在 i7 870 を使っていて 30%くらいコンスタントに消費しているシステムでも 120W くらい到達していたりしますので。

 

3770Tを使って、オーバークロック試した例もあるようですが、手元の環境では駄目っぽい感じでした。
どうがんばっても 4GHz には行かない感じです。 TBしても 3.5G程度で止まってしまう・・・。

 


HTTPからのIRC


IRCクライアントをインストールできない環境や、そもそもHTTP通信しかできない状況で、
IRCを使ってやりとりをしたいということがあります。そんなときに、http2irc的なものが欲しくなります。

以前、http2ircみたいなプログラムが手元にあったのですが、紛失してしまって誰か作っていないかなと思って調べてみるとありました。数は少なそうですが、ありました。

  • WebIRC
  • CGIIRC

今回、CGIIRCを試してみたので導入までの流れをメモとして残しておきます。

CGIIRCのセットアップ

本家、http://cgiirc.org/ からCGIをダウンロードしてきます。
そして、 httpとしてアクセスできる場所に配置します。
ここで配置した場所でCGIを許可する設定となるように httpd.conf を編集しておきます。

cgiirc-0.5.10.tar.gz を展開すると、cgiirc.config という設定ファイルがあります。
このファイルに設定を書き込んで、セットアップは完了します。非常に簡単です。

cgiirc.configの編集

下記の項目くらいを編集するくらいで十分でしょう。

  • default_server 接続する標準のサーバー
  • default_channel 接続する先のチャンネル名
  • image_path imageが配置されているパス。ブラウザーから見えるアドレスで記述すること.
  • irc charset = iso-2022-jp という行を追記する。日本語環境で使う際に必要です。
  • interface timestamp = 1 時刻の表示を有効にします。

GitLabを使う


前回までに構築したGitLabにクライアントからアクセスしてみます。
クライアント側は、次のソフトをインストールします。

  • tortoiseGit  1.7.7 (x64)
  • msysgit  (Git-1.7.10-preview20120409)

ちなみに Windows7 x64をクライアントOSとして使用しています。
tortoiseGitをインストールした後で、msysgitをインストールしました。

注意点として、sshクライアントをどうするかという点があります。
今回は TortoisePLink を使う方向で環境を用意してみます。
(msysgitに付属の方を使うと若干環境構築が楽になる…かも.問題が起こったらこちらの方に切り替えてみるといいかも)

基本デフォルトでインストールしていきました。

GitLabでユーザー作成

以前設置したGitLabに管理者としてログインし、普段使うユーザーを作成します。

青丸で囲んでいる部分を押して、ユーザー作成

ユーザーの各種情報を入力していきます。

ここでメールアドレスですが、メールアドレスとして正しい形式ものを要求するようです。
入力が終わったら、Saveボタンを押して終了です。

 

ユーザーが作成されるとこのような画面となります。ユーザーが作成されたら、管理者はログアウトしておき、トップ画面に戻しておきます。

ssh認証キーを作成する

GitLabへのアクセスではssh認証キーを要求するので、これを作成します。

スタートメニューから、”TortoiseGit”/”Puttygen” というプログラムを起動します。
起動させたら、 ウィンドウ中央にある、”Generate”のボタンを押して、ウィンドウ内の空白部分でマウスをぐりぐり動かしてキーを完成させます。

キーが完成したらとりあえずそのウィンドウはそのままにしておきます。またあとで操作します。

先ほど作成したユーザーで、GitLabにログインします。
そして、そのユーザーのプロファイルを開き、 ssh keyの登録画面を表示させておきます。

この画面で、Titleはわかりやすい名前を入力し、Keyの部分で先ほどのキーを生成したウィンドウで表示されているキーをコピー&ペーストします。この部分でペーストするのは、赤枠部分に書かれているテキスト全てです。貼り付けが終わったら、Saveボタンを押して、登録を完了させます。

続いて、キーの秘密鍵を保存します。オレンジ枠の部分の、”Save Private key”のボタンを押して、パスフレーズないよ警告を無視して、保存します。ここでは仮に、gitlab-accesskey として保存しました。これでこのウィンドウはもう閉じても大丈夫です。

GitLabにプロジェクトを作成

GitLabにプロジェクトを作成します。

Dashboardのメニュー画面に戻って(家のアイコンをクリック)、画面下部の方に表示されている、”New Project”をクリックします。

プロジェクトの名前を入力するとPath, Codeなどは自動的に入力されます。基本変更しなくてもよいはずなので、そのままにしておきます。Descriptionには適当にプロジェクトの説明等を入れておきます。入力したら Save を押しておきます。

プロジェクトを作成するとこんな画面が表示されます。


これらはコンソール版Gitを使っているときにはこの通り入力していけばよいのですが、今回はTortoiseGitを用いてと言うことなので眺めるだけにしておきます。

Subversionと違って、リポジトリもまずはユーザーが作ってそれをコミットという形になります。

Gitのリポジトリを作成

さて、Gitのリポジトリを用意します。適当なフォルダを開いて、そこで空のフォルダを用意します。
適当に、HelloGit とフォルダを用意してみました。そのフォルダを右クリックして、
“Git create repository here”を選択します。OKをおして続行するとGitリポジトリができあがります。
(その HelloGitフォルダの中を見てみると、.git フォルダができています。 )

このフォルダに Readme.txt を作成してみます。中身は適当に Hello, git とかしておきます。

ファイルを用意したら、まずGitの管理対象に加えるために、ファイルを選択して右クリック、

“TortoiseGit”/”Add” を選択して(ファイルにチェックを付けて)追加します。その後OKを押してウィンドウを閉じます。
続いて、 ファイルを追加したので “Commit”操作をしておきます。このCommitはまだローカルでの作業になります。同じように右クリックして、”Git Commit -> “master” を選択します。コメントを入力した後、OKを押します。

これでGitLabにこのリポジトリが準備できたのでGitLabのプロジェクトにコミット(Push)を行います。

HelloGitのフォルダを右クリックして、”TortoiseGit”/”Push” を実行します。
初回なので、GitLabへのアクセスの設定を行います。 開いたウィンドウで、”Manage”ボタンがあるので押すと、新しいウィンドウが開きます。ここで以下のように設定します。

  • Remoteには、origin
  • URLには、 git@192.168.142.133:hellogit.git
    (アドレスは、適時修正すること )
  • Putty Key: には、さっき保存した秘密鍵のファイルを設定

これを入力した後、Add New/Save ボタンを押して、OKバタンを押して設定を閉じます。

閉じた後、Push操作のウィンドウでは、”Remote”の部分に、”origin”が入力されていることと思います。この状態で、OKボタンを押すと、GitLabに対してリポジトリのコミットが行われたことになります。
(初回接続なので、Puttyの警告ウィンドウが出てくることと思います、この場合にはOKで実行を継続してください)

どうでしょうか、成功したでしょうか?

GitLabにログインして、今追加したリポジトリ情報を確認してみてください。
Filesを開いてみるとこんな感じになっています。

これでtortoiseGitを用いて、GitLabを使うということができました!
あとは自由に開発を行っていくことができるでしょう。

わかっている問題点

自分で試してみてわかっている不具合として以下のようなものがあります。

  • たまにFilesにアクセスできないコミットがある
  • 日本語はUTF-8エンコードされたものでないと、GitLabの表示上では化けてしまう。
  • ソースコード中のコメントで、Shift-JISのものがある場合、文字化けで表示されるか、そのソースコードファイル全体がGitLab上から表示できない

いろいろとここまでたどり着くまでに Git初心者だったので苦労しました。
でもせっかくなのでしばらくはGitでいろいろとやってみたいかなと思います。

次回は、Redmineとの共存でもやってみようかなと思います。
噂ではそのまま共存はできず、一手間が必要らしいと聞いています。