2007/02/12

Gentoo: Beep Media Player (BMP) でiTunesでエンコードしたm4aを再生

gstreamerのインストール:
emerge media-libs/gstreamer media-libs/gstreamer-base media-libs/gstreamer-good media-lib/gstreamer-bad media-plugins/gst-plugins-faac media-plugins/gst-plugins-faad media-plugins/gst-plugins-alsa media-plugins/gst-plugins-esd

alsaとかesd, ffmpegとかはm4a再生には必須じゃないです。必要ならインストールしてください。

ここで重要なのが、gst-plugins-bad をインストールしないと現状ではm4aを再生できません。再生しようとして not-linked エラーが出るときはコレを試してみてください。

gstreamerだけでm4aが再生できるか確認する:
gst-launch-0.10 filesrc location=(m4aファイルの場所: ex. /home/hoge/test.m4a) ! decodebin ! audioconvert ! alsasink

BMPのインストール:
USE="aac alsa" emerge media-sounds/bmpx

他にもUSEフラグがある。mpegを再生したいならffmpegとかを追加。emerge -pv bmpx で有効なフラグが見れます。

後はプレイリストにm4aファイルを追加して再生。

2007/01/21

xorg AGPのチューニング

xorgを使っているときにagpgartを使っていると、defaultでは

agpgart: Putting AGP V2 device at 0000:00:00.0 into 1x mode

で 1xモードになってしまう。
これではビデオカードがAGP 4x/8xだったとしても性能を使い切ってない。
xorg.confのDeviceセクションに

Option "AGPMode" "4"
Option "AGPFastWrite" "on"

を加えることで(AGPFastWriteは無くてもOK)、

agpgart: Putting AGP V2 device at 0000:00:00.0 into 4x mode

目出度く4xモードに。
体感描画速度も向上。

2006/12/21

Gnome 2.16 with dbus 1.0

Gentoo Linuxを以前からアップデートを繰り返して使用し続けている場合、dbus-0.6x から dbus-1.0.xへアップグレードした後に、ファイルの関連づけが機能しなくなる問題が発生することがある。

たとえば、ファイルブラウザからダブルクリックでファイルを開けない、拡張子に対してアップリケーションの関連づけを行おうとしても反映されない、など。

これはACLの設定が原因で、ユーザがmessagebusグループに入っていないとこの機能が働くなくなるためである。
ということで、/etc/groupのmessagebusの行の最後にユーザIDを追加することで元通り関連づけが出来るようになる。

2006/09/17

Ajax

Ajaxの要、XMLHttpRequestの簡単な説明が載っている。
http://www.hawk.34sp.com/stdpls/xml/xmlhttprequest.html

Google Web Toolkitはクライアント側のプログラミングをswingっぽく簡単に出来てJava Scriptにコンパイルして変換してくれる。特にAjaxライブラリを別に必要としない。コンパイルして出来たHTMLなどをWeb Serverに配置するだけで、クライアントコードが動く。

Ajax Toolkit Framework はdojoやZimbra なんかのAjax用 Java scriptライブラリを簡単に使える環境を提供してくれる。これらのライブラリを使いたいときは、こっちが良い。

でもこれらって全部クライアント側のフレームワークなんだよね。
リクエストを受け取ったサーバー側でどうやってるのかってあんまり書いてあるところが少ないんだよな~。
多分普通にcgiとかservletとか使ってXML返すように作るんだろうけど。

クライアントを生成するのと同時に、perlとかruby CGIとか、Servletのソースコードのテンプレートも自動的に生成してくれないかな~。

2006/09/03

Intel SpeedStep を利用する

Intel SpeedStepを利用することで、システム負荷によって自動的にCPUの周波数を変更させることが出来ます。
必要なのは、
  • kernelのIntel SpeedStep サポート設定を有効に
  • cpufreqdとcpufrequtilsのインストール
  • /etc/cpufreqd.conf でのルールの設定
kernelの設定では、
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
こんな感じになるようにkernelの設定をする。
ondemandの設定を有効にすると良いです。

cpufreqdとcpufrequtilsは、Gentooでは
#emerge cpufreqd cpufrequtils
で完了。cpufreqd.conf にはdefaultである程度設定がしてあるので、あとはRuleを自分の好みに従って変えればよい。

自分はコンセントに接続した状態でも低負荷の時は周波数を低くして欲しいので、ac=onのときでもondemandの設定を使用します。

[Rule]
name=AC Rule
ac=on # (on/off)
profile=On Demand High
[/Rule]

