Linux
 

このページは、なに?

あえて Linux で 3D をやってみたりと、筆者のひねくれた性格がよく出ているページです。(ぉ

 

smbfs / cifs

Windows との連携に必須である smbfs / cifs について。

おすすめは cifs ですが、 Mercurial を使うならば

$ echo 0 > /proc/fs/cifs/LookupCacheEnabled

のようにして inode cache をオフにする必要があります。

なお、 smbfs / cifs は一部の GbE NIC で極端に速度が出ないといった問題が出るかもしれません。私の環境では RTL8139 GbE NIC で発生しました。

kernel cifs smbfs
linux-2.4 系 ? 一定時間アクセスが無いとコネクションが切れ、一回だけ正しく応答しないという症状があるが、ほとんど問題ない。
linux-2.6 系 (2.6.14.2 及び 2.6.14-git12 より前) アクセスが異常に遅い。常に smbfs の 10-50 倍程度遅い。 アクセスは可能だが常用できない程度に何かおかしい。
linux-2.6 系 (2.6.14-git12 付近) 非常に快適だが chmod で実行パーミッションを操作しようとすると失敗する。 git12 より前と同様、何かがおかしい。
linux-2.6 系 (2.6.15-git6 付近 / 2.6.15) 非常に快適。 (chmod で失敗するバグも修正されている!) ?
linux-2.6 系 (2.6.19 / 2.6.21.1) 非常に快適だが、 Mercurial を使う場合は設定が必要。 Mercurial は問題なしだが、若干怪しい。(たまにファイルの移動が失敗するなど)
 

AMD64

ウチの環境 1

CPU
Athlon64 X2 3800+
M/B
A8N SLI Premium
distribution
gentoo linux

ウチの環境 2

CPU
Athlon64 3200+
M/B
A8N-VM CSM
distribution
gentoo linux

注意が必要な点

USB legacy support は意味ねーんじゃねーの? って感じがしますが、これは Dual Core に限らず AMD64 系では鬼門らしく、オフることが推奨されてるっぽいです。

これを切っても grub あたりでキーボードが効かなくなるくらいなので、外しておくのが吉でしょう。ちなみにウチの A8N SLI Premium では USB legacy support を Enable にしておくと、起動直後の hwclock --systohc が確実に失敗するという謎の症状が出ます。

CONFIG_ACPI は、 menuconfig で大元をとりあえず Y にして、 ACPI 関連の中身は全て N で ok だったような気がします。(あくまでもウチの環境でのハナシ。)

Athlon64 X2 でシステムクロックがズレる問題について

システムクロックがズレる問題は 2005年11月11日(金) 現在、 linux-2.6.14.2 や linux-2.6.14-git14 あたりで解決しています。

以下は 2005年10月ごろの、基本的に古い情報です。

Dual Core な Athlon64 X2 で以下のようなログが出力される問題ですが、

Losing some ticks... checking if CPU frequency changed.
warning: many lost ticks.
Your time source seems to be instable or some driver is hogging interupts

ウチの環境 (Athlon64 X2 3800+ / A8N SLI Premium / gentoo linux / 2.6.13 周辺) ではカーネルオプションに notsc を付けることで解決しました。詳しくは以下の資料などを見ると良いでしょう。

2005年11月11日(金)現在は linux-2.6.14-git14 + カーネルオプションなしという構成で問題ありません。

このエラーが出力される環境ではキーリピートがおかしくなったり時計(システムクロック)がずれたりして、ほとんど使いものにならないといった状況になります。

なお、もっとも消極的な対処法は SMP オプションを無効にしてカーネルをビルドすることです。もちろん Single Core の性能になりますが、時計はズレません。(半月くらい、これで凌いだ。。。orz)

システムクロックまわりの問題は 2.6.14-rc3 で修正されたらしいです。(が、ウチの環境では ping などの時間表示がおかしくなったりしてちょっと怪しかった。)

 

XMMS

XMMS を使えば Linux で MDXSPCNSF まで聴ける!

せっかくなので OpenGL を使って Visualization plugin を作ってみました。 GeForce2 + Athlon500MHz 程度の資源が必要です。

ビルドには libGLU が必要です。(Mesa などに含まれています。)

libtest

source code
test-0.0.4a.tar.bz2 (172544 bytes)

effect0 effect1 effect2 effect3
 

OpenGL

 

Linux でも OpenGL ならバリバリに使えたり。 nVIDIA 系カードが無難だけど、速度を求めなければ Mesa でもオッケー。 GL_NV_point_sprite は使えるし GL_NV_vertex_program あたりも使えるらしい。

glmm (OpenGL Machine Monitor)

source code
glmm.20010715.tar.bz2 (36367 bytes)

/proc を覗いて、その結果を無駄にリアルタイムげに描画します。とりあえず Linux 専用です。 GeForce2 + Athlon500MHz 程度の資源が必要です。

(念のため。コレはバカ(joke)プログラムです。起動しただけで大量のメモリと CPU パワーを無駄に必要としますし、 OpenGL の練習のために作ったプログラムなので、モニタとして意味のある作りにはなっていません。
glmm image 02 glmm image 03

glmm2 (OpenGL Machine Monitor 2)

glmm2(ちょっと実用的になった後継プログラム)

glmm2

 

 

Glide! (v 2.60.00.0415)

もう obsolete ですな…使いやすい API だったんだけどな…あぁ 3DFx (;_;

簡単な 3d shooting game (v 1.19(for libc)/v 1.24(for glibc))

適当に作った shooting game です。 Voodoo2 + Celeron300MHz 程度の資源が必要です。

title untitled_title

stage 1 untitled_stage1 untitled_boss00

stage 2 untitled_boss01_destroy

bonus stage untitled_bonus00 untitled_bonus01

binary/data for glibc 2.0
untitled-1.24-glibc.tar.bz2 (692610 bytes)

execute binary for glibc 2.1
three.bz2 (222990 bytes)

戻る