Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
lt_alsa_kernel_vm_kansai_5th
Search
坂本 貴史
October 19, 2013
Programming
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
lt_alsa_kernel_vm_kansai_5th
カーネル/VM + K*BUG勉強会でやったLTのスライド。
坂本 貴史
October 19, 2013
Other Decks in Programming
See All in Programming
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
残高管理から台帳サービスへの進化
artoy
1
200
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
590
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.3k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
630
Building an army of robots
kneath
307
47k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
Facilitating Awesome Meetings
lara
57
7.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
990
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Marketing to machines
jonoalderson
1
5.9k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
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」