"On Demand High"のprofileはDefaultで以下の様に設定されてます。

[Profile]
name=On Demand High
minfreq=40%
maxfreq=100%
policy=ondemand
[/Profile]

この他、ムービーを見るときは常にこうパフォーマンスが出るように、

[Rule]
name=Movie Watcher
programs=xine,mplayer,gmplayer
battery_interval=0-100
acpi_temperature=0-60
cpu_interval=0-100
profile=Performance High
[/Rule]

というプログラム専用のルールがあると便利です。
(Gentooの?)Defaultでこのように設定されてます。すばらしいね。

/etc/init.d/cpufreqd start
/etc/init.d/cpufrequtils start

で起動。次回のパソコン起動時にもstartするために
rc-update add cpufreqd default
rc-update add cpufrequtils default
を実行。

gDeskletsのcpu frequcency monitorや、GnomeのCPU周波数モニタアプレットがあれば現在の周波数が簡単に確認できます。

2006/09/02

gDesklets

Gnome使っている人はすでに知っているかもしれないですが、
gDesklets というMac OS Xやgoogle desktopのGadgetみたいなのがLinuxにもあります。

OS Xのアプリケーション起動メニューみたいのや、お決まりの時計やカレンダー、
Gmailのメールボックスチェック、wireless LANの状態チェックなど。

GnomeだとWindowsとかOS Xに比べて寂しいな〜、という方はお試しあれ。
デスクトップが一気にエンターテイメントっぽくなりますよ。

2006/08/20

Gentoo: DRI (Thinkpad T42/ Radeon Mobility 7500)

Thinkpad T42のグラフィックスチップでDRI(Direct Rendering Infrastructure)を利用する。

最新のxorgとkernelでDRIを有効にするにはちょっとコツがいる。
  1. kernelの中のDRIサポートは使用しない
  2. x11-drm ebuildをインストールする(カーネルモジュールなので、カーネル変更毎に再emergeが必要)
  3. xorg.confでModule "glx", "dri" を指定
  4. xorg.confのDriverは"radeon"

kernelに入っているDRIのxorg用モジュールは、最新のxorgだとモジュールが古くなっていることがある。なので、kernel configでCharacter deviceにあるDRI は無効にする。AGPは有効にしておいて構わない。

x11-drmは、最新のxorg-base用のDRMモジュールをインストールしてくれる。
x11-drmをインストールするまえに、
emerge -p x11-drm
で有効なVIDEO_CARDS の値を調べる。radeonはdefaultで無効になっているので、
/etc/make.confの中に
VIDEO_CARDS="radeon"
を書いて、再度上記のコマンドで有効になっているのを確認後、インストール。
インストール後、
/usr/lib/dri/
の下にradeonのモジュールが出来ていることを確認する。

xorg.confのModuleセクションに
Load "glx"
Load "dri"
を追加。DRIのオプション設定もいるかも。
Section "dri"
Mode 0666
EndSection

xorg.confの中でのDeviceセクションのDriver設定は、"radeon"に。


設定後、Xを立ち上げる。/var/log/xorg.0.log を参照し、
(EE)
で始まっているDRM, DRI関係のエラーが無いか確認。
モジュールが読み込めない、などの場合はx11-drmが正しくインストールされていないかも。

設定後、
glxinfo
の最初の方に
Direct rendering yes
があれば、DRIは有効に機能している。
glxgear
を実行して、十分なレンダリング性能が出ていることを確認する。

(補足)
module-rebuild add x11-drm-xxxxxx (xxxxxxはバージョン番号)
することで、kernelを変更(kernel-config set xxxxxx ) した後に
module-rebuild rebuild
することで、setした他のモジュールと一緒に新しいカーネル用にモジュールをビルドしてくれる。
新しいカーネルで起動する前でも、kernel-configしてあればビルドしてくれる。

Gentoo: xineでwmvを再生する

xineでxmvを再生するのに必要なのは、
USE="win32codecs asf"
みたい。他にもいろいろUSE flagに設定しておいた方が幸せかも。
"dvd avi ffmpeg aac mpeg mpeg2 mp4live"
とかかな。 いらないのもあるかも。

realplayerをインストールしているときは、
/opt/RealPlayer/codecs
をPreferenceのReal media codecのパスに設定するとrm形式の再生もできます。

ちなみに、mplayerはUSE="win32codecs" だけでちゃんとwmvの再生ができます。
が、mplayerはaccelerator keyの設定がいまいちで、xineの方が好みに合ってるので、できるだけxineで全部できるといいな。