ページ内ジャンプ:

アレゲなニュースと雑談サイト

Yoh2 の日記から検索

Yoh2 (6924)

Yoh2
yoh2@d2.dion.ne.jp

一応プログラマ。C99とgotoを愛用する珍種。
大の機械音痴で最近の携帯電話なんて使える気がしません。
2010 年 03 月 03 日
AM 12:55
Windows

既にWindows7の入門書なりマニュアルなりに書かれていることだとは思うけど。

PCを触っていて手持ち無沙汰になると、ウインドウを掴んで振り回す癖があるんだけど、これをWindows7を入れたPCでやったら他のウインドウが一斉に最小化。びっくり。
もう一度やったら元に戻った。
へー、こんな機能があるのか。

もうちょっと試してみたら、ウインドウを掴んで縦か横に一往復半 (←→←、→←→、↑↓↑、↓↑↓) で発動するっぽいということが分かった。
今までノートPCでWindows7使ってて気付かなかったのは、ノートではマウスを使わないからだと思う。
トラックポイントでは狙わないとあまり細かく振り回せないし。

使えそうな使えなさそうな……、まあいいや、覚えとこう。面白いし。

# ちなみに、ウインドウを振り回す癖が付いたのは、KDE4でウインドウ移動時に
# ウインドウをびよんびよん変形させる設定にしてから。あれ触ってると面白い。

2010 年 02 月 28 日
AM 02:47
音楽

PCから出した音を同じPCで録音したい場合がちょくちょくありまして。
(ぶっちゃけゲームのサントラでっちあげ -- 別にサントラが出たらそれはそれで買ってるから見逃して、と言ってみる)
で、このために、ふたつのサウンドデバイスをSPDIFで接続することで劣化対策してます。
接続は OUT: M-Audio DELTA66、 IN: M-Audio FW410。
ところが、どうもプチノイズが乗ってしまう。それに、どうも日に日に悪化しているようにも思える。
ちょいと思い立って、IN/OUTを逆にしてみたら、

  • DELTA66のSPDIFで入力した音をそのままDELTA66のアナログに出力する分には綺麗に聞こえる。
  • でも、SPDIFポートを指定して録音するとプチノイズどころじゃないぞわぞわノイズが乗りまくり。

なんて状況でして。
ドライバの設定やバージョン、OSを変えても状況は変わらずなので、問題は多分そこじゃない。
もしかしてDELTA66のSPDIF→入出力の経路のどこかがおかしくなってるのかな? と。Direct monitoringでは綺麗だから、SPDIF自身は無事なんだろうけど。
原因が何であれ、これじゃ使いものにならない。
幸い、オンボードのサウンドデバイスにもSPDIFがあったので、今は OUT: オンボード (Reltekのチップだったかな?)、IN: FW 410 でお茶濁し中。問題なく稼働してます。
でも、折角だから、この際サウンドデバイスをリプレースしてしまおうかな。
とするとDirectWIREが使えるEGOSYS/AudioTrack製品が有力候補。配線の手間がいらなくなるし。
前に使ってたMAYA44 MkIIやProDigy 192は、アナログ部分がマザーボードの雑音を盛大に拾ってしまうのを嫌がって手放したけど(あと、当時はLinuxで動かなかった)、DirectWire専用と割り切るなら関係なくなるし。

# ん? でもAudioTrackの方の現行製品にDirectWireのロゴがないな。対応してないのかな?
# あと、ESI のWaveterminalシリーズももはや現行製品じゃないのね。できれば外部BOX IFが使える製品がいいんだけど。

2010 年 02 月 20 日
PM 12:42
Windows

OSのインストールは慣れているつもりでも毎回あたふたする破目になっちゃうんだよなぁ、という話。

Vista SP2を適用するとなぜか失敗(インストール後の再起動時にロールバックされる)するという怪しい状況から脱却すべくWindows7をインストール。
ハマったことは3つ。
最初のふたつは以前ハマったことがあるけどすっかり忘れていたことたち。喉元過ぎればという奴か。

