#[RESOLVED] Arch/hyprland - nvidia gpu fan lock to 100%

134 messages · Page 1 of 1 (latest)

turbid tide
#

Hello,
I'm new to Arch in general and just recently installed Arch (whitout the install script) and made probably all the mistake possible but I now have shiny new install with everything working ~correctly...

I'm just stuck with my GPU (nvidia gtx 1080 ti) with the **fan lock to 100% **(my hear are currently dying slowlly...) I really need some help to find a solution with that.

As I understood, my gpu isn't supported anymore by the latest driver from nvidia (F*** you nvidia! Intel b580 on the way :YAY:)
So I installed the latest supported driver flavor the 580xx version.
And from there everything is working as intended but fans are locked to 100%, I try to install and use coolercontrol to manage the fan curve but it doesn't work. I've also try to find a solution with the help of some ai... and try to make some soft disscuss with the card via nvml whitout success either...
From what I understood, all of the recent tool need x11 to work which i don't have as i'm running hyprland or are intended for newer driver and don't work with my current setup and my "old" 580xx driver.
At the moment the card look like she's stuck in a failsafe mode as nothing is telling her what fanspeed she should run so she default to 100%.

I'm new to the arch world and more/so the linux world so please be indulgent but I would very appreciate some help here I have been stuck for a day on this issue...

thanks

whole ocean
#

even tho your on wayland run sudo nvidia-xconfig --cool-bits=4
so you can change the fan and then even tho you dont use x11 edit /etc/X11/xorg.conf and ensure : Option "Coolbits" "4" is in the device section. and also to test if this works run nano ~/fix_fans.sh
and put #!/bin/bash
nvidia-settings -a "[gpu:0]/GPUFanControlState=1"

nvidia-settings -a "[fan:0]/GPUTargetFanSpeed=40"
in it. then chmod +x ~/fix_fans.sh
and run it. and if it works your fan will be less speed (might take like 10 secs)

turbid tide
#

thank you for the answer, I already had the coolbits option in my screen section but I added in the device section under my graphics card.
the script isn't working, nvidia-settings is outputing that the "control display is undefined" and also "Authorization required, but no authorization protocol specified".

I runned the script as root as nvidia-settings is telling me I don't have the right with my user.
Have you any more ideas ? 😬

turbid tide
#

I successfuly started the nvidia-settings app with this command : sudo WAYLAND_DISPLAY=$WAYLAND_DISPLAY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR nvidia-settings

but the fan slider doesn't modify anything and doesn't look it is able to talk to the card even if the temps and clock are displayed correctly...

whole ocean
#

kk so remove the old bad drivers with sudo pacman -Rns nvidia-580xx nvidia-580xx-utils
and if you dont have these stuff just delete any nvidia package, then do sudo pacman -S nvidia-dkms nvidia-utils nvidia-settings
and then edit /etc/modprobe.d/nvidia.conf
and add “options nvidia-drm modeset=1”
to it and rebuild sudo mkinitcpio -P
then reboot. but one issue. to get fan curves you must go in x11/xorg or get a headless session for nvidia-settings. or just let it do its thing with these commands

#

but to confirm drivers are working run nvidia-smi
and send the output

whole ocean
#

Since I saw you are a bit new, I can make a script what could see if all of this works 🙂

turbid tide
#

Hello thank you for the script and the instruction, I check it right now and try it.

turbid tide
#

MMh the script doesn't work it break at the deleting the drivers, it's not the correct name for the packages, I will edit it but, when it checked for what kernel I use I think mine doesn't enter in any categories handled by the script if i rune uname -r it give me that "6.18.6-arch1-1" I suppose that's maybe part of my issues... I will try to downgrade to a Zen kernel it look like what's matching the best my intended use...

turbid tide
#

Ok so i've followed your script / helped him a bit by removing manually my current driver and switch kernel to the Zen flavor.

So it installed the latest drivers from nvidia :

nvidia-open-dkms 590.48.01-2
nvidia-settings 590.48.01-1
nvidia-utils 590.48.01-2

but they are not supported by my card (gtx 1080 ti) nvidia dropped support. So I need to stay on the latest 580xx from what I understand.

now with the current driver only one of my monitor is working I will try to roll back to the 580xx driver and maybe with the new kernel it will change something...

turbid tide
#

ok, so currently i'm back on my 580xx drivers :
nvidia-580xx-dkms 580.126.09-1
nvidia-580xx-settings 580.126.09-1
nvidia-580xx-settings-debug 580.126.09-1
nvidia-580xx-utils 580.126.09-1

but with the new zen kernel : 6.18.6-zen1-1-zen

