ALSA で snd_pcm_dmix_open が unable to open slave になる場合

サウンドテストとして aplay や speaker-test を実行した場合に下記のようなエラーが出るケースがある。

ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave

その場合は、まず aplay -l コマンドで、現在使用されているサウンドデバイス一覧を調べる。

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC892 Digital [ALC892 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0

上記のケースでは、HDMI 用と汎用オーディオのアナログ・デジタルの計3つが備わっていることが分かる。
とりあえず、どれかはなるはずなので鳴らしてみる。

  • HDMIの場合
    • aplay -D hwplug:0,0 /usr/share/sounds/alsa/Front_Center.wav
  • 汎用アナログオーディオの場合
    • aplay -D hwplug:1,0 /usr/share/sounds/alsa/Front_Center.wav
  • 汎用デジタルオーディオの場合
    • aplay -D hwplug:1,1 /usr/share/sounds/alsa/Front_Center.wav

それぞれ、 hwplug の後に【カード番号】,【デバイス番号】を入力すれば良い。

今回は、汎用アナログで鳴ったとする。
この場合、 /etc/asound.conf に次の記述を追加する。

# cat /etc/asound.conf
defaluts.pcm.card 1
defaults.pcm.device 0
defaults.ctl.card 1

pcm.!default {
    type plug
    slave.pcm "hw:1,0"
}

記述後に ALSA を再起動する。
再起動の仕方はディストリビューションによって異なるが、多分以下のどれかのはず。
面倒くさかったら OS ごと再起動だ。

  • rc.d force-restart alsa
  • /etc/init.d/alsa-utils restart

その後、-D オプションを付けずに aplay を実行すれば音がなるはずだ。
それでも鳴らなければ、modprobe 関係や、radeon.audio=1 とか他の手段を試してみよう。

 

Roguelike Thief Ver 0.0.7 リリースノート

ローグライクシーフの Ver 0.0.7 をリリースした。

変更点は、以下の通り。

  • シナリオの読み込み処理を追加
  • 階段の昇降処理を追加
  • メッセージの出力処理を修正
  • オブジェクトのスポーン処理を修正
  • コマンドの実装方式を変更
  • 文字列の表示処理を修正
  • いくつかのコマンドのターン処理にミスがあったので修正

 

シナリオの読み込み処理をメインに実装した。今回のリリースでそれなりの形には成ったと思われる。

今後(Ver 0.0.8)の予定は、以下の通り。

  • レベル・マップ生成の複数実装
  • 敵AIの実装

 

Roguelike Thief Ver 0.0.7 途中経過報告と今後の予定

去年の内に 0.0.7 をリリースしたかったが、データフォーマットが決まらず、モチベーションも上がらないの延び延びになってしまっていた。

とりあえず、仮で決めたには決めたので、開発を再会する。

なお、あと 2 ~ 3 回リリースしたら、Ver 1.0 として正式版をリリースする予定。そして、一旦開発中止となります。

 

新PCを購入するに当たっての自分向けメモ

新しい PC を購入するにあたり、今のスペックと最近のモデルとの性能差をメモしておく。
とりあえず、今 Wine でプレイするとやや重いゲームが普通に出来るようになれば良いので AMD の A8-3850 あたりを想定してみる。

C51PV [GeForce 6150] * 6 <= GeForce 7600 GT
http://www.4gamer.net/review/geforce_7050_pv/geforce_7050_pv.shtml
lshw だと C51PV だが C51MV のことなのだろうか?

GeForce 7600 GT <= 8600GT <= GeForce GT 520
http://plusd.itmedia.co.jp/pcuser/articles/0704/26/news022_2.html
端から端までで 1.2 倍くらいは差があるかも

GeForce GT 520 ≒ Radeon HD 6450
http://www.4gamer.net/games/128/G012838/20110508001/

Radeon HD 6450 * 1.5 <= Radeon HD 6550D = AMD A8-3850
http://ascii.jp/elem/000/000/626/626734/index-3.html
http://www.4gamer.net/games/100/G010001/20110628065/

……ということは、どれだけ少なく見積もっても 6 年位前のオンボードグラフィックスの 10 倍以上の性能が CPU にくっついていることになるのね。すごいや。


GPUの比較結果をまとめてあるサイトを見つけた。色々と過去から現在までのフローを作る必要もなかったな……けど、およそ 10 倍って性能試算はあっていた様だ。
http://www.videocardbenchmark.net/gpu_list.php

WebStorm の Open Source License が承認されたメモ

JavaScript (Roguelike Thief) の開発には WebStorm を使用しており、そのために申請していたオープンソース開発向けライセンス (無償ライセンス) が承認された。

申請に当たって注意点がいくつかあったので、メモを残しておく。

  • 三カ月以上経過したプロジェクトが対象(前回これで拒否された)
  • ライセンスは発行日から 1 年間有効
  • ユーザ数は無制限(オープンソースのプロジェクト単位に対するライセンスのため?)
  • WebStorm の対象バージョンは 1 以降(つまりすべて?)
  • 継続使用(再発行)は、ライセンスに付属しているライセンスリファレンスが必要?
  • http://www.jetbrains.com/webstorm/buy/license-matrix.jsp

まぁ、何にせよ、一年間は問題なく使えるわけだ。

Roguelike Thief Ver 0.0.6 リリースノート

ローグライクシーフの Ver 0.0.6 をリリースした。

変更点は、以下の通り。

  • アイテム装備の対応
  • データ構造を大幅に見直し
  • マップ生成を修正
  • CSSの追加処理を修正

 

アイテム装備処理の追加に伴い、データ構造の見直しを行っているので、それなりの変更量になっている。また、デバッグメッセージは出力しないことにした。やはり多少重くなる様だ。

 

今後(Ver 0.0.7)の予定は、以下の通り。

  • シナリオデータの実装
  • 変数スコープの見直し

 

残作業。

  • レベル・マップ生成の実装
  • AIの実装

 

Arch Linux 2011.08.19 をインストールして日本語環境を作ってみた

つい最近 Bodhi Linux をインストールしたばかりだが、デスクトップにファイルを置く(特定のディレクトリの内容をデスクトップに表示する)方法が分からなかったので、ちょっと不便だった。おそらく何らかのモジュール・プラグインでどうにかなりそうだったけど。

そこで、何年か前にインストールに失敗した Arch Linux に再挑戦してみた。前回は、ほとんどマニュアルを読まずにインストールに望んだのが敗因だった。

今回は、日英両方のマニュアルを読み、結果、日本語のマニュアルがかなりメンテナンスされていないことが分かった。(特に GUI 部分はかなり問題がある)参考までに、以下に Qick Start として簡単にまとめておく。

なお、基本的なインストール時の条件は以下の通りになっている。

  • nVidia のプロプライエタリドライバ
  • Xfce の最小インストール
  • キーボードは US 配列
  • 日本語入力は uim-Anthy
    • iBus Anthy に付いてもちょっと追記
  • ところどころ軽めの設定

 

# 基本設定

vi /etc/rc.conf

  • LOCALE=”en_US.UTF-8″
    • # X が立ち上がっていない状態だとメッセージが文字化けするので基本は en にしてある
    • # ランレベルが 5 で常時運用するなら、別に ja_JP.UTF-8 で良い
  • HARDWARECLOCK=”UTC”
  • TIMEZONE=”Asia/Tokyo”
  • KEYMAP=”us”
    • # 日本語配列ならば jp106
  • USECOLOR=”yes”

vi /etc/fstab

  • # どうせアクセスタイムなんか見ないので noatime を付けておく

vi /etc/locale.gen
vi /etc/pacman.d/mirrorlist
vi /etc/pacman.conf

pacman -Sy
pacman -S abs
abs

  • # せっかくなので入れているだけ

 

# X 関連の設定
pacman -S xorg-server
pacman -S xorg-utils xorg-server-utils
pacman -S nvidia nvidia-utils
pacman -S pkg-config

  • # 日本語マニュアルには mesa に燗する記述があるが無視してよい
  • # 日本語マニュアルでは xf86-video-xx を先にインストールする様にも読めるがそうではないのでこれも無視

reboot

  • # 一応

nvidia-xconfig
vi /etc/X11/xorg.conf

  • ### Device セクションに下記を追記
  • Option “NoLogo” “1”
  • Option “RenderAccel” “1”
  • Option “ConnectedMonitor” “DFP” # for DVI

 

# Xfce 関連の設定
pacman -S xfce4

  • # 最小構成にするなら xfwm4 xfce4-panel xfdesktop thunar xfce4-session xfce4-settings xfce4-appfinder xfce-utils xfconf terminal
  • # 本家 Wiki マニュアルには、最後の terminal が含まれていないが、実質的にインストールしておかないと不便なので追加

pacman -S xfce4-goodies
pacman -S gstreamer0.10-base-plugins
pacman -S dbus

  • # hal は最早いらない(基本パッケージにすら入っていない)

pacman -S gamin
vi /etc/rc.conf

  • DAEMONS=(… dbus …)

 

# 日本語に関する設定
# https://wiki.archlinux.org/index.php/Input_Japanese_using_UIM_%28%E6%97%A5%E6%9C%AC%E8%AA%9E%29
pacman -S ttf-sazanami

  • # ABS を使用せずに入れられる唯一の日本語フォント……かも

pacman -S uim

  • # Anthy も一緒に入る
  • # uim だと一部のアプリケーションで日本語入力ができなかった。その場合は iBus にしよう。日本語マニュアルは今(2011/11/06)のところ存在しないが、設定は非常に簡単だ。当然、以降の .xinitrc や設定も手順が変わる。

vi /etc/skell/.xinitrc

  • # 以下を追記
  • export LANG=’ja_JP.UTF-8′
  • export GTK_IM_MODULE=’uim’
  • export QT_IM_MODULE=’uim’
  • export XMODIFIERS=@im=’uim’
  • uim-xim &
  • ……中略……
  • exec ck-launch-session startxfce4
  • exec xterm

 

# サウンド関連の設定
pacman -S alsa-utils
pacman -S alsa-plugins

  • # gstreamer0.10-base-plugins は Xfce のといころで入れている

 

# 一般ユーザの追加
useradd -m seussnu
passwd seussnu
gpasswd -a seussnu audio
gpasswd -a seussnu power
gpasswd -a seussnu storage
reboot

  • # 再び一応

startx

 

# X 上で設定
uim-prep-gtk

  • # Anthy UTF-8 にする

aplay /usr/share/sounds/alsa/Front_Center.wav

  • # 鳴れば良し

 

# おまけ
pacman -S sudo
visudo
pacman -S firefox
pacman -S firefox-i18n-ja

 

日本語フォントがやや汚かったり、日本語変換がちょっとおバカだったりするので、そこら辺はおいおい修正していく予定。

 

Pentium IV に ESXi 4 をインストールしてみた……が。

使わなくなった PC に Pentium IV が入っていた。ちょっと調べてみると Prescott-2M だったので、64bit もサポートしていることになる。

64bit のテスト環境が欲しかったので、ずいぶん前に作ったままほったらかしにしていた ESXi 4.1 をインストールしてみた。(3.5 までは 32bit, 4.0 以降は 64bit、そしていつの間にやら 5.0 なんてのもある)

無事、インストールが完了したのだけれども、いざ仮想マシンに OS インストールという段階になって、仮想マシン起動時にサポートしていないとか言われる。
『http://www.vmware.com/info?id=152 を見ろ』みたいなメッセージが出てくるわけだ。

どうやら、単に 64bit 対応している CPU というだけでは駄目な様で、仮想化支援技術にも対応している必要があるようだ。(Intel だと Intel VT、AMD だと AMD-V)

ちなみに、Pentium IV にも対応しているモデルがあり、672 と 662 のみが対応している。惜しかったな。

Bodhi Linux インストール・日本語化・設定メモ

OS の入れ替えにあたり、Ubuntu (Gnome) から Xubuntu (Xfce) にするくらいでは、大して高速化・軽量化の恩恵が感じられなかったが、Bodhi Linux というのにしてみたら、圧倒的に動作が早くなった。素晴らしい!

インストールなど行った際のメモを、備忘録として残しておく。

 

◆インストールと日本語化

  1. 下記 URL から Ubuntu 10.04 LTS の日本語化方法をメモして置く
    • http://www.ubuntulinux.jp/products/JA-Localized
  2. 適当に Bodhi Linux のインストールを完了する。
  3. ログイン後、左下のメニューより、以下を選択
    1. Settings -> All -> System -> Language Support
    2. 『Language &amp; Text』という画面が開くので、『Language』 タブの 『Install / Remove Languages』ボタンを選択し、日本語をインストールする。
  4. ログアウトして再ログイン
    • Enlightenment を再起動できれば何でも良し
  5. 同『Language &amp; Text』の『Text』タブより、Display numbers, … という項目を日本語にして 『Apply System-Wide …』 を押す。
    • これで表示が大雑把に日本語化される
  6. 項番1でメモした日本語化を実施。
  7. 『日本語環境セットアップヘルパ』を実行。
    • Settings -> All -> System -> Japanese Setup Helper
    • 適当にソフトとフォントをインストールする。
      • Acrobat Reader をインストールする場合には、詳細(Details)を開いてライセンスに対する応答を入力すること。
  8. システムの言語設定を日本語にする。
    1. Settings -> All -> Language -> Language Settings
    2. 『Language Settings』という画面が開くので、日本語を選択する
  9. インプットメソッドを設定する。
    1. 設定 -> すべて -> 言語 -> 入力方式の設定
    2. 日本語セットアップヘルパで SCIM をインストールした場合には、ここで SCIM そうでなければ ibus にする。
    3. 設定 -> すべて -> システム -> 言語サポート
    4. キーボード入力に使う IM システムを同じく設定
  10. とりあえず一旦再起動して、お終い。

 

◆Enlightenment 設定メモ。

Enlightenment は、ウィンドウをクリックしても、最前列に表示されるものが変わらない。(タイトルバーをクリックすれば変わるけど)

その様な動作が嫌な場合には、下記を設定する。

  • 設定 -> すべて -> ウィンドウ -> ウィンドウのフォーカス -> ウィンドウをクリックしてフォーカスを移す

 

画面したのツールバー(シェルフと言う様だ)に、いわゆるクイック起動用のアイコンを追加したい場合には、下記の様に設定する。(例として Firefox を設定)

  1. 『Gadget IBar』(すでに Midori とかが登録されている場所)を右クリック
  2. Gadget Ibar -> 新しいアイコンを作る
  3. 以下の様に設定
    • 基本設定
      • 名前:Firefox
      • アプリケーション:バイナリのパスを入力
    • アイコン
      • 適当に選択
    • 一般
      • 一般名称:ウェブブラウザ
      • カテゴリ:GTK;Network;WebBrowser;
    • オプション
      • 『起動通知』にチェック
      • 『メニューに表示する』にチェック

項目として書かれていないものは無視して良いし、カテゴリやらオプションやらも、面倒くさいなら無視して良い。

 

◆OS設定メモ

デフォルトでは、起動時にセーフモード用カーネルの選択などで、10秒ほど待機する設定になっている。せっかくの高速起動がもったいないと思う場合には、下記のファイルを修正すれば良い。

  • /etc/default/grub
    • GRUB_TIMEOUT=10
  • /boot/grub/grub.cfg
    • set timeout=10
      • 54行目くらいにある
      • ミスると起動しなくなるので注意

なお、default ディレクトリにあるのは、grub.cfg が自動生成されるときのパラメータの様だ。

 

IE6 以前の JavaScript 実装では文字列への配列によるアクセスが行えない

タイトルどおり、行えない様だ。
IE7以降や、他のブラウザでは配列アクセスが行える模様。

× : ‘Sample Text'[5];

○ : ‘Sample Text’.charAt(5);

Subscribe to RSS Feed Follow me on Twitter!