مشکل سرعت فن و صدا در منجارو

سلام دوستان وقت بخیر
من اخیرا روی سیستم Desktop سیستم عامل لینوکس arch /manjaro نصب کردم و از KDE استفاده میکنم.

  1. در حال حاضر CPU AMD 3900X هست و به طرز ناجوانمردانه ای فن یا در حال فول اسپید چرخیدن هست ویا هر دو ثانیه سرعتش را کم و زیاد میکنه، در ویندوز مادربرد برای کنترل حالت های مختلف نرم افزار داشت که هم می‌شد فن را سایلنت کرد و هم CPU را روش کنترل داشت، توی ویندوز هم همین حالت بود آنا با نرم افزار وقتی من تمام هسته های CPU را فعال میکردم و از حالت SINGLE CORE به MULTI CORE تبدیل میشد مشکل حل میشد و همچنین میتونستم فن را بگذارم روی حالت SILENT و یا… آنا اینجا لنگ موندم و نمیدونم چطوری باید این مشکل را حل کنم؟

2.متاسفانه من هیچ صدایی از اسپیکر ندارم و دقیقا نمیدونم خروجی چه دستوری را باید بگذارم تا وضعیت نصب بودن و صدا بررسی شه؟

یه نگاه به خروجی dmesg بندازید شاید یه ماژولی درست نصب نشده یا یه چیزی درست شناسایی نشده. (دنبال خطهایی بگردید که Error‌ یا oops دارن)
احتمالش زیاده که درایور کارت گرافیکتون نصب نشده باشه و کرنل داره زور میزنه یه جوری مساله رو حل کنه و همین به cpu فشار میاره. وگرنه فن که اتصالی نداره برای خودش روشن و خاموش بشه، یه مشکلی توی دمای CPU هست که این اتفاق میفته.

1 Likes

درود بر شما
در خروجی این دستور هیچ خطای مبنی بر Error و یا oops مشاهده نشد در صورت لزوم خروجی دستور را خدمتتون بدم .

همان طور که عرض کردم در سیستم عامل ویندوز هم بخطار کارکرد CPU روی single core این مسئله وجود داره بر همین اساس وقتی توی نرم افزار حالت OC (حالت multi core) را انتخاب میکنم همچنین فن را روی silent میگذارم همه چیز درست میشه .

علاوه بر این من مشکل خروجی صدا هم دارم که هیچ صدایی از اسپیکر مشاهده نمیشه !

به تصاویر کرنل و درایور کارت گرافیک توجه بفرمایید به نظر میرسه درست نصب شده باشه .

واسه من ۲۵ تا error توش هست :sweat_smile:

alsamixer و pulseaudio رو نصب کنید.
و pavucontrol-qt هم نصب و اجرا کنید، توش تنظیمات زیادی داره برای انتخاب نوع ورودی و خروجی صدا و تنظیم میزان صدا. احتمالا کارت‌صدای اشتباه انتخاب شده به طور پیشفرض.


من چندساله با arch و قرنهاست با محیط دسکتاپ کار نکردم. پس دقیقا نمیدونم این یعنی چی. ولی به نظر میرسه شما هم nvidia رو نصب کردید، هم video-linux که احتمال میدم نسخه‌ی اوپن‌سورس درایور کارت گرافیک nvidia باشه.

باید فقط یکیشون نصب باشه!


و اینطور که توی دبیان دارم میبینم، آخرین نسخه‌ی درایور nvidia این هست:

nvidia-tesla-460-driver

شما 390 رو نصب دارید. بد‌نیست ولی خب باید ببینیم چرا 460 نصب نیست!
توی ترمینال کامند

nvidia-detect

رو ران کنید. بهتون میگه کارت گرافیکتون از چه درایورهای پشتیبانی میکنه (احتمالا میگه همش اوکیه) و بهتره چه چیزی رو نصب کنید. (روی سیستم من میگه nvidia-driver ولی باید ببینیم توی pacman اسمش چیه)