So the issue is still happening but I've seen that the Power state of my card is now set to P8 and not P0 like previously and power usage is way lower than before so the "new" kernel is probably lettings the card communicate a bit more with the driver ?!?

#

I retry to change the fan speed with coolercontrol and your script whitout any luck

whole ocean
#

nice, run sudo pacman -S xorg-server xorg-xinit xorg-xauth and run this script :

#

best ver I could make.

#

(and if you want it to use a GUI do sudo pacman -S zenity)

turbid tide
#

So the idea here is to run X11 just to manage the fan if i understand everything ?

whole ocean
#

yes, and this script will keep Wayland and make a mini x11 thing just for nvidia! so yeah

turbid tide
#

ok ok, that's fine, not optimal but I imagine it's what happen when nvidia is droping support for theire product...

whole ocean
#

so the gui might look a bit ugly since well x11 but it works :PP

turbid tide
#

MMh still no luck it's doesn't seems to update it ...

whole ocean
#

what does the script say? (Output)

turbid tide
#

[+] Preparing Xauthority...
xauth: (argv):1: unable to open display ":99".
[+] Starting headless Xorg on :99 ...
[+] Enabling manual fan control...
[+] Setting fan speed to 20% ...
[+] Shutting down headless Xorg...
[✓] Done. Fan speed set to 20%

#

(by the way my card seems once again be locked in P0 mode)

whole ocean
turbid tide
#

Are you sure ? installing nvidia-dkms will inevitably install the latest driver wich dont support my card

whole ocean
#

I’m sure. these drivers should fully work and if not you could revert.

turbid tide
#

ok

#

So new driver are installed :
nvidia-open-dkms 590.48.01-2
nvidia-settings 590.48.01-1
nvidia-utils 590.48.01-2

but they fail to load

#

What do you think about trying an older version than the 580xx like the 575xx ?

#

At least whitout any driver loaded the card is silent x)

whole ocean
#

yep you got wrong drivers, don’t get open! get normal dkms. sudo pacman -Rns nvidia-open-dkms

turbid tide
#

MMh I didn't see it installed the wrong one...

#

pacman or yay doesn't offer me any option to install nvidia-dkms only the open version

whole ocean
#

edit pacman.conf and comment out testing repos and add all others. Then pacman -Sy Then do sudo pacman -S archlinux-keyring and sudo pacman -Syu and when done install normal nvidia-dkms.

turbid tide
#

ok give me a sec

#

I already have all repo other than testing :

#[core-testing]
#Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

#[extra-testing]
#Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

If you want to run 32 bit applications on your x86_64 system,

enable the multilib repositories as required here.

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

#

it only offer me thoses two package :

sudo pacman -S nvidia-dkms
resolving dependencies...
looking for conflicting packages...
Packages (2) dkms-3.3.0-1 nvidia-open-dkms-590.48.01-2

#

(i've updated the repos)

whole ocean
#

do sudo pacman -Rns nvidia-open-dkms nvidia-utils nvidia-settings and then yay -S nvidia-535xx-dkms nvidia-535xx-utils nvidia-535xx-settings and sudo tee /etc/modprobe.d/nvidia.conf <<EOF
options nvidia-drm modeset=1
EOF and next sudo mkinitcpio -P and reboot.

turbid tide
#

it's installing i had some conflict

whole ocean
#

okay. if there’s conflict replace Rns with Rdd.

turbid tide
#

yes that's what i did

#

rebooting

whole ocean
#

k

turbid tide
#

OK so driver is loaded (still the fan going to 100%) but hyprland refuse to load...

#

I'm starting to despair 😅

whole ocean
#

open a tty run lsmod | grep nvidia and you MUST see nvidia
nvidia_modeset
nvidia_uvm
nvidia_drm if not tell me. Then run cat /sys/module/nvidia_drm/parameters/modeset and it must output Y. And then do sudo usermod -aG video $USER and in your hyprland conf put this before anything. even #’s. :

env = WLR_NO_HARDWARE_CURSORS,1
env = LIBVA_DRIVER_NAME,nvidia
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = __GL_GSYNC_ALLOWED,0
env = __GL_VRR_ALLOWED,0

turbid tide
#

Looking at hyprland crash report it's talking about drm CRTC not initializing or being present so backend service for Wayland is not stating

#

I have

Nvidia_drm
"_Uvm
"_Modeste
Nvidia

whole ocean
#

Oh, then do sudo nano /etc/default/grub and put in your grub cmdline Linux default quote “nvidia-drm.modeset=1 nvidia-drm.fbdev=1” and run sudo grub-mkconfig -o /boot/grub/grub.cfg then do sudo nano /etc/mkinitcpio.conf and fully remake your module line to MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) and run sudo mkinitcpio -P Reboot then