その1:sambaで構築したドメインに参加できない
正確には、参加まではできるけど「信頼関係の構築に失敗しまた」と言われてログオンできない。
これは有名なネタで、レジストリをいじることで解決できるんだけど、最初にやっておかなかったのが悪いのか、Windows Update適用前だったのが悪いのか、後からレジストリを設定して、離脱→再参加としてもログオン不可。
別PCではWindows7からドメインに参加できているので、sambaがWindos7非対応ということはないんだけどなぁ。

その2:言語パックインストールで延々と再起動
Windows Updateをかける時、言語パックをすべて選んだら、

  1. 再起動する
  2. 「Windowsの機能を構成中」(だったかな?) 15%で延々と待ち (数十分)
  3. 気付くと再起動してる
  4. 以下ループ

なんて状態に。もしかして言語パックの数だけこれやるのか?
て、これ、Vistaでもハマったんだけど、すっかり忘れてた。

上ふたつはWindowsのインストールをやり直して回避。

その3: 移動プロファイルがうまく取得できない
その1を乗り越えて無事ログオンできるようになったはいいけど、移動プロファイルの取得に毎回失敗してしまう。
sambaのログを見ると、開けるファイル数の上限に達してしまっている模様。
移動プロファイルにいろいろ突っ込んでるからなぁ。
Windowsの方で一度に開く数を控え目にする方法があるかも知れないけど、今回はsambaの方で制限を緩めることで対応。
設定項目は[global] max open files。ここがデフォルトの1024になってたのを10000に変更した。
て、この項目について調べたら、デフォルトが10000だと書いてあるページを見付けたんだけど、バージョン違いだったのかな。

で、先ほど上の問題がすべて解決。
Windows Updateで最新版にすることができるようになって気分すっきり。

ところで、上限が7.9までに引き上げられたエクスペリエンスインデックスはこんな感じに。
(CPU: Opteron 2350, VGA: Radeon HD5870, HDD: WDC WD50 00AAKS-00YGA)

  • プロセッサ: 7.4
  • メモリ(RAM): 7.7
  • グラフィックス: 7.8
  • ゲーム用グラフィックス: 7.8
  • プライマリハードディスク: 5.8

さすがにカンストまでは行かないけど、全体的にかなり健闘しているっぽい。
そして相変らず足を引っ張るHDD。まあ変更してないから変わりようがないけど。

# ……は。Boincの作業ディレクトリのバックアップ忘れた。またホストが増える……
# それにサウンドデバイスの音量設定も。アレ調整が面倒なんだよ。

[16:07追記]
追加でトラブルひとつ。
Windows7用SC-8820用ドライバがなくてVista用を入れようとしたらOSのバージョンが違うと怒られた。
これはインストーラをVista SP2互換モードで動かしたらうまくインストールできた。
ちょっといじった感じでは問題なく動いている模様。

2010 年 02 月 14 日
PM 07:02
ハードウェア

32ビットPC Cardbusの周辺機器を買った。
PCI接続のがあればよかったけど見つからなかったので。
サーバにつけるつもりだけど、Cardbus→PCI変換アダプタはあったはず。
どこにしまったか忘れたけど、とりあえず候補がいくつか。
というわけで帰って早速探してみた。

候補その1: IEEE1394aアダプタが出てきた。結局使ってないなぁ。
候補その2: Socket370→Slot1変換アダプタが出てきた。ナツカシス。
候補その3: 当たりだと思ったらHDDの空箱だった。紛らわし。
候補その4: 当たりだと思ったら昔サーバに付けてた安VGAボードの空箱。
候補その5: 16ビットPCカードアダプタが出てきた。惜しいけどコレジャナイ。あとHHK Pro。
候補その6: HHK Light(初代)が出てきた。
候補その7: HHK ProとHHK Pro2が一台ずつ出てきた。

やったね家にあるHHK系コンプリート。
……目的チガウ。

で、結局出てこなかった。
そういえば手放したんだったかなぁ。
まあいいや、新調するか。

# 買い直すと出てくるんだよなぁ。

2010 年 02 月 11 日
AM 01:04
AMD

# これまたメモ。USBサブモニタの方も纏めないとなぁ。

