スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Date: --.--.-- Category: スポンサー広告   

DisplayLink の USB-VGA アダプタを Linux で - Xorg ドライバを使ってみる

前回は Xorg のドライバがリリースされましたが、解像度の調整が効かずに正常に表示出来なかった、という状態でした。
今回、カーネルモジュールの udlfb が 0.2.3 に、Xorg のドライバが 0.3 に更新されました。今回のアップデートで、対応外の解像度でも一定の解像度で表示されるようになったようです。

パッケージには、カーネルモジュールと Xorg のドライバそれぞれのソースが同梱されているので、まずはカーネルモジュールのビルドをします。これはカーネルソースがあれば大体ビルドできると思います。
Xorg のドライバは、ちょっといろいろ必要だと思います。私の Ubuntu9.04 環境では、x11-proto-core-dev, x11-proto-fonts-dev, xserver-xorg-dev パッケージをインストールする必要がありました。
あとは定番の ./configure, make, sudo make install をすればドライバがインストールされますが、デフォルトだとドライバが /usr/local 以下にインストールされてしまい、そのままでは認識されませんでした。
本来ならインストール位置を正確に指定すべきなのでしょうが、それほどの手間でもないので、/usr/local/lib/xorg/module/drivers/ 以下の displaylink.* ファイルを、/usr/lib/xorg/module/drivers/ 以下にコピーしてしまいます。

あとは一旦 gdm をストップして、カーネルモジュールを読み込んでから X を立ち上げます。
カーネルモジュールを読み込む前に、DisplayLink デバイスを USB ポートに接続しますが、この時に対応する解像度 (800x480, 1024x768, 1280x1024, 1400x1050) ではない解像度のモニターの場合、まだモニターは接続しないでおきます。
これは、モジュールを読み込むときにモニターの最大解像度を認識するのですが、ここで対応外のモニターだとモジュールが読み込まれないからです。
モニターが認識されなければ、fallback モードとして 1280x1024 の解像度を設定します。モジュールを読み込んだ後にモニターをつなげれば、(1280x1024 に対応したモニターであれば) 正常に表示されます。

あとは、Xorg ドライバに同梱の Readme を参照に xorg.conf を編集します。とりあえず私が試せたのは、ここ に置いた xorg.conf の内容です。

ざっと使った感じでは普通に使えてます。今回テストしたのは SC3 だったので、動画の再生については本体の力不足もあるかもしれないので、なんとも言えませんが。。。
xorg.conf を書き換える必要がありますし、Windows のように手軽にディスプレイを追加、というわけには行きませんが、ちゃんと Linux でも動くようにはなってきているようですね。
スポンサーサイト
Date: 2009.06.11 Category: DisplayLink  Comments (6) Trackbacks (0)

この記事へのコメント:

あっき

Date2009.11.19 (木) 16:44:13

こんにちは。

WindowsPCでは重宝しているDisplayLinkの製品ですが、ちょっと古いデスクトップにUbuntu9.10(最初は9.04を入れました)を入れて試そうと思ったところ、はまってしまっています。
上にも書いたのですが最初は9.04をインストールしたのですが、リンクがはられているxorg.confがどうしてもとおらず、9.10を再インストールしたところxorg.confができずにいます。が、sudo con2fbmap 3 1でグリーン画面になりCtrl+Alt+F3でログインすることができました。まだここまでしかいかないのです。

やったことは

Linux-Ubuntu9.10で作業
1。Synapticパッケージマネージャにて
  /x11-proto-core-dev、xserver-xorg-devをインストール
   (x11-proto-fonts-devは検索できなかった。)
2。http://libdlo.freedesktop.org/wiki/xf86-driver-displaylink より
  /http://projects.unbit.it/downloads/udlfb-0.2.3_and_xf86-video-displaylink-0.3.tar.gz をダウンロード
  /sudo apt-get install pkg-config and xorg-dev を行う
  /./configure, make. sudo make install を行う
  //usr/local/lib/xorg/modules/drivers に
-rwxr-xr-x 1 root root 993 2009-11-19 13:30 displaylink_drv.la
-rwxr-xr-x 1 root root 165230 2009-11-19 13:30 displaylink_drv.so
   ができる。
  /その後これらを/usr/lib/xorg/modules/drivers にコピーする

3。/etc/gdm/Init/Default に
   XRANDR=`gdmwhich xrandr`
     if [ "x$XRANDR" != "x" ] ; then
    $XRANDR -o 0
   fi
  を加える。