اینطوری میتونید ببینید کدوم درایور نصب هست و روی کرنل لود شده:

مثلا:

╭─[email protected] ~ 
╰─$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 750 Ti] (rev a2)
╭─[email protected] ~ 
╰─$ lsmod | grep "kms\|drm"
drm_ttm_helper         16384  1 nouveau
ttm                    86016  2 drm_ttm_helper,nouveau
drm_kms_helper        290816  1 nouveau
cec                    61440  1 drm_kms_helper
drm                   626688  9 drm_kms_helper,drm_ttm_helper,ttm,nouveau

من GTX 750 TI دارم و متاسفانه دارم از درایور اوپن‌سورس nouveau استفاده میکنم به جای درایور اصلی nvidia. (یه مشکلی داره روی کرنل جدیدم کامپایل نمیشه)


خلاصه احتمال میدم یه درگیری بین nvidia و nouveau و شاید حتی کارت گرافیک onboard وجود داشته باشه. هیچی از AMD نمیدونم و این تاپیک، نزدیکترین تجربه‌ی زندگیم با cpuهای AMD هست :smiley:
اگه امکانش هست، کارت گرافیک nvidia رو از کیس خارج کنید و یه بار با onboard سیستم رو روشن کنید. شاید مشکل از nvidia باشه.

1 Likes

اوه یا خدا

نصب کردم همه موارد را همه کانفیگ هاشم بررسی کردم متاسفانه موردی که مشکل من را حل کنه یافت نشد و من همچنان فاقد صدا هستم !

بجز درایور 390 الباقی نصب بود بصورت پیش فرض الان غیر فعال کنمش ؟‌

اخرین درایور کارت گرافیک کم 390 هست و بالاتر از این پشتیبانی نمیشه

توی ارچ فرق میکنه دستورش ران کردم اخرین چیز همین 390 بود

من کارت گرافیک onboard ندارم :upside_down_face:

:laughing:

خروجی دستور lspci -k رو بدید لطفا و برای فن هم لود سیستم رو با htop مانیتور کنین و وقتی فن خیلی داره کار می کنه یه سکرین شات ازش بگیرین

2 Likes

خروجی دستور خدمت شما :
لینک

این هم اسکرین شات خدمت شما :

پی نوشت:
فن بصورت لحظه ای هر یک ثانیه لودش 100 درصد و کمتر میشه و دقیق نمیشه اسکرین شات گرفت سعی کردم در مناسب ترین لحظه من اسکرین شات بگیرم . در حین کار کردن با نرم افزار و یا مرورگر مثل کروم این لود مداوم میشه و فن به شدت میچرخه

1 Likes

@Obka جان عجب سیستمی داری عزیز

در مورد کارت گرافیکت به نظرم یه مشکلی هست داره از ۳ تا ماژول استفاده میکنه البته من سوادشو ندارم ولی بهش مشکوک شدم.

0c:00.0 VGA compatible controller: NVIDIA Corporation GF114 [GeForce GTX 560 Ti] (rev a1)
        Subsystem: eVga.com. Corp. Device 1563
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia
2 Likes

زنده باشی ممنونم ازت

نمیدونم اگر نیاز هست من حذفشون کنم ؟

در مورد صدا باید بگم که درایور ها درست هستن و باید تنظیمات pulseaudio رو چک کنی. مثلا pulsemixer نصب کن و ببین ورودی و خروجی پیش فرض صدا چیا هستند.

واسه لود سیستم باید بگم که به نظر بالا میاد ولی باید دمای cpu رو چک کنی و ببینی توی چه بازه ای هست. s-tui نصب کن و دمای cpu رو چک کن و با cpu spec مقایسه کن.

