Pipewire نسل آینده مدیریت صدا در لینوکس

امین 21 اکتبر 2023 زمان خواندن: ~1 دقیقه

مدیریت پخش صدا و تصویر در لینوکس مثل سایر چیزها دستخوش تغییرات و پیشرفت هایی شده. یکی از این پیشرفت ها پیدایش چیزی است به نام Pipewire. وارد بحث های تکنیکی اش نمیتونم بشم چون نمیدونم! ولی تا اونجایی که مطالعه کردم، چیزی است شبیه به Pulseaudio، منتها منطبق با پیشرفت های اخیر. بنابراین کم کم داره جایگزین Pulseaudio میشه. بد نیست ما هم مطابق با این تغییرات پیش بریم!

مثلا یکی از ویژگیهای Pipewire اینه که میتونید در دسکتاپ هایی که با wayland کار میکنن، صوت رو هم share کنید. چیزی که با pulseaudio نمیشد. (حالا اینکه اصلا به این نیاز داشته باشیم یا نه خدا داند 😄)

توجه: برای ایجاد چنین تغییراتی در سیستم ابتدا کاملا سرچ کنید و با مسئولیت خودتون انجام بدید.

برای نصب Pipewire و جایگزین کردن pulseaudio کارهای زیر رو انجام میدیم. البته قبلش ویکی آرچ رو به دقت بخونید. اگر در Manjaro هستید، کافیه متاپکیج manjaro-pipewire رو نصب کنید تا همراه با اون هر چیزی هم که لازمه نصب بشه. یا اینکه میتونید بسته های زیر رو نصب کنید:

$ sudo pacman -S pipewire pipewire-alsa pipewire-audio pipewire-pulse gst-plugin-pipewire wireplumber 

از شما یک سری سوالات در مورد جایگزین کردن pulseaudio میپرسه که بهش اوکی میدید. ضمنا بهتره wireplumber رو بعنوان session manager برای نصب انتخاب کنید. بعد از این کار و یک reboot تست کنید ببینید صدا دارید یا نه! اگر مشکلی وجود داشت، قسمت Troubleshooting ویکی آرچ رو بخونید.

مشکلاتی که من داشتم

یکی این بود که وقتی یک دیوایس جدید اضافه میکردم (هندزفری usb-c) صدا به طور خودکار سوییچ نمیشد روی اون. که طبق همون راهنمای ویکی آرچ، این مشکل حل شد. اگه شما هم این مشکل رو داشتید کافیه یک فایل با محتوای زیر بسازید:

/etc/pipewire/pipewire-pulse.conf.d/switch-on-connect.conf
# override for pipewire-pulse.conf file
pulse.cmd = [
    { cmd = "load-module" args = "module-always-sink" flags = [ ] }
    { cmd = "load-module" args = "module-switch-on-connect" }
]

و مشکل دوم هم صدای خیلی کم هدفون بود که با alsamixer اون هم حل شد. برای این کار alsamixer رو در ترمینال اجرا کنید و با کلید F6 کارت صدای مورد نظر رو انتخاب کنید، و بعد صدای هدفون رو ببرید بالا. و نهایتا با اجرای دستور sudo alsactl store این تغییرات رو همیشگی کنید.

اولین نفری باشید که دیدگاهی ارسال می کند!




حاصل سر و کله زدن های من با لینوکس