4。
  / wget http://ftp.gnome.org/pub/gnome/sources/glib/2.20/glib-2.20.1.tar.gz
  /  tar -zxvf glib-2.20.1.tar.gz
  /  cd glib-2.20.1/gio
  / wget http://launchpadlibrarian.net/27278363/C%3A%5Ccygwin%5Chome%5Cgwa%5Cglib-fix.patch and rename it fix.patch
  /  patch gdesktopappinfo.c fix.patch
  /  cd ..
  /  ./configure --prefix=/usr
    gettextがないとエラーになったので、sudo apt-get install gettextを行った。
  /  sudo make install

5。 displaylink-modの組み込み
   http://projects.unbit.it/downloads/displaylink-mod-0.3.tar.gz をダウンロード
/ sudo apt-get install module-assistant、sudo module-assistant prepareが最初に必要

ですが、このdisplaylink-modのmakeでエラーがどうしても消えません。

申し訳ありませんが、アドバイスをいただけませんか?

SC3WO06A

Date2009.11.20 (金) 23:30:05

コメントありがとうございます。
まだ Ubuntu9.10 で displaylink-mod のビルドはしていなかったので、エラーに関してはちょっとわかりかねます。申し訳ありません。
ただ、Ubuntu9.10 には udlfb という DisplayLink デバイス向けのカーネルモジュールがデフォルトで組み込まれています。これは、
>sudo con2fbmap 3 1でグリーン画面になりCtrl+Alt+F3でログインすることができました。
これができていることからも、Ubuntu に DisplayLink デバイスが認識されていることを示しています。(udlfb も組み込まれていなければ、何も表示されないはずです)
udlfb でも displaylink_drv で X のディスプレイにすることができるので、もし問題がなければ displaylink-mod のビルドはしなくても済むかも知れません。
ただ、udlfb は解像度が 1280x1024 までしかサポートしないので、それ以上の解像度のディスプレイをご使用されている場合は 1280x1024 までしか表示できないことになりますが。

もし displaylink-mod のエラーが回避できないようでしたら、とりあえず udlfb のままで X が使えるかどうか試してみるのもいいかもしれません。

こちらでも時間を作って、また DisplayLink の件を追いかけてみたいと思います。

あっき

Date2009.11.21 (土) 17:03:40

こんにちは。コメントありがとうございます。

9.10ではXのテストはできていないのですが、9.04を他のPCにインストールしてみました。
やはりdisplay_modではまっています。
netwalker@netwalker:~/DL/displaylink$ make
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/netwalker/DL/displaylink modules
make: *** /lib/modules/2.6.28-271-gec75a15/build: No such file or directory. 中止.
make: *** [all] エラー 2
netwalker@netwalker:~/DL/displaylink$

何でなんでしょう。udlfbでもいいと思ったのですが、こちらも同じようなエラーになってしまいます。

あっき

Date2009.11.23 (月) 11:42:07

この部分が間違っていたようです。

/ sudo apt-get install module-assistant、sudo module-assistant prepareが最初に必要

ですが、
netwalker@netwalker:~/DL/displaylink$ make
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/netwalker/DL/displaylink modules
make: *** /lib/modules/2.6.28-271-gec75a15/build: No such file or directory. 中止.
make: *** [all] エラー 2

となってしまいます。
もうちょっと頑張ります。

SC3WO06A

Date2009.11.23 (月) 11:59:56

まず
make: *** /lib/modules/2.6.28-271-gec75a15/build: No such file or directory. 中止.
このメッセージを読む限りではカーネルのソースが無いと思われますが、そこは確認されているでしょうか?
displaylink-mod も udlfb もカーネルモジュールなので、稼働しているカーネルに対応するカーネルソースを入手することが前提となりますよ。

あっき

Date2009.11.25 (水) 13:28:47

実はシャープのNetwalkerに接続しようとしたのです。ですが、カーネルのソースがまだリリースされていないようです。

そこで改めてUbuntu9.04をデスクトップにインストールしました。
displaylink-modのmakeではエラーは出ませんでしたが、どうもframebufferができておらず、
:~$ sudo con2fbmap 3 1
open /dev/fb0: No such file or directory
となってしまいました。
これはdisplaylink-modが失敗したのでしょうか?

~/dl/displaylink$ make
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/nakano/dl/displaylink modules
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.28-11-generic' に入ります
Building modules, stage 2.
MODPOST 1 modules
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.28-11-generic' から出ます
~/dl/displaylink$ sudo make install
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/nakano/dl/displaylink modules_install
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.28-11-generic' に入ります
INSTALL /home/nakano/dl/displaylink/displaylink.ko
DEPMOD 2.6.28-11-generic
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.28-11-generic' から出ます
~/dl/displaylink$ sudo depmod -a
~/dl/displaylink$



管理人のみ通知 :

トラックバック:


最新記事
最新コメント
ウィジェット
月別アーカイブ
カテゴリ
プロフィール

SC3WO06A

Author:SC3WO06A
FC2ブログへようこそ!


検索フォーム
RSSリンクの表示
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。