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
Architectural Extensions
denyspoltorak
0
290
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
470
AI巻き込み型コードレビューのススメ
nealle
2
420
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
590
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
470
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
Oxlint JS plugins
kazupon
1
980
Featured
See All Featured
New Earth Scene 8
popppiees
1
1.5k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Done Done
chrislema
186
16k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
780
The Curse of the Amulet
leimatthew05
1
8.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Mobile First: as difficult as doing things right
swwweet
225
10k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
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」