結構前に、ATI Stream目当てでRadeon HD5870を買ったのはいいけど、Linuxではうまく動かなかった。
SDK付属のサンプルプログラムのビルドはできるけど、実行させるとセグメンテーション違反で強制終了といった塩梅。
ちょいと調べてみたら、カーネル2.6.29以降では動かせないとの記事を見掛けた。
今使っているのは2.6.31。
カーネルのバージョンを下げるべきかどうかで迷っていたが、今日、サンプルプログラムをstrace上で実行した時に現れるエラーEAGAIN (Resource temporary unavailable) を手掛りに再度調べてみたらこんな記事を発見。

AMD Developer Forums Forums - linux: segmentation fault with FindNumDevices /PCIeSpeedTes

カーネルの起動オプションに「nopat」を付けてPATを無効化することによりうまく動かすことができるとある。
これを試してみたらサンプルプログラムが無事動いた。
これでカーネルのバージョンを下げる必要がなくなった。

環境
ディストリビューション: Gentoo Linux 2010.0 amd64
カーネル: 2.6.31-gentoo-r6 + EDACパッチ(OpteronでEDACを使うため)
ドライバ: ati-driver-9.12
(とページにはあったけど、ダウンロードしてみたらファイル名がati-driver-installer-10-1-x86.x86_64.run。
ati-driver-installer-9-12-x86.x86_64.runという名前のファイルは以前ダウンロードして別に持ってるし。
もしかしてこっそり10.1かも)
SDK: ATI Stream SDK 2.0

2010 年 02 月 10 日
AM 12:17
日記

コンビニでお買い物。
見慣れないラベルの500mlペットボトル飲料があったので、とりあえず買うことに決め、よく見ないままレジへ。
買ってから見てみた。
「CHOCOLATE SPARKLING」
炭酸チョコレート……?
…………
……

飲んでみた。
…………………………………………
……………………
…………
……

2010 年 01 月 20 日
AM 01:42
モニター

ちょいと前にUSB接続のディスプレイを買った。
モノはCENTURYのLCD-8000U
これはDisplayLink社のチップを使っているらしい。
こいつをLinuxで動かそうといろいろ試してみた。
眠いので体裁を整えたり、詳細を記述したりするのは後回しにするとして、とりあえずつらつらと。

  • 各種情報はfreedesktop.org DisplayLink Wikiを基点に探すとよい。
  • 上記ページで紹介されているフレームバッファドライバは以下の3つ。
    • udlfb
    • displaylink-mod
    • displaxlinkfb
  • udlfb or displaylink-modと連携して動くXのディスプレイドライバ xf86-driver-displaylink もある。
  • 他、ユーザーモードのライブラリlibdloがある。

udlfb
オリジナルのDisplayLinkフレームバッファドライバ。カーネル2.6.31ではstagingドライバとして試験的に入っている。
解像度がハードコーディングされている4種(800x480、1024x768、1280x1024、1480x1050)のみ対応。
それ以外の解像度だと1280x1024として扱われる。
LCD-8000Uの解像度は800x600のため、やっぱり1280x1024に。
モニタは左上の800x600の領域を映している。
fbgrabなんかすると右下がスカスカ。

displaylink-mod
udlfbの発展版。いろんな解像度に対応。構造体のメンバ定義が変わったため、新しめのカーネルではちょっといじらないとコンパイルが通らない。
これ + mplayerの -vo fbdev2 だと表示がおかしい。udlfbならOKなんだが。なぜに。
なお、-vo fbdevならdisplaylink-modでも大丈夫。

displaylinkfb
udlfbやdisplaylink-modがちと癖のあるフレームバッファデバイスなのに対し、こちらを使うとごく普通のフレームバッファデバイスとして動作させることができるらしい。
Xもvesa用のドライバがそのまま使えるらしい。
……が、これ、今のところうまく動かせてない。
モジュールは作って読み込ませるまではうまく動くけど、デバイスを繋ぐと、register_framebuffer()等のAPIのバージョンが違うとか言われて失敗する。うーむ。

