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
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
740
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
310
Package Management Learnings from Homebrew
mikemcquaid
0
230
Fluid Templating in TYPO3 14
s2b
0
130
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
dchart: charts from deck markup
ajstarks
3
1k
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
470
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
130
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.2k
Testing 201, or: Great Expectations
jmmastey
46
8k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
54
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Building Adaptive Systems
keathley
44
2.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
86
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
The Pragmatic Product Professional
lauravandoore
37
7.1k
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」