در مورد nvidia هم شما دوتا درایور دارین که با هم همخوانی ندارن یا باید از درایور رسمی استفاده کنین یا noeuveau
ولی باهم نمی تونین استفاده کنین. یکیشو باید blacklist کنین

2 Likes

از یه چیزی مثل ksysguard میتونید استفاده کنید برای دیدن بالا و پایین رفتن درصد استفاده از cpu

ولی اینطور که مشخصه، kwin داره cpuی زیادی مصرف میکنه. که اصولا نباید اینطور باشه. همون مشکل از درایور کارت گرافیکه.

نه. به نظر میاد ۳ تا نصبه و داره فقط از nvidia استفاده میکنه (kernel driver in use)
ولی بازم بهتره اضافی‌ها حذف بشن خیالمون راحت بشه.

glances هم چیز خوبیه.
توی ksysguard هم میشه tab جدید نصب کرد. من System Load and Temps رو نصب کردم نمودار دمای CPU رو رسم میکنه.

برای این، پیشنهاد میکنم اون video-linux رو پاک کنید. احتمالا اون noeuveau باشه. (چرا این اسمش اینقدر سخته؟ :joy:)

1 Likes

گویا مشکل صدات یک مشکل رایج تو مادربردی که داری و اینجا یکی مشکل و حل کرده یه نگاه بنداز بهش؟

2 Likes

من کرنل را اپدیت کردم پایین تر توضیح میدم چی شد

من گفتم شاید مشکل از مانجارو ابونتو رو نصب کردم و مشکل همچنان صداست تو این لینک

گفته که رو کرنل5.7 این مشکل و پچ کرده من رفتم کرنل و بصورت دستی اپگرید کردم به 5.10 با روش زیر:

cd /tmp
    wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.11-rc7/amd64/linux-headers-5.11.0-051100rc7_5.11.0-051100rc7.202102072330_all.deb
    wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.11-rc7/amd64/linux-headers-5.11.0-051100rc7-generic_5.11.0-051100rc7.202102072330_amd64.deb
    wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.11-rc7/amd64/linux-image-unsigned-5.11.0-051100rc7-generic_5.11.0-051100rc7.202102072330_amd64.deb
    wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.11-rc7/amd64/linux-modules-5.11.0-051100rc7-generic_5.11.0-051100rc7.202102072330_amd64.deb

sudo dpkg -i *.deb

ولی بازم صدا رو ندارم. یعنی هدفون ام اوکی ولی لاین اوت رو ندارم اسپیکرم کار نمیکنه.
پ.ن: اسپیکر رو جداگانه تست کردم و سالمه .

دمای cpu را با ویندوز مقایسه کردم در حالت single trade تقریبا یکسان هست تو رنج ٣۶ درجه هست

ممنونم من درایور open source را حذف کردم هرچند که تاثیری روی لود فن cpu و… نداشت

من میتونم روی پردازنده تنظیمات داشته باشم؟ مثلا بگم سینگل کار کن و یا multi trade ؟ احتمال خیلی زیاد که تو ویندوز هم داشتم همین موضوع هست اگر multi trade کنم فن و دما اوکی میشه

ممنونم بررسی می‌کنم‌

درایور اضافی را حذف کردم همچنان مشکل پا برجاست چرا؟

حذفش کردم من ولی تاثیری روی عملکرد و مشکلات نداشت

1 Likes

خیلی پیشنهاد می کنم کرنل رو خودت کامپایل کنی تا بخوای prebuild استفاده کنی

pulsemixer و تنظیمات pulseaudio رو بررسی کن. این که می گی هدفون کار می کنه خیلی نشون دهنده تنظمیمات نامناسب pulseaudio هست

