2008/06/05(Thu)UltraVNC on x64

2008/06/05 21:45 Software::Windows
今までXPのx86でも使っていたUltraVNCを、x64上でも動かしたい!
けど、ドライバがx86とは違ったりする模様。いろいろ調べてみた。

red:この記事の内容は古くなりました。Part 2をご覧ください。

UltraVNCのパッケージ

まずは本体であるが、日本語特有のキーを使いたいため、日本語版が好ましい。
x86と同じであるが、日本語バージョンを作っている作者さんのところからとってきた。
使ったバージョンは「UltraVNC 1.0.2 日本語版 Release 2」1.0.4はまだRCのようなのでパス。

どーせビデオフックドライバは動かなさそうなので外してインストール。

ビデオフックドライバ

x64のドライバがあるとかいうサイトからwinvnc_x64.zipとvncdrv_x64.zipを取ってきた。
まずはドライバから。

zipを開けて、install.batを起動。
さらっと窓が開いて、デバイスの追加の警告。はいを押すと、途中画面が消えたりついたりしながら「Winvnc video hook driver」というのがデバイスマネージャに登録された。

本体も…?

とりあえず日本語版のwinvnc.exeは案の定x86だが、サービスモードとして登録してもちゃんと動作している模様。
逆にwinvnc_x64.zipの中に入っているものを上書きして見ると、接続時にパスワード認証した後、例外吐いてwinvnc.exeが落ちてしまう……。
じゃ、x86版の日本語UltraVNCに、x64版のドライバを被せればいいんじゃ?

あれ…でも……

タスクトレイのプロパティ...から「ビデオフックドライバのチェック」をやってみると、
---------------------------
Driver Test
---------------------------
C:\WINDOWS\system32\vncdrv.dll Version:  
C:\WINDOWS\system32\Drivers\vnccom.SYS Version:  
C:\WINDOWS\system32\Drivers\vncdrv.SYS Version:  

The driver is present 
The communication service is NOT present 
The driver is NOT active 

---------------------------
OK   
---------------------------
等と言われる……。ありゃ??
ファイルは全て存在しているのに、バージョン情報すら取れてない。

使用感はどうなんだ?

念のため、インターネットを介したテストをやってみて、速度がどうなるか調べてみた。
といっても、2回線契約なんかしてないので、以下のようにして試してみた。
  1. 対象のx64とは別のマシン上で、遠方のサーバーにSSHログイン&ポートフォワードして、遠隔サーバー上にVNCする
  2. 遠隔サーバー上から自分のLANに向ってSSHログイン&ポートフォワードして、遠隔サーバー上からVNCする
つまり、VNCの中でVNCをしたわけだが、LANの中と遜色ないスピードが出た。
SSHターミナルに出力されたスループットログを見ると、3.5Mbpsとか。(↓)
これなら1680x1050にフルカラー接続してもサクサクだな。
VNC Viewer Free Edition 4.1.2 for X - built Oct 24 2007 08:00:12
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.

Thu Jun  5 21:38:03 2008
 CConn:       connected to host localhost port 1234
 CConnection: Server supports RFB protocol version 3.6
 CConnection: Using RFB protocol version 3.3

Thu Jun  5 21:38:07 2008
 TXImage:     Using default colormap and visual, TrueColor, depth 16.
 CConn:       Using pixel format depth 6 (8bpp) rgb222
 CConn:       Using ZRLE encoding

Thu Jun  5 21:38:08 2008
 CConn:       Throughput 1928 kbit/s - changing to full colour
 CConn:       Using pixel format depth 16 (16bpp) little-endian rgb565
 CConn:       Throughput 3470 kbit/s - changing to hextile encoding
 CConn:       Using hextile encoding

というわけで

x86版の日本語版UltraVNCにvncdrv_x64.zip被せればOKかな…。