Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
lt_alsa_kernel_vm_kansai_5th
Search
坂本 貴史
October 19, 2013
Programming
0
200
lt_alsa_kernel_vm_kansai_5th
カーネル/VM + K*BUG勉強会でやったLTのスライド。
坂本 貴史
October 19, 2013
Tweet
Share
Other Decks in Programming
See All in Programming
Data-Centric Kaggle
isax1015
2
780
高速開発のためのコード整理術
sutetotanuki
1
400
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
140
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
470
CSC307 Lecture 04
javiergs
PRO
0
660
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.4k
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
190
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
740
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
660
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Evolving SEO for Evolving Search Engines
ryanjones
0
130
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
120
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
66
Are puppies a ranking factor?
jonoalderson
1
2.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Transcript
ALSAのカーネルモジュール書きました
坂本 貴史 さかもと たかし - Ubuntu日本コミュニティで活動しています - Linuxのサウンドサブシステムをいじってます - でも市井の普通のひと
- ALSAとはLinuxのサウンドサブシステムです。 - システムにPCMキャラクターデバイスその他を 設けて、asoundライブラリでAPIを提供してます
カーネル/VM勉強会@関西 其の参 LT 「soundcoreモジュールとLinuxのサウンドシステム」 質問者: 「Firewire接続のオーディオインターフェイスには FFADOというプロジェクトがドライバーを 開発してる。その説明はないの?」 坂本: 「Firewireについては今回はやりません」
(こんなやりとりだったはず・・・)
内心 「ALSAにFirewireスタックあるけど、デバイス3 つくらいしかサポートしてないよな」 「しかもplaybackしかできないよな」 「FFADO使ったことあるけど、コード読んだこ とないわ」 「IEEE1394はオワコンだしな・・・」
→当時はFFADOのコード読めなかった(C++) →そもそもJack Audio Connection Kitのjackdとい うサウンドサーバーを起動しないとデバイスが使 えない。いまどきのLinuxデスクトップ環境は PulseAudioだから超不便 →ALSAで動かせたらいろいろ嬉しそうではある →いまどきIEEE1394は使う人いないよなー
→いまどきIEEE1394は使う人いないよなー (重要)
当時勤めてた職場の資料をあさったところ、 IEEE1394の主要な規格書があった。 →へぇ。こんな風に制御するんだ。 当時勤めてた職場にパケットアナライザがあった →へぇ。こんな風に通信するんだ。
バス仕様 IEEE1394 ホストコントローラー仕様 OHCI 1394 プロトコル仕様 IEC 61883-1 サウンド&ミュージックプロトコル仕様 IEC
61883-6
ふむ。 ちょっとALSAのドライバーを書いてみようかな
snd-fireworks - ALSAのコミッタが2010年に書いたもの - 忙しくて(+モチベーションの問題で)開発中 断。 - 米国Echo Audio社のデバイスチップ向け
→持ってた b
→書いて投げた(2013年6月)
ALSAのFirewireスタックのメンテナ 「timestampどう扱うの?」 →TODO(8月に解決)
Fireworksはだいたいよさそう。 →IEEE1394使う他のサウンドデバイスは どうなってるかな?
None
やったねさかもっちー サウンドデバイスが増えたよ!! →計12台になった。 →そのうち7台は、メーカーは違うけど同じチッ プを使ってる。このチップにはFFADOが対応で きる。
FFADOにバグを発見 →パッチ投げたらコミット権もらえた。 「このデバイス、今はメンテできる人がいないか ら、お前メンテやれ(意訳)」 →メンテナになりました。 やったねさかもっちー。(思いがけず)FFADO のメンテナーになったよ!
snd-bebob - スイスのBridgeCo社のデバイスチップ向け - 当初はパケットダンプからプロトコルを予想し て書いた。 - 今は中の人からもらった資料を参照 - snd-fireworksを開発した知識を使って書いた
snd-fireworks 計12台のサウンドデバイスに対応 snd-bebob 計34台のサウンドデバイスに対応 やったねさかもっちー。(テストしなきゃならな いから)デバイスが増やせるよ。
→これ以上増やす・・・のか・・・?
無理なのでCall for testing(2013年10月)
中古で安く手に入るよ →発売時の価格の半分以下 今なら目の前にメンテナ(予定)がいるよ →ALSAのFirewireスタックいじってるの、世界 で2人しかいない バグがあったらすぐに直すよ →失業中
デイジーチェーンしてみた
宣伝 - Software Design12月号の「Ubuntu Monthly Report」に、ALSAとHDAについて書きました。 - ALSAのカーネルランドからユーザーランドまで 簡単にまとめときました。
ALSAのメンテナも「takashi」