دما رو باید وقتی لود رو سیستمت هست بررسی کنی نه وقتی بی کار هست. و به فکر single thread هم نباش چون CPU ای که داری رو هدر می دی. مشکل اینه که درایور گرمایشی CPU ی که داری نمی تونه حدود دمای CPU رو درست بفهمه و یا CPU واقعا داغ می کنه ( که دلیلش می تونه از firmware ش باشه‌) واسه اینکه بفهمی کدوم هست باید حتما دما رو توی حالت های مختلف و از توی لینوکس مانیتور کنی. بعد دما هایی که بدست آوردی رو با CPU SPEC مقایسه کنی. و می تونی حدود دمای درایور رو هم از توی فایل های مربوطش توی sys/ پیدا کنی. در ضمن مطمئن شو که ucode پردازنتو نصب داری

3 Likes

سمیر جان ایا کامپایل کردن کرنل کار ادونس نیست؟

ایا درست یکی برای مشکل صداش بره کرنل لینوکس و کامپایل کنه و درگیر این همه پیچیدگی بشه.:joy:

اگه خودمون این کار و کنیم چه مزیتی نسبت به prebuild داره؟

1 Likes

با اجازه من جواب میدم.

نه! یکی از راحتترین پروژه‌هاییه که آدم خودش میتونه کامپایل و نصب کنه.
با ۲۰ملیون خط کد، بزگترین پروژه‌ایه که میشناسم ولی درعین‌حال تمیزترین پروژه هم هست!
کامپایل کردنش هم کاری نداره. دوسه‌تا کامند ساده که هر دوسه‌روز یکبار دارم میزنم:

make clean # age ghablan compile karde bashim va bekhaym directory ro tamiz konim
make defconfig # age avvalin bar bashe ke config misazam
make menuconfig # age bekham config ro edit konam
make # in kolle kare compile ro anjam mide. az ruye configi ke sakhte shode, entekhab mikone ke kodum module haa compile beshan.
sudo make modules_install install # in nasbesh mikone

همه‌ی اینا توضیح دارن و اگه بخوایم بهتر کار کنیم، نیاز هست بدونیمش ولی اصل کار همینه.

توضیح بیشتر:


برای درست کردن نیست. برای فهمیدن مشکله. وقتی بفهمیم مشکل از کجاست، راههای راحتتری وجود داره.
مثلا وقتی بفهمیم فلان ماژول کرنل، مشکل دما رو برطرف میکنه، از این به بعد هروقت لینوکسی نصب میکنیم، میریم اون یه دونه ماژول رو از ریپازیتوری گیتهاب سازندش میگیریم و کامپایل میکنیم و اضافه میکنیم به هر کرنلی که داریم.

مساله اینه که کرنلهایی که دیگران کامپایل کردن، برای رنج وسیعی از دیوایسهاست، وقتی ما یه سخت‌افزار خاص داریم، ممکنه چیزی که نیاز داریم توی کرنل نباشه (یا کرنل قدیمی باشه و هنوز ماژولهای اون سخت‌افزار توش نباشه) و البته چیزهای خیلی زیادی هم توی کرنل هست که ما نیاز نداریم!

مثلا درایور سنسور اثر انگشت لپتاپ من توی کرنل دیفالت دبیان نبود. یا باید کرنل جدیدتر کامپایل میکردم، یا اون یه‌دونه ماژول رو گیر میاوردم و نصبش میکردم روی کرنل قدیمیم.
یه بار هم خیلیوقت پیش یه دانگل وایفای گرفتم ماژولش توی ubuntu (سیستم‌های شرکت) نبود، Arch نصب کردم درست شد.

وقتی خودمون کامپایل میکنیم، بازده بهتری داره.
حتی میتونیم با flagهایی مثل -march=native چیزی کامپایل کنیم که دقیقا مخصوص این CPU هست و از cpu instructionهایی استفاده کرده که مخصوص این cpu هست و توی نسل‌های قدیمیتر X86_64 وجود نداره.
پردازنده‌ی @Obka خیلی جدیده، اگه کرنلی که کامپایل میکنه با اون فلگ باشه، مخصوص cpuی خودش کامپایل میشه و از فیچر‌هایی استفاده میشه که توی cpuی من نیست (با اینکه هردو x86_64 هستن، ممکنه cpuی من نتونه اون کرنل رو راه کنه) و این باعث میشه سرعت بالاتری روی اون CPU داشته باشه.

