حل مشکل خروجی Dummy/عدم وجود صدا در مکبوکهای دارای لینوکس

حل مشکل خروجی Dummy/عدم وجود صدا در مکبوکهای دارای لینوکس
به گزارش اپست به نقل از 9to5linux ، بله، لینوکس را میتوان روی کامپیوترهای مکبوک نصب و اجرا کرد، به خصوص مدلهای قدیمیتر با پردازندههای اینتل. اما به احتمال زیاد پس از نصب، صدایی نخواهید داشت و فقط یک خروجی مجازی (dummy output) را مشاهده میکنید. در ادامه نحوه رفع این مشکل را توضیح میدهیم.
اخیراً یک مکبوک پرو قدیمی از کسی دریافت کردم که میخواست لینوکس را روی آن نصب کند، چون دستگاه دیگر توسط اپل پشتیبانی نمیشود. منظورم یک مکبوک پرو ۱۳ اینچ ۲۰۱۷ با دو پورت تاندربولت ۳ و شناسه مدل MacBookPro14,1 است.
من چندین توزیع لینوکس را روی آن امتحان کردم، از جمله اوبونتو ۲۵.۰۴ (Plucky Puffin)، اوبونتو ۲۴.۰۴.۲ (Noble Numbat)، فدورا لینوکس ۴۲، و اوپنسوزه تامبلوید (openSUSE Tumbleweed). اوبونتو ۲۵.۰۴ اصلاً کار نکرد، چون نتوانست کیبورد و ترکپد را شناسایی کند، اما بقیه توزیعها به خوبی کار کردند.
با این حال، همه آنها یک مشکل مشترک داشتند: کارت صدا کار نمیکرد. من در وب جستجو کردم و انواع راهحلها را امتحان کردم (بیشتر آنها قدیمی و مربوط به سالها پیش بودند – حتی خلاصه هوش مصنوعی گوگل هم اشتباه بود)، اما فقط یک راهحل جواب داد، بنابراین این آموزش را مینویسم.
فراموش کنید که دیمونهای PipeWire یا PulseAudio را راهاندازی مجدد کنید، پیکربندی ALSA را تغییر دهید، ماژولهای کرنل را در لیست سیاه قرار دهید، کرنل متفاوتی نصب کنید و غیره. مشکل “خروجی مجازی” (Dummy Output) در لینوکس این است که درایور صحیح وجود ندارد، بنابراین برای رفع آن ابتدا باید کدک مورد استفاده توسط کارت صدای مکبوک خود را شناسایی کنید.
در مورد مدل MacBookPro14,1، کدک مورد استفاده Cirrus Logic CS8409 بود. برای اینکه بفهمید رایانه شما از چه کدک صوتی استفاده میکند، دستور زیر را در برنامه ترمینال اجرا کنید.
cat /proc/asound/card*/codec* | grep Codec
خروجی دستور بالا در مکبوک پرو ۱۳ اینچ مدل ۲۰۱۷ در ادامه آمده است.

به دلایلی نامشخص، نسخههای فعلی کرنل لینوکس شامل درایور کدک صوتی Cirrus Logic CS8409 نیستند. اما خبر خوب این است که یک نفر این درایور را ایجاد کرده است. به لطف Alexander Egorenkov، میتوانید با شبیهسازی (clone) مخزن snd-hda-codec-cs8409 گیتهاب، صدای دستگاههایی را که از کدک صوتی Cirrus Logic CS8409 استفاده میکنند، فعال کنید.
در فهرست اصلی خود (Home directory)، یک ترمینال باز کنید و دستورات زیر را اجرا کنید:
git clone https://github.com/egorenar/snd-hda-codec-cs8409.git
make
sudo make install
حالا کامپیوتر خود را راهاندازی مجدد کنید. همین! ظرف چند ثانیه خواهید دید که صدا با استفاده از درایور صوتی Cirrus Logic CS8409 در کامپیوتر شما فعال شده است. همانطور که از تصویر شاخص میبینید، حتی میکروفون داخلی نیز شناسایی میشود، میتوانید خروجی را پیکربندی کنید و گزینه Fade فعال است.
امیدوارم این درایور صدا در نسخه بعدی هسته لینوکس گنجانده شود، زیرا این کار باعث صرفهجویی زیادی در زمان و تلاش بسیاری از ما برای رفع این مشکلی میشود که اصلاً نباید وجود داشته باشد. البته، میتوانید از این آموزش به عنوان یک الگو برای رفع مشکل خروجی Dummy در سایر رایانههای لینوکس با نصب/فعالسازی درایور صحیح استفاده کنید.