(udlfb、displaylink-mod利用時の画面更新タイミング)
単純にmplayerの-vo fbdev or fbdev2を使って動画再生しようとしても画面が全然更新されない。
デバイスファイルをクローズするか、ioctl()を使う必要あり。

画面更新用のioctl()リクエスト番号は0xAA。
パラメータには以下の構造体へのポインタを渡す。

struct dloarea
{
        int x, y;
        int w, h;
        int x2, y2;
};

x、y、w、hで更新領域の指定。x2、y2は使用しない。
このioctl()を適当な更新タイミングで繰り返し呼び出し続ければその都度再描画されるので、そういったプログラムを動かしつつmplayerを動かせば動画もOK。

ioctl()リクエスト番号0xADでEDIDの値が得られるので、画面の大きさ等を動的に得たい場合はこれを使うべし。このioctl()のパラメータには128バイトのバッファを渡す。

プログラムを書くのが面倒なら、bashスクリプトで

while true; do touch /dev/fbX; done

(fbXのXの部分には適切な数値を入れること)
としてお茶を濁すのも可。ただしCPU使用率はちと高め。

xf86-driver-displaylink
IntelのドライバやATIのドライバでXineramaをオンにすると
Xサーバが起動しないので今のところ使い物にならず。
Xineramaオフなら何とか動くけどうれしくない。
Intelのドライバに関しては、displaylink-modのソースと同じサーバに、displaylink-modと同時に動かすことができると思わしきドライバのソースがあった (ただしexperimental)。
でもビルドできず断念。(今入れてるXのバージョンが新しすぎるっぽい)

libdlo
動いたー。make checkで何か映ったー。わーい。
うん。今のところそれだけ。

# ところで、この製品、モニタの明るさを三段階(Hi/Mid/Lo)に
# 設定できるけど、マニュアルを読むと、Lo以外は消費電流が
# USB規格上の上限の500mAを超える仕様。
# んで、デフォルト設定がMid。いいのか?
# ……まあいいか、CENTURYだし(何

2010 年 01 月 16 日
PM 05:22
日記

今朝目を覚ましたら午前8時。
今日は休みなので二度寝。

……

おはようございます。たった今起きました。
て、周り暗いし。
いやー、これだけ爆睡したのは久しぶり。どれだけ疲れてたんだ?

2009 年 12 月 19 日
PM 08:30
日記

前に日記でネタにした「魔王さんちの勇者さま」、2巻が出てた。

で、前回冗談で予想した幼馴染の名前、ホントになでしこだった。ついでに「ひまわり」も入ってた。あー、それもあったなぁ。
他の新キャラも相変わらずの命名法でニヤニヤしながら読んでたり。ん? エディタも参戦? 人間/魔族じゃないというオチはないだろうなぁ。
ところで、名前だけ出てきた「志村」、あれも言語にカウントしていいのかな?

[2009-12-19 22:05 もしかして「vivi」じゃなくて「VB」?]

んで、未だに「水上澄人」と「サフラ」の元ネタが分からん。
次巻のあとがきでネタ明かしする、とあったし、それまで待ってよう。

<妄想 warn="グダグダにつき注意">
弟の「シャープ」が出る予定がない?
なら、いとこの「オブジェ」(Objective-C)でひとつ。
出自からするとまだ見ぬ「パスカル」さんとも血縁?(Object Pascal)
ん? Object PascalといったらDelphi。魔王さまにも繋がっちゃうな。
て、人の作品をおもちゃにして遊びすぎだな、こりゃ……
</妄想>

# えーと、名前ネタばかりなのはネタバレを避けているからで、
# 内容に興味がない、というわけじゃないですよ。念のため。

2009 年 11 月 20 日
AM 12:32
日記

国民投票に書いた私のコメント

ほぼIE専用の会員サイト

この表現が妙にエロく感じてしまった。実際はMSDN。エロくないですよ〜。
# て、今見たら右上に堂々と「サインイン」のリンクが。あれ?
# いつもは、迷いながらリンクを辿って、ページ真ん中辺りにサインインページへのリンクがあるページを探し回ってるんだけど。