فکر میکنم اینا ارزششو داشته باشن که آدم ۳۰دقیقه سرچ کنه و مطلب بخونه تا بتونه کرنل خودشو کامپایل کنه.


اگه میخواید خودتون کامپایل کنید، اون لینکی که دادم رو مطالعه کنید.
زیاد هم نگران مشکلات احتمالی نباشید، اگه چیزی بشه، از توی grub میتونید کرنل قدیمی رو انتخاب کنید تا از روی اون بوت بشه.
اگه یه کرنلی نصب کردید (خودتون نصب کردید! نه با استفاده از پکیج‌منیجرها) و خواستید پاکش کنید، اول بوت کنید به یه کرنل دیگه، بعد این فایلها رو پاک کنید:

/boot/vmlinuz*KERNEL-VERSION*
/boot/initrd*KERNEL-VERSION*
/boot/System-map*KERNEL-VERSION*
/boot/config-*KERNEL-VERSION*
/lib/modules/*KERNEL-VERSION*/
/var/lib/initramfs/*KERNEL-VERSION*/

بعدش اینو بزنید که grub آپدیت بشه و دیگه کرنلی که پاک شده رو توی منو نشون نده و نخواد بوتش کنه:

sudo update_grub2
2 Likes

در تکمیل حرف های پویا باید بگم که خیلی پیشنهاد می کنم که واسه یه بار هم که شده کامپایل کنین کرنل رو. خیلی می تونه تجربه خوبی باشه.

در ضمن الان کرنلی که من استفاده می کنم. فقط و فقط ماژول ها و امکاناتی که من نیاز دارم رو کامپایل کردم براش که شاید ۱/۱۰ کرنل پیش ساخته ای هست که رو توزیع های مختلف وجود داره. کارایی بهتری داره و سایز خیلی کوچیک تری

2 Likes

من الآن داشتم توی menuconfig میگشتم، چندتا آپشن مربوط به thermal system‌ دیدم که به طور دیفالت غیر فعال بود. شاید اینا روی اون CPU باشه کمک کنه.

در تکمیل این مطلب بگم که الآن یه دور کامل توی menuconfig گشتم، یه سری ماژول رو غیر فعال کردم، دوبرابرشونو فعال کردم. مثل من نباشید :sweat_smile:
ولی خب مثلا آپشن‌های زیادی مربوط به AMD بود که غیرفعال کردم چون قطعا قرار نیست استفاده بشه!
از طرف دیگه یه سری چیزها مربوط به nouveau (درایور اوپن سورس Nvidia) فعال کردم که کارایی کرنلمو بالا میبره.

1 Likes

ممنون از شما جناب سمیر عزیز و پویا بابت وقتی که می‌گذارید

من تا الان متوجه شدم که باید برم سراغ کرنل و چیزایی که میخوام را خودم به اصطلاح کانفیگ کنم به نظر یکم ادونس شد، حالا من سوالم اینه شما یه راه جلوی پای من بگذارید، من دقیقا باید دنبال چی بگردم هم برای صدام که نمیشناسه هم برای کارت گرافیکم و هم برای cpu و مباحث فن البته اضافه کنم که من سیستمم rgb هست اگر بشه این داستان هم روش کار کنم عالی میشه الان من دقیقا نمیدونم باید دنبال چی بگردم دقیق و چیو کجا اضافه و کم کنم یکمی منو از این سر درگمی نجات بدید شروع کنم.

البته در نظر دارم روی همون مانجارو باشم ابونتو را جهت تست نصب کردم البته نظر شما هم مهمه برام، من برنامه نویس هستم و مدتی با مانجارو و گنوم کار کردم حالا میخواستم روی همون دیسترو KDE را تجربه کنم در desktop