#

and if still run this cat /sys/module/nvidia_drm/parameters/fbdev and if it outputs N tell me. If y it’s okay. do the same for cat /sys/module/nvidia_drm/parameters/modeset and do lsmod | grep simpledrm and if it outputs anything tell me.

turbid tide
#

Mkinit is already correct I will regenerate the file anyway and reboot

#

I don't have fbdev file, only modeset

whole ocean
#

so fbdev says N?

turbid tide
#

No it's say nothing file doesn't exist

whole ocean
#

okay. Run lsmod | grep simpledrm and if it even says anything tell me

turbid tide
#

No no result

#

Modeset say Y

whole ocean
#

okay so since nvidia is being annoying do sudo pacman -S xf86-video-nouveau

#

wait, nvm go to normal old 580xx drivers

#

open x11

#

And do nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUTargetFanSpeed=XX" (replace XX with a fan speed you want) if it works, and slows it means we can work with that and I can do something for Wayland

turbid tide
#

OK, give me a moment to roll back 👍 thanks again for sticking with me and helping

whole ocean
#

yw 😄

turbid tide
#

ok back to hyprland 🙂

#

ok can i start X11 at the same time as hyprland ? i tried to do a startx in an other... console ? (CTRL+ALT+F2) but it give me a error

#

(missing Xterm, i'm not sure x11 is correctly installed)

whole ocean
#

oh, you just had a simple user error, everyone gets one sometime. startx runs a FULL x11 session so it tries to destroy hyprland while its running, so do "Xorg :1 -noreset -nolisten tcp
-config /etc/X11/xorg.conf
-logfile /tmp/xorg-fan.log
+extension GLX +extension RANDR +extension RENDER
-sharevts &" and then ENSURE /etc/X11/xorg.conf has : Section "Device"
Identifier "NVIDIA"
Driver "nvidia"
Option "Coolbits" "4"
Option "AllowEmptyInitialConfiguration" "true"
Option "UseDisplayDevice" "None"
EndSection
and in the same term (not x11) do export DISPLAY=:1
nvidia-settings -a "[gpu:0]/GPUFanControlState=1"
nvidia-settings -a "[fan:0]/GPUTargetFanSpeed=40"

turbid tide
#

do i keep the "busID" that is already present in the xorg.conf ?

#

it look to match my card id

whole ocean
#

yeah, just make the section device be the same

turbid tide
#

k

#

the last part with export display i don't understand you want me to run it in my current console in hyprland or after x11 is started ?

whole ocean
#

inside hyprland. if it doesnt work do it in x11.

#

it depends if it works

turbid tide
#

it doesn't ^^'

whole ocean
#

so do in x11

#

x11 as in the : Xorg :1 -noreset -nolisten tcp
-config /etc/X11/xorg.conf
-logfile /tmp/xorg-fan.log
+extension GLX +extension RANDR +extension RENDER
-sharevts &

#

that is a command

turbid tide
#

x11 doesn't start it give me a fatal error i think i need to close hyprland first :
....
[ 1123.593] Module class: X.Org Video Driver
[ 1123.593] (II) NVIDIA dlloader X Driver 580.126.09 Wed Jan 7 22:35:36 UTC 2026
[ 1123.593] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 1123.593] (EE)
Fatal server error:
[ 1123.593] (EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)
[ 1123.593] (EE)
[ 1123.593] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 1123.593] (EE) Please also check the log file at "/tmp/xorg-fan.log" for additional information.
[ 1123.593] (EE)
[ 1123.643] (EE) Server terminated with error (1). Closing log file.

whole ocean
#

run THIS command okay?

#

sudo Xorg :1
-noreset
-nolisten tcp
-novtswitch
-sharevts
-seat seat0
-logfile /tmp/xorg-fan.log
-config /etc/X11/xorg.conf &

turbid tide
#

Mmh it gave me a black screen and I'm not able to go back to hyprland... 😅😬 I will power cycle and try to go back whitout starting hyprland first

whole ocean
#

go in TTY run ps aux | grep Xorg
and run pkill -9 and all the prosess name

#

. reboot and run normal x21

#

why did i type 21

turbid tide
#

I had to power cycle nothing was responding...

whole ocean
#

oof uhhhhhhhhhh yeah headless x11 is horrible

#

log in to NORMAL x11 and open nvidia settings and test.

turbid tide
#

