ฉันมีเน็ตบุ๊ก Acer Aspire One 522 ซึ่งมีการ์ดเสียง Intel HDA ที่ใช้ชิปเซ็ต Conexant CX20584 แม้ว่า KDE จะส่งเสียงออกเมื่อเริ่มต้นใช้งานแฟลชและแอปอื่น ๆ อีกมากมายซึ่งมองหา/dev/dsp
อุปกรณ์เพียงแค่ไม่สามารถส่งเสียงออกมาได้ แต่ให้ประสบการณ์มัลติมีเดียที่ไร้ประโยชน์
เมื่อฉันตรวจสอบอุปกรณ์การเล่น ALSA ของฉันด้วยaplay -l
ฉันจะเห็นว่าอุปกรณ์เสียงหลักได้รับการจดจำเป็นการ์ด 1 แทนที่จะเป็น 0 ซึ่งถูกเชื่อมต่อกับ HDMI แทน:
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: CONEXANT Analog [CONEXANT Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
ด้วยวิธีนี้ฉันได้รับ/dev/dsp1
แต่ดูเหมือนว่าแอพส่วนใหญ่จะใช้ฮาร์ดโค้ดเพียงอย่างเดียว/dev/dsp
ดังนั้นฉันจึงมองหาวิธีการแลกเปลี่ยนดัชนีการ์ด หลังจากการวิจัยผ่านเอกสาร ALSA ฉันพยายามกำหนดดัชนีให้กับโมดูลไดรเวอร์ที่ใช้โดย HDMI และ Intel HDA ด้วย/etc/modprobe.d/asound.conf
ไฟล์นี้:
options snd cards_limit=2
options snd-hda-codec-conexant index=0
options snd-hda-codec-hdmi index=1
options snd slots=snd-hda-codec-conexant,snd-hda-codec-hdmi
แต่มันก็ไม่ได้ผลและจากลิงค์ที่ลืมไปแล้วในการค้นหาคำตอบที่ไม่รู้จบของฉันดูเหมือนว่าเป็นเพราะindex
คำสั่งเหล่านี้ควรจะประสานการสั่งโหลดโมดูล แต่ทั้ง Conexant และตัวแปลงสัญญาณ HDMI เหล่านี้ใช้ Intel HDA เดียวกัน โมดูลไดรเวอร์ดังนั้นจึงดูเหมือนจะไม่ใช้ในกรณีนี้
ที่กล่าวว่ามีวิธีการกำหนดดัชนีบัตรที่ถูกต้องเมื่ออุปกรณ์ใช้โมดูลไดรเวอร์ ALSA เดียวกัน (intel HDA ในกรณีนี้) หรือไม่