PCI Express 16xのグラフィックカードを8xに加工する

NEC Express 5800 110Geという格安サーバをデスクトップとして使っている[注1].2008年11月当時ですら,常に1万円ちょいで売っていた.

今はExpress5800/S70なるものが出ていて,ClarkdaleコアのPentium Dual-CoreにPCI Express 16xスロットが付いて16800円のようである[注2].
しかし,110Geでは低速なオンボードグラフィックに,ディスプレイ出力はD-Sub 15Pinのみである.しかも,PCI Express 16xスロットがなく,インチキくさい8xスロットが2本付いているだけである

このままではスロットに干渉して16xのグラボを取り付けられない・・・ので削った.

かなり今更な感じではあるが,作業内容をメモしておく.

参考
Express5800/110Geを試してみる
Express5800/110Gd ビデオカード取付け

上記サイトにも書かれている通り,ブラケット側38ピンを残してラッチ側を削った.PCI Expressの仕様を見ても,これでいいんじゃないかと思う.

取り付けたのはGA-7600GSH.3年以上前に4000円@中古屋で買って,シバきまくった代物なので未練なぞない.

削る前.机が傷になるのでなんか敷いたほうがいいです.

削った後.

カッターで矩形にガリガリと傷を付け,ペンチでバキッとやると簡単に取れます.ラジオペンチよりペンチのほうがいいです.仕上げに金属ヤスリでバリを取って,接点スプレーで磨けば完成です.

繋いだら普通に動きました.めでたし.

[注1] 厳密に言えば僕は管理をしているだけで,使ってはいない.
[注2] ググったら,同スペックのデスクトップ機は概ね3〜5倍する.OSとサポート代か.

Ubuntu10.10(maverick)+Wacomタブレット+2画面でタカミンお絵描きチャット

表題の方法を書いておきます.

僕の環境は下記の通りです


・Ubuntu 10.10
・Wacom Bamboo Comic CTE-650
・1680x1050の液晶2台

問題は大きく分けて2つあります.

・FirefoxでJavaアプレットが使えない
・タブレットをUSBに繋いだだけの状態では,2画面に対してペンタブ1台がマッピングされていて,実質利用できる領域が狭い上にアスペクト比がおかしい

まずはFirefoxでJavaアプレットを使えるようにしましょう.


sudo add-apt-repository 'deb http://archive.canonical.com/ maverick partner'
sudo apt-get update
sudo apt-get install sun-java6-jdk sun-java6-plugin

通常使うJavaがOpenJDKになっている可能性があるので


sudo update-alternatives --config java

で,sun-javaを選びます.sun-javaのみがインストールされている場合は,次のようなメッセージが出るので次に進んでOKです.


There is only one alternative in link group java: /usr/lib/jvm/java-6-sun/jre/bin/java
Nothing to configure.

デフォルトだと,Firefoxのjavaへのパスが/usr/javaとなっているので,/usr/bin/javaに直します.Firefoxを開き,アドレスバーにabout:configと入力します.検索バーに/usr/javaと入力し,/usr/bin/javaに書き換え,Firefoxを再起動すればOKです.

次にタブレットの問題です.この方法で解決できます
日本語訳しときます(Bamboo Comic向けにソラオチが加筆修正しています)


Wacomのタブレットは今までHAL FDIで設定されてきたが,LucidからはHALが使われなくなったので,どうやって適切に設定すればいいのか私には分からないです.
でも,デフォルトのXOrg configを使ってる人なら,プライマリディスプレイだけでWacomタブレットを使うハックがあるよ.
これはあくまでBamboo Comic(注1)での例なので,自分のタブレットに合わせた設定を,コマンドを実行して探してください.

まず自分のタブレットの名前を調べます.STYLUSが含まれてる行を探しましょう.

$ xsetwacom --list -v
... Display is '(null)'.
... 'list' requested.
... Found device 'Virtual core XTEST pointer' (4).
... Found device 'Virtual core XTEST keyboard' (5).
... Found device 'Power Button' (6).
... Found device 'Power Button' (7).
... Found device 'Eleen USB Device' (8).
... Found device 'Wacom BambooFun 6x8 eraser' (9).
Wacom BambooFun 6x8 eraser ERASER
... Found device 'Wacom BambooFun 6x8 cursor' (10).
Wacom BambooFun 6x8 cursor CURSOR
... Found device 'Wacom BambooFun 6x8 pad' (11).
Wacom BambooFun 6x8 pad PAD
... Found device 'Wacom BambooFun 6x8 stylus' (12).
Wacom BambooFun 6x8 stylus STYLUS
... Found device 'Microsoft Microsoft 5-Button Mouse with IntelliEye(TM)' (13).

上の例だと「Wacom BambooFun 6x8 stylus」です.

次にタブレットのX軸解像度TXを調べます.

$ xsetwacom --get "Wacom BambooFun 6x8 stylus" BottomX
43296

この場合TX=43296です.次に,仮想デスクトップの解像度WXを調べます.

$ xsetwacom --get "Wacom BambooFun 6x8 stylus" SBottomX0
3360

この場合WX=3360です.液晶の解像度が一枚あたり1680x1050なので,1680*2の値と等しくなっています.
最後に,プライマリディスプレイのX軸解像度をSXとおきます(うちの場合SX=1680).

今回紹介するハックでは,タブレットのX軸解像度をTXを実際より大きく設定します.こうすることで,セカンドモニタを領域外に割り当てます.
まず,AX = TX * (WX / SX)という関係式からAXを求めます(うちの場合AX = 43296 * (3360 / 1680) = 86592 ).
もしカーソルがセカンドディスプレイの左側1ピクセルに飛ぶのを止めたいなら,少しAXを小さめに設定するといいですが,あくまで好みの問題です.
とにかく,AXを決めたら

$ xsetwacom --set "Wacom BambooFun 6x8 stylus" BottomX 86592

のようにタブレットのX軸解像度を設定します.

もし必要なら,Y軸についても同様に設定します.
このコマンドは再起動の度に実行する必要があるので,スクリプト(例えば~/.bashrc)に記述しておく必要があります.
定石としてはDeviceKit Rule(注2)で自動的に実行するのがいいのですが,そうしませんでした.

--------------------

注1:原文ではBamboo1という機種について書かれている

注2:/usr/share/X11/xorg.conf.d/50-wacom.conf あたりのことと思われる./usr/share/X11/xorg.conf.d/50-wacom.conf に記述する方法も別のフォーラムに書いてあったのですが,Ubuntu 10.10では上手く動かないようです.

以上で,タブレットの有効範囲をプライマリディスプレイのみにすることができます.

無事,takaminでお絵かきできるようになりました.

参考URL
[SOLVED] Configuring Xorg for dual screen, single wacom

ubuntu10.4でsun-javaを使う。Javaアプレットを見れるようにする。

Ubuntu Firefoxでアプレットを起動するとクラッシュ