سپاس

این قسمت را متوجه نشدم یعنی کدوم بخش از cpu را دارم هدر میدم با multi trade یا…؟

1 Likes

کارت‌صدای شما شناخته شده و کار میکنه. حالا outputش اونی نیست که میخواید، باید با pavucontrol یا چیزای مثل این انتخاب بشه. وگرنه اگه کارت‌صدای شما شناسایی نشده بود و ماژول کرنلش نبود، اصلا کارنمیکرد!

اگه خروجی دستور

lspci | grep VGA

و

lsmod | grep "kms\|drm"

امیدوار کنندست، یعنی کارت گرافیکتون رو شناخته و درایورش نصبه.

یه کاری انجام بدید که یه فشاری به cpu بیاره و صدای فن زیاد بشه، بعد ببینید توی اون لحظه چه چیزی داره به سیستم فشار میاره و چقدر (چقدر از cpu داره کار میکنه) تا بشه فهمید مشکل از چیه. شاید واقعا یه چیزی درحال مصرف از CPU باشه که دما بالا میره (مثلا بالاتر از ۸۰درجه) و این فن رو زیاد میکنه که دما رو کنترل کنه.
یا شاید فشاری به cpu نمیاد و الکی فن کار میکنه که دراین صورت یه مشکلی توی ماژولهای کنترل دما یا کنترل فن هست که باید فیکس بشه.

اینو باید تست کنید ببینید مشکل کدومشونه.

منظورتون LEDهای رنگی داخل کیس هست؟
شاید نشه اصلا کنترلشون کرد (ماژول کرنلش نباشه) چون اینجور چیزا اصولا اولویتهای پایینی دارن از دید برنامه‌نویسهای کرنل. (مثل کیبورد بعضی لپتاپ‌ها که هنوز درایوری برای کنترل RGB backlightشون نوشته نشده)
شاید هم همه‌چیز آماده باشه و فقط نیاز به یه نرم‌افزار داشته باشید که باهاش ارتباط برقرار کنه (این تنظیمات، توی /sys/devices هستن، خودتونم میتونید با دست ادیت کنید یا براش یه نرم‌افزار بنویسید. البته اگه ماژول کرنلش نوشته شده باشه که Hardware Abstraction Layer بتونه برای کانفیگش، اینجا فایل بسازه)

یه مقدار توضیح دادم همین الآن. اگه چیزی توضیح بیشتر میخواد، میتونم کمک کنم.

تصمیم عاقلانه‌ایه. با مانجارو موافق نیستم ولی بهتر از اوبوتوئه.
اگه به توزیع‌های خانواده‌ی دبیان علاقه دارید، توصیه میکنم از خود دبیان استفاده کنید نه اوبونتو. افتضاحه!

شخصا هیچوقت با gnome آبم تو یه جوب نرفته.

منظور اینه که اگه single thread کار کنید، درحقیقت دارید ۲۳ تا از هسته‌های CPUیی که بابت خریدش پول دادید رو هدر میدید (داره خاک میخوره)
CPU چیزی نیست که با استفاده‌ی زیاد بخواد کهنه بشه یا مثلا سرعتش در مرور زمان پایین بیاد (چیزی که سرعت cpu‌رو تعیین میکنه crystal هست که داره clock رو میسازه، نه خود cpu) و اگه به صرفه‌جویی در مصرف برق فکر میکنید هم single core اونقدرها که به نظر میاد مصرفش کمتر از multi core نیست.
با CPU hotplug (که از کرنل ۵ به بعد وجود داره)‌ میشه یک یا چند core رو خاموش کرد (بدون ریستارت سیستم). ولی مساله اینه که چرا؟ (این فیچر بیشتر برای سرورهاست که بتونیم cpu از روی مادربرد عوض کنیم بدون ریستارت سرور)