I think there is more Nvidia sh*t with x11... If I try to do a startx instead of starting hyprland (I don't have a login screen yet) I have this beautiful error

#

maybe i'm missing a part of x11 ?

#

I don't have openbox it is required for x11 to work ?

#

OK I fixed it, I'm in !

#

it is... beautifull... x)

whole ocean
#

nice. sorry it took long until i responded well uhhh i fully destroyed my wayland and had to basicly redo all of waylland but it works 🙂 so nvidia-settings works now?

turbid tide
#

but i'm not able to run the nvidia settigs thing it keep saying "the control display is undefined" or if i try to add --display 1 "unable to create nvidia-settings gui"

#

if i only do sudo nvidia-settigs the gui start... but nothing happen when i set the gpu fan...............................

whole ocean
#

okay do sudo pacman -S xorg-server xorg-xauth nvidia-settings
and then run in a hyprland term or tty "XAUTH=/tmp/nvidia-fan.Xauthority
touch $XAUTH
xauth -f $XAUTH generate :1 . trusted" (the "" is the command) then "sudo Xorg :1
-noreset
-nolisten tcp
-novtswitch
-sharevts
-seat seat0
-auth /tmp/nvidia-fan.Xauthority
-config /etc/X11/xorg.conf
-logfile /tmp/xorg-fan.log &" wait five secs then "export DISPLAY=:1
and "export XAUTHORITY=/tmp/nvidia-fan.Xauthority" then finaly do sudo -E nvidia-settings -a "[gpu:0]/GPUFanControlState=1"

and then sudo -E nvidia-settings -a "[fan:0]/GPUTargetFanSpeed=XX" (replace XX with fan speed)

turbid tide
#

the first comand say unable to open disaply :1

whole ocean
#

okay. run in a HYPRLAND term and if it logs you out its okat : sudo Xorg :1
-noreset
-nolisten tcp
-novtswitch
-sharevts
-seat seat0
-config /etc/X11/xorg.conf
-logfile /tmp/xorg-fan.log &

#

then do : XAUTH=/tmp/nvidia-fan.Xauthority
touch $XAUTH
xauth -f $XAUTH add :1 . $(mcookie)

#

then : export DISPLAY=:1
export XAUTHORITY=/tmp/nvidia-fan.Xauthority

#

and : sudo -E nvidia-settings -a "[gpu:0]/GPUFanControlState=1"
sudo -E nvidia-settings -a "[fan:0]/GPUTargetFanSpeed=XX"

turbid tide
#

ok one sec

#

ok no error but it doesn't look to make the fan react

whole ocean
#

the fan might take time, and did you replace XX with anything?

turbid tide
#

yes

#

normaly it's pretty quick to slow down but it look like nothing happen there

#

i try 0, 10, 50 😐

whole ocean
#

hmm what laptop/pc model you have? since i know tools. s

#

and bios ver

#

we wont flash bios, i just wanna know to perfectly get it.

turbid tide
#

it's a "custom build", Asus PRO WS B850M-ACE SE AM5 AMD with the latest bios and a 9950x3d

whole ocean
#

yay -S asus-fan-control

turbid tide
#

asus-fan-control
file /proc/acpi/call does not exist

whole ocean
#

sudo pacman -S acpi_call-dkms

#

sudo modprobe acpi_call

#

then try again

turbid tide
#

you think the motherboard could update the fan of the graphics card ?

whole ocean
#

well, no. unless you get something like hp stuff or no ec and PURE bios stuff… but run the acpi_call stuff and try again

turbid tide
#

i get a "error: AE_not_found"

#

I really appreciate you helping me and will continue to investigate to find a solution but it start to be a bit too late for me... I will stop here for today...

#

I will keep updating this post tomorrow

whole ocean
#

okay :DD il make some script that you can run next time

turbid tide
#

thank's in advance ! It's so annoying it's the last and only thing that keep me to continue to personalyse my arch, that fan is so annoying ...

#

I have the impression that i'm living in a datacenter xD

whole ocean
#

yep it’s hard, and maybe your gone currently, but tomorrow if you see this here’s the script. it works with any pc.

turbid tide
lethal yokeBOT
#

ayaan9822 received a thank you cookie!

turbid tide
#

I found the issue... or not really... The card was going to a failsafe mode because of a non functioning fan... Even with the other two fan working nothing was outputted regarding the fans speed...
I've now fix the issue and like magic... coolercontrol is functioning correctly... such a relief and such a dum issue... Sorry for all that time passed to try to help me. I should had control the hardware from the start...

#

[RESOLVED] Arch/hyprland - nvidia gpu fan lock to 100%

#

thank you again @whole ocean