In the last update, I saw that the nvidia proprietary driver should be switched to nvidia-open on supported hardware:
Continuing the discussion from [Stable Update] 2025-03-24 - NVIDIA, PipeWire, Mesa, Firefox, Thunderbird, KDE Frameworks:
However, I noticed that my system still uses nvidia driver:
inxi -Gxxx 1 ✘
Graphics:
Device-1: NVIDIA AD102 [GeForce RTX 4090] vendor: Micro-Star MSI
driver: nvidia v: 570.133.07 arch: Lovelace pcie: speed: 2.5 GT/s lanes: 16
ports: active: none off: DP-1 empty: DP-2,DP-3,HDMI-A-1 bus-ID: 0b:00.0
chip-ID: 10de:2684 class-ID: 0300
Device-2: Logitech Webcam C930e driver: snd-usb-audio,uvcvideo type: USB
rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 5-4:2 chip-ID: 046d:0843
class-ID: 0102 serial: 40D3157E
Display: x11 server: X.Org v: 21.1.16 with: Xwayland v: 24.1.6
compositor: kwin_x11 driver: X: loaded: nvidia unloaded: modesetting
alternate: fbdev,nouveau,nv,vesa gpu: nvidia,nvidia-nvswitch
display-ID: :0 screens: 1
Screen-1: 0 s-res: 3840x2160 s-dpi: 159 s-size: 613x352mm (24.13x13.86")
s-diag: 707mm (27.83")
Monitor-1: DP-1 mapped: DP-0 note: disabled model: Samsung U28E590
serial: HTPK600548 res: mode: 3840x2160 hz: 60 scale: 100% (1) dpi: 160
size: 610x350mm (24.02x13.78") diag: 698mm (27.5") modes: max: 3840x2160
min: 640x480
API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia gbm:
drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia inactive: wayland
API: OpenGL v: 4.6.0 vendor: nvidia v: 570.133.07 glx-v: 1.4
direct-render: yes renderer: NVIDIA GeForce RTX 4090/PCIe/SSE2
API: Vulkan v: 1.4.309 layers: 5 surfaces: xcb,xlib device: 0
type: discrete-gpu driver: N/A device-ID: 10de:2684
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
de: kscreen-console,kscreen-doctor gpu: nvidia-smi wl: wayland-info
x11: xdpyinfo, xprop, xrandr
I tried to perform mhwd manually, but it failed to switch the driver because it can’t remove nvidia
LC_ALL=C sudo mhwd -a pci nonfree 0300 1 ✘ 4s
> Using config 'video-nvidia' for device: 0000:0b:00.0 (0300:10de:2684) Display controller nVidia Corporation
> Installing video-nvidia...
Using default
Has lib32 support: true
Sourcing /var/lib/mhwd/db/pci/graphic_drivers/nvidia/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
Processing classid: 0302
:: Synchronizing package databases...
core downloading...
extra downloading...
multilib downloading...
warning: nvidia-utils-570.133.07-2 is up to date -- skipping
warning: lib32-nvidia-utils-570.133.07-1 is up to date -- skipping
resolving dependencies...
looking for conflicting packages...
:: linux612-nvidia-open-570.133.07-3 and linux612-nvidia-570.133.07-3 are in conflict. Remove linux612-nvidia? [y/N] error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: linux612-nvidia-open-570.133.07-3 and linux612-nvidia-570.133.07-3 are in conflict
Error: pacman failed!
Error: script failed!
Are there any instructions on how to perform the driver switch?
Cheers.
I had the same issue today. I was testing if my system issues would be resolved by switch to the nouveau drivers.
If you don’t get a better solution, this is what I got from Deepseek so take it for what it is
:
Since you have multiple Nvidia-related packages installed, we need to carefully remove them before switching to the open-source Nouveau drivers. Here’s how to proceed:
Step 1: Remove All Nvidia Packages
We’ll remove all Nvidia-related packages to avoid conflicts.
List all installed Nvidia packages:
bash
Copy
pacman -Qs nvidia
(You already did this, so we’ll work with your output.)
Remove the main Nvidia driver and dependencies:
bash
Copy
sudo pacman -R linux612-nvidia nvidia-utils lib32-nvidia-utils nvidia-settings nvidia-prime
Remove additional Nvidia helper packages:
bash
Copy
sudo pacman -R gwe nvidia-driver-assistant mhwd-nvidia libxnvctrl
Force remove any remaining dependencies:
bash
Copy
sudo pacman -R $(pacman -Qdtq) # Removes orphaned dependencies
Step 2: Remove the MHWD Nvidia Driver Config
Now, remove the hybrid driver that was causing issues earlier:
bash
Copy
sudo mhwd -r pci video-hybrid-intel-nvidia-prime
Step 3: Install Nouveau (Open-Source) Drivers
Install the free driver (video-linux includes Nouveau):
bash
Copy
sudo mhwd -a pci free 0300
Regenerate initramfs:
bash
Copy
sudo mkinitcpio -P
Reboot:
bash
Copy
reboot
Step 4: Verify Nouveau is Active
After rebooting, check:
bash
Copy
lsmod | grep nouveau
If Nouveau is loaded, you’ll see output like:
Copy
nouveau 1234567 0
Check the active GPU driver:
bash
Copy
glxinfo | grep "OpenGL renderer"
(Should show "Nouveau" instead of "NVIDIA.")
Troubleshooting
If Xorg fails to start, try:
bash
Copy
sudo mhwd -a pci free 0300 video-modesetting
If you need to revert to Nvidia proprietary drivers later, run:
bash
Copy
sudo mhwd -a pci nonfree 0300 video-nvidia
Final Notes
Nouveau has limited performance (no Vulkan, poor gaming support).
Power management may be worse (higher temps, worse battery life).
If you need Optimus (hybrid Intel + Nvidia), consider reinstalling video-hybrid-intel-nvidia-prime later.
You should obviously take a snapshot of your system before this.
It worked for me, although I did a cascade remove so I did not have any orphans.
This did not resolve my issue, so I rolled back to the previous snapshot which is running the proprietary 550 driver.
Thanks for your suggestion. I took another simpler way: just remove linux612-nvidia with dd option:
sudo pacman -Rdd linux612-nvidia
Then I ran
sudo mhwd -a pci nonfree 0300
I rebooted the system and it seems working:
sudo pacman -Qs nvidia ✔
[sudo] o0331dobe 的密碼:
local/cuda 12.8.1-1
NVIDIA's GPU programming toolkit
local/cudnn 9.8.0.87-1
NVIDIA CUDA Deep Neural Network library
local/egl-gbm 1.1.2.1-1
The GBM EGL external platform library
local/egl-wayland 4:1.1.18-1
EGLStream-based Wayland external platform
local/egl-x11 1.0.0-1
NVIDIA XLib and XCB EGL Platform Library
local/lib32-nvidia-utils 570.133.07-1
NVIDIA drivers utilities (32-bit)
local/libva-nvidia-driver 0.0.13-1
VA-API implementation that uses NVDEC as a backend
local/libvdpau 1.5-3
Nvidia VDPAU library
local/libxnvctrl 570.133.07-1
NVIDIA NV-CONTROL X extension
local/linux612-nvidia-open 570.133.07-3 (linux612-extramodules)
NVIDIA open drivers for linux612
local/mhwd-nvidia 570.133.07-2
MHWD module-ids for nvidia 570.133.07
local/mhwd-nvidia-390xx 390.157-19
MHWD module-ids for nvidia 390.157
local/mhwd-nvidia-470xx 470.256.02-10
MHWD module-ids for nvidia 470.256.02
local/nccl 2.26.2-1
Library for NVIDIA multi-GPU and multi-node collective communication primitives
local/nvidia-driver-assistant 0.20.124.06-1
Detect and install the best NVIDIA driver packages for the system
local/nvidia-settings 570.133.07-2.2
Tool for configuring the NVIDIA graphics driver
local/nvidia-utils 570.133.07-2
NVIDIA drivers utilities
local/opencl-nvidia 570.133.07-2
OpenCL implemention for NVIDIA
inxi still shows nvidia though, but I guess it doesn’t really matter?
inxi -Gxxx ✔
Graphics:
Device-1: NVIDIA AD102 [GeForce RTX 4090] vendor: Micro-Star MSI
driver: nvidia v: 570.133.07 arch: Lovelace pcie: speed: 2.5 GT/s lanes: 16
ports: active: none off: DP-1 empty: DP-2,DP-3,HDMI-A-1 bus-ID: 0b:00.0
chip-ID: 10de:2684 class-ID: 0300
Device-2: Logitech Webcam C930e driver: snd-usb-audio,uvcvideo type: USB
rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 5-4:2 chip-ID: 046d:0843
class-ID: 0102 serial: 40D3157E
Display: x11 server: X.Org v: 21.1.16 with: Xwayland v: 24.1.6
compositor: kwin_x11 driver: X: loaded: nvidia gpu: nvidia,nvidia-nvswitch
display-ID: :0 screens: 1
Screen-1: 0 s-res: 3840x2160 s-dpi: 159 s-size: 613x352mm (24.13x13.86")
s-diag: 707mm (27.83")
Monitor-1: DP-1 mapped: DP-0 note: disabled model: Samsung U28E590
serial: HTPK600548 res: mode: 3840x2160 hz: 60 scale: 100% (1) dpi: 161
size: 607x345mm (23.9x13.58") diag: 698mm (27.5") modes: max: 3840x2160
min: 640x480
API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia gbm:
drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia inactive: wayland
API: OpenGL v: 4.6.0 vendor: nvidia v: 570.133.07 glx-v: 1.4
direct-render: yes renderer: NVIDIA GeForce RTX 4090/PCIe/SSE2
API: Vulkan v: 1.4.309 layers: 5 surfaces: xcb,xlib device: 0
type: discrete-gpu driver: N/A device-ID: 10de:2684
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
de: kscreen-console,kscreen-doctor gpu: nvidia-settings,nvidia-smi
wl: wayland-info x11: xdpyinfo, xprop, xrandr