#What is the recommended way to install graphics drivers on Omarchy?

116 messages · Page 1 of 1 (latest)

oak plaza
#

Somehow I'm finding it difficult to get a straight answer for how I"m meant to install graphics drivers using Omarchy.

Am I meant to install it manually with pacman?

My specific situation seems to call for installing the nvidia kernel driver, but if there's a different, better, or more integrated way, I'd like to know! (likely sudo pacman -S nvidia with or without sudo)

I installed Omarchy on a fresh 1TB SSD yesterday using an ISO on a USB stick on an 11 year old gaming laptop. Install details and troubleshooting output below

Solution TL;DR:

  1. is to figure out what graphics driver you need using https://wiki.archlinux.org/title/NVIDIA,
  2. if you're able, uninstall the one you have installed with sudo pacman -Rdd $(pacman -Qs nvidia | cut -d' ' -f1) and then
  3. install the driver I needed like yay -S nvidia-580xx-dkms (dkms is preferred so your nvidia modules get rebuilt with every kernel update (otherwise black screen boot after kernel update, etc))
    I did not include all recommended commands and steps that I performed, just the ones I think were required
#
 ┌──────────────────────Hardware──────────────────────┐
  PC: 20378 (Lenovo Y50-70)
 │ ├: Intel(R) Core(TM) i7-4700HQ (8) @ 3.40 GHz
 │ ├: NVIDIA GeForce GTX 860M [Discrete]
 │ ├: Intel 4th Gen Core Processor Integrated Graphics C]
 │ ├󱄄: 1920x1080 in 15", 60 Hz [Built-in]
 │ ├󰋊: 103.62 GiB / 951.85 GiB (11%) - btrfs
 │ ├: 2.26 GiB / 15.53 GiB (15%)
 └ └󰓡 : 0 B / 23.29 GiB (0%)
 └────────────────────────────────────────────────────┘
 ┌──────────────────────Software──────────────────────┐
  OS: Omarchy 3.4.1
 │ ├󰘬: master
 │ ├󰔫: stable
 │ ├: Linux 6.18.13-arch1-1
 │ ├: Hyprland 0.54.0 (Wayland)
 │ ├: ghostty 1.2.3-arch3
 │ ├󰏖: 1026 (pacman)
 │ ├󰸌: Tokyo Night ●●●●●●●●
 └ └: JetBrainsMono Nerd Font (9pt)
 └────────────────────────────────────────────────────┘
 ┌────────────────Age / Uptime / Update───────────────┐
 󱦟 OS Age: 3 days
 󱫐 Uptime: 37 mins
  Update: Monday, March 02 2026 at 21:31
 └────────────────────────────────────────────────────┘
#

Here are the commands that pointed me to missing at least 1 thing related to nvidia drivers:

~ ❯ lspci | grep -E "VGA|3D"
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev a2)

~ ❯ lsmod | grep nvidia

~ ✗ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

~ ✗ pacman -Qs nvidia
local/egl-gbm 1.1.3-1
    The GBM EGL external platform library
local/egl-wayland 4:1.1.21-1
    EGLStream-based Wayland external platform
local/egl-wayland2 1.0.0.rc.r57.g1893c37-1
    EGLStream-based Wayland external platform (2)
local/egl-x11 1.0.4-1
    NVIDIA XLib and XCB EGL Platform Library
local/lib32-nvidia-utils 590.48.01-1
    NVIDIA drivers utilities (32-bit)
local/libvdpau 1.5-4
    Nvidia VDPAU library
local/linux-firmware-nvidia 20260221-1
    Firmware files for Linux - Firmware for NVIDIA GPUs and SoCs
local/nvidia-utils 590.48.01-4
    NVIDIA drivers utilities

~ ❯ journalctl -b | grep -i nvidia
Mar 03 20:07:18 omarchy systemd-modules-load[487]: Failed to find module 'nvidia_uvm'
valid crest
#

can you run lspci -k | grep -A3 VGA

oak plaza
#
~ ❯ lspci -k | grep -A3 VGA
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
        Subsystem: Lenovo Device 3978
        Kernel driver in use: i915
        Kernel modules: i915
valid crest
#

i guess lspci -k | grep -A3 3D

#

sudo journalctl | grep alternate

oak plaza
#
~ ❯ lspci -k | grep -A3 3D
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev a2)
        Subsystem: Lenovo Device 3978
        Kernel modules: nouveau
08:00.0 Network controller: Intel Corporation Wireless 7260 (rev 83)

shoot I'm confusing myself since I just changed my password to be shorter. Idk if the second command gave nothing because I messed up or its empty

~ ❯ sudo journalctl | grep alternate
[sudo] password for jujuthewulfpup:

~ ✗ sudo journalctl | grep alternate

~ ✗
#

I changed it back to make sure I'm not confused. I think the blank output is right

valid crest
#

google says for that card you need nvidia-340xx stuff

yay -Ss 340xx

#

probably omarchy-pkg-aur-add nvidia-340xx-dkms

oak plaza
#

aha

#

I did so much googling and discord surfing and I forgot yay was even something I should consider

valid crest
#

just to check, before that

#

try sudo journalctl | grep 340xx

oak plaza
#
~ ❯ sudo journalctl | grep 340xx

~ ✗
#

and maybe this is already somewhere above but

~ ❯ sudo journalctl | grep nvidia
Mar 03 13:32:52 omarchy systemd-modules-load[487]: Failed to find module 'nvidia_uvm'
Mar 03 17:26:10 omarchy systemd-modules-load[601]: Failed to find module 'nvidia_uvm'
Mar 03 19:03:32 omarchy systemd-modules-load[486]: Failed to find module 'nvidia_uvm'
Mar 03 19:26:43 omarchy systemd-modules-load[488]: Failed to find module 'nvidia_uvm'
Mar 03 20:01:42 omarchy systemd-modules-load[487]: Failed to find module 'nvidia_uvm'
Mar 03 20:04:32 omarchy systemd-modules-load[486]: Failed to find module 'nvidia_uvm'
Mar 03 20:07:18 omarchy systemd-modules-load[487]: Failed to find module 'nvidia_uvm'

~ ❯

🙂

valid crest
#

after installing the dkms package, you might also need some changes elsewhere such as /etc/mkinitcpio.conf or /etc/default/limine

oak plaza
#

sweet! docs. Definitely needed those. Teach me to fish >:D
my husband's laptop is similar, but newer by ~3 years, but I'll likely need to set up Linux for him, too (eventually)

#

I don't think I get how you went from yay -Ss 340xx to omarchy-pkg-aur-add nvidia-340xx-dkms
this is my yay result

~ ❯ yay -Ss 340xx
aur/nvidia-gdk-340xx 340.29-1 (+0 0.00)
    Nvidia GPU Deployment Kit
aur/nvidia-340xx-settings 340.108-2 (+7 0.37)
    Tool for configuring the NVIDIA graphics driver, 340xx legacy branch
aur/lib32-opencl-nvidia-340xx 340.108-1 (+7 0.00)
    OpenCL implemention for NVIDIA (32-bit)
aur/lib32-nvidia-340xx-utils 340.108-1 (+7 0.00)
    NVIDIA drivers utilities (32-bit)
aur/nvidia-340xx-lts-dkms 340.108-10 (+12 0.00)
    NVIDIA driver sources for linux-lts, 340xx legacy branch
aur/nvidia-340xx-lts 340.108-10 (+12 0.00)
    NVIDIA drivers for linux-lts, 340xx legacy branch.
aur/libxnvctrl-340xx 340.108-2 (+7 0.37)
    NVIDIA NV-CONTROL X extension, 340xx legacy branch
aur/opencl-nvidia-340xx 340.108-2 (+23 0.01)
    OpenCL implemention for NVIDIA
aur/nvidia-340xx-utils 340.108-2 (+23 0.01)
    NVIDIA drivers utilities
aur/nvidia-340xx-dkms 340.108-39 (+74 0.17)
    NVIDIA driver sources for linux, 340xx legacy branch
aur/nvidia-340xx 340.108-39 (+74 0.17)
    NVIDIA drivers for linux, 340xx legacy branch

~ ❯
valid crest
#

i'd try restart after installing the nvidia-340xx-dkms and check lspci -k | grep -A3 -e 3D -e VGA
if it picks it up, maybe no mkinitcpio.conf changes needed
the only other 2 people who used it never came back maybe their computer got fried #omarchy message

valid crest
oak plaza
#

well the end of the output doesn't give me confidence

==> Making package: nvidia-340xx 340.108-39 (Tue 03 Mar 2026 09:15:13 PM CST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Missing dependencies:
  -> nvidia-340xx-utils=340.108
==> ERROR: Could not resolve all dependencies.
 -> error making: nvidia-340xx-exit status 8
loading packages...
resolving dependencies...
looking for conflicting packages...
:: nvidia-340xx-utils-340.108-2 and nvidia-utils-590.48.01-4 are in conflict (nvidia-libgl). Remove nvidia-utils? [y/N]
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: nvidia-340xx-utils-340.108-2 and nvidia-utils-590.48.01-4 are in conflict
 -> error installing: [/home/jujuthewulfpup/.cache/yay/nvidia-340xx-utils/nvidia-340xx-utils-340.108-2-x86_64.pkg.tar.zst] - exit status 1
error installing: [/home/jujuthewulfpup/.cache/yay/nvidia-340xx-utils/nvidia-340xx-utils-340.108-2-x86_64.pkg.tar.zst] - exit status 1

I'll save the whole output somewhere just in case

#

before restarting

#

hmm

~ ❯ lspci -k | grep -A3 -e 3D -e VGA
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
        Subsystem: Lenovo Device 3978
        Kernel driver in use: i915
        Kernel modules: i915
--
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev a2)
        Subsystem: Lenovo Device 3978
        Kernel modules: nouveau
08:00.0 Network controller: Intel Corporation Wireless 7260 (rev 83)

~ ❯ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
#
~ ✗ sudo journalctl | grep 340xx
Mar 03 21:15:03 omarchy sudo[20601]: jujuthewulfpup : TTY=pts/0 ; PWD=/home/jujuthewulfpup ; USER=root ; COMMAND=/usr/bin/pacman -U --needed --noconfirm --config /etc/pacman.conf -- /home/jujuthewulfpup/.cache/yay/nvidia-340xx-utils/nvidia-340xx-utils-340.108-2-x86_64.pkg.tar.zst
Mar 03 21:15:13 omarchy sudo[28160]: jujuthewulfpup : TTY=pts/0 ; PWD=/home/jujuthewulfpup ; USER=root ; COMMAND=/usr/bin/pacman -U --needed --noconfirm --config /etc/pacman.conf -- /home/jujuthewulfpup/.cache/yay/nvidia-340xx-utils/nvidia-340xx-utils-340.108-2-x86_64.pkg.tar.zst

~ ❯ sudo journalctl | grep nvidia
// removed lines repeated from before the update
Mar 03 21:15:03 omarchy sudo[20601]: jujuthewulfpup : TTY=pts/0 ; PWD=/home/jujuthewulfpup ; USER=root ; COMMAND=/usr/bin/pacman -U --needed --noconfirm --config /etc/pacman.conf -- /home/jujuthewulfpup/.cache/yay/nvidia-340xx-utils/nvidia-340xx-utils-340.108-2-x86_64.pkg.tar.zst
Mar 03 21:15:13 omarchy sudo[28160]: jujuthewulfpup : TTY=pts/0 ; PWD=/home/jujuthewulfpup ; USER=root ; COMMAND=/usr/bin/pacman -U --needed --noconfirm --config /etc/pacman.conf -- /home/jujuthewulfpup/.cache/yay/nvidia-340xx-utils/nvidia-340xx-utils-340.108-2-x86_64.pkg.tar.zst
Mar 03 21:20:45 omarchy systemd-modules-load[484]: Failed to find module 'nvidia_uvm'
valid crest
#

see how the lspci -k shows 3 lines after the Intel but only 2 after Nvidia
that means no modules in use for that device

#

you got the module? try modprobe it
i mean it probably wont work like that but who knows

#

modprobe nvi TAB TAB

oak plaza
#

oh yeah I was like "well I'll restart anyway" xD

valid crest
#

so, omarchy-pkg-aur-add automates it but, doesn't resolve conflicts
need yay -S [package]

#

then Enter for defaults to a few questions

#

want to replace the old (modern) nvidia stuff with the new (older) one.

oak plaza
#

maybe the first/default answer to each question isn't good enough

oh cool it pasted as a file. Here's the bottom:

==> Missing dependencies:
  -> nvidia-340xx-utils=340.108
==> ERROR: Could not resolve all dependencies.
 -> error making: nvidia-340xx-exit status 8
loading packages...
resolving dependencies...
looking for conflicting packages...
:: nvidia-340xx-utils-340.108-2 and nvidia-utils-590.48.01-4 are in conflict (nvidia-libgl). Remove nvidia-utils? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: removing nvidia-utils breaks dependency 'nvidia-utils=590.48.01' required by lib32-nvidia-utils
 -> error installing: [/home/jujuthewulfpup/.cache/yay/nvidia-340xx-utils/nvidia-340xx-utils-340.108-2-x86_64.pkg.tar.zst] - exit status 1
error installing: [/home/jujuthewulfpup/.cache/yay/nvidia-340xx-utils/nvidia-340xx-utils-340.108-2-x86_64.pkg.tar.zst] - exit status 1
valid crest
#

alright quick test lsmod | grep nvi

#

it was empty nvm

#

yeah remove the old ones and install the older ones

oak plaza
#
~ ✗ lsmod | grep nvi

~ ✗
valid crest
#

wait up

oak plaza
#

waiting

valid crest
#

now google says that card uses nvidia-580xx-dkms

oak plaza
#

sounds like it's time for me to open the nvidia links and finish checking for myself!

valid crest
#

🙂

mental yoke
oak plaza
#

I mean it's half right
the NVIDIA Geforce GTX 860M is in both the Kepler (nvidia-470xx-dkms) and Maxwell (nvidia-580xx-dkms) lists, so it's one or the other

#
sh-5.3$ lsmod | grep nouveau && lsmod | grep -i nvidia
sh-5.3$
#

I think the next step is remove the nvidia graphics driver I have, I just haven't yet decided or figured out how to do that

#

because I can't install either since there's conflicts

mental yoke
#

 lsmod | grep -E 'nouveau|nvidia'
valid crest
mental yoke
#

Yeah had a typo

oak plaza
#
sh-5.3$ lspci | grep -iE 'vga|3d|2d' && lsmod | grep -E 'nouveau|nvidia'
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev a2)
sh-5.3$ lspci | grep -iE 'vga|3d|2d'
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev a2)
sh-5.3$ lsmod | grep -E 'nouveau|nvidia'
sh-5.3$
#

lol here's all of the ways to run it then

valid crest
#

just remove nvidia packages

mental yoke
#

Yeah so he has also igpu

valid crest
#

omarchy-pkg-drop [package] [otherpackage]

mental yoke
#

This will remove it

sudo pacman -Rdd $(pacman -Qs nvidia | cut -d' ' -f1)

#

if any conflicts

#

Then run
sudo pacman -S mesa vulkan-intel intel-media-driver libva-intel-driver lib32-mesa lib32-vulkan-intel

To install intel drivers

valid crest
#

thats too many

#

is that right?

mental yoke
#

He can install fresh

valid crest
#

cool i dont know what egl stuff is

mental yoke
#

Its hardware acceleration

oak plaza
#

wut
I want to use my NVIDIA GPU, I don't really want to touch the Intel integrated graphics drivers if they worked as a fallback. It just means I'm able to use this computer now. Right?
Or does Intel also need some kind of update for NVIDIA to work?

mental yoke
#

let me check the driver version for your gpu

oak plaza
#

well I'll start with this sudo pacman -Rdd $(pacman -Qs nvidia | cut -d' ' -f1) since I need to remove the ones I have anyway

mental yoke
#

Its safe

#

Oh

#

580xx

#

how cool

oak plaza
#

now I'm going ahead and trying yay -S nvidia-580xx-dkms because I think it's a 50/50 between that and nvidia-470xx-dkms

#

oh nice you agree

mental yoke
#

You can try both to see which one gives you more performance

#

First blacklist nouveau just in case

paste this in your terminal
echo -e "blacklist nouveau\noptions nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist.conf

#

Then run

valid crest
#

tee -a in case

mental yoke
#

Run


sudo pacman -Sy linux-headers && sudo mkinitcpio -p linux
valid crest
#

nvidia-utils should blacklistn ouveau

#

grep -rn nouveau /lib/modprobe.d/
/lib/modprobe.d/nvidia-utils.conf:1:blacklist nouveau

its in a weird place

mental yoke
#

Kool

oak plaza
#

oh well I did it before seeing that I should blacklist nouveau. Let's see where I'm at now without having done that.

#

:O

~ ❯ nvidia-smi
Tue Mar  3 22:35:20 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.126.09             Driver Version: 580.126.09     CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 860M        Off |   00000000:01:00.0 Off |                  N/A |
| N/A   43C    P8            N/A  /   36W |       5MiB /   4096MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A             876      G   /usr/lib/Xorg                             2MiB |
+-----------------------------------------------------------------------------------------+
valid crest
#

Xorg lol

#

try sudo limine-update

mental yoke
#

Should auto run if he ran above command

valid crest
#

try without modifying /etc/mkinitcpio.conf or /etc/default/limine, then reboot, and it it works then you dont need to modify those files

mental yoke
valid crest
#

runs limine-mkinitcpio

oak plaza
#

idk what you'd want after that command, but I did it and restarted

mental yoke
#

there was a guy that had display running without igpu or nvidia or nouveau driver

mental yoke
#

idk about that

valid crest
#

nvidia-smi shows more processes after reboot? (maybe hyprland and a terminal)

oak plaza
#

ah well it looks the same to me.

~ ❯ nvidia-smi
Tue Mar  3 22:42:36 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.126.09             Driver Version: 580.126.09     CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 860M        Off |   00000000:01:00.0 Off |                  N/A |
| N/A   43C    P8            N/A  /   36W |       5MiB /   4096MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A             866      G   /usr/lib/Xorg                             2MiB |
+-----------------------------------------------------------------------------------------+
valid crest
#

cool. you have 4GB vram on that thing

mental yoke
#

tbh nvidia-smi isn't good for diagnostics.

 lspci | grep -i nvidia

lsmod | grep -E 'nouveau|nvidia'
oak plaza
#
~ ✗ lspci | grep -i nvidia
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev a2)

~ ❯ lsmod | grep -E 'nouveau|nvidia'
nvidia_drm            147456  6
nvidia_uvm           3858432  0
nvidia_modeset       1933312  3 nvidia_drm
nvidia              111599616  46 nvidia_uvm,nvidia_drm,nvidia_modeset
drm_ttm_helper         16384  1 nvidia_drm
video                  81920  3 ideapad_laptop,i915,nvidia_modeset
valid crest
#

nvidia_uvm

mental yoke
#

nvtop is the goat

valid crest
#

nvtop ++

#

so, TLDR: try 580xx first then go older if it don't work i guess ?
google card to see best fit and grab the aur replacing the auto installed modern nvidia packages

mental yoke
#

570xx/580xx

#

Correct

#

It's cool to see the support for that GPU

oak plaza
#

woo Overwatch booted
well, I'm sure this can get better, and I'm open to more command recommendations, but even just using the computer without gaming feels like more than 20FPS (it was pretty slow on my iGPU) and it's getting late for me, so I'm good for today

mental yoke
#

Hyprland has some flags you can enable to maximize your gpu perf, and there are also some kernel parameters worth adding to get the most juice of your box

oak plaza
#

I think the first thing I'd want to figure out is why my fans are cycling from medium to loud to medium to loud (with Overwatch open)
but not today
thanks a bunch, friends
I learned a lot. And when my husband's (similar, newer) laptop may also have a similar Linux install, I'll definitely be pulling this thread back up.

mental yoke
oak plaza
#

aha well at the moment this laptop is acting like it has no battery, so it doesn't need to save any power (yet) 😆

oak plaza
#

smh I let this problem sit for a bit (since it's not my primary pc yet)
and the battery was literally not plugged in because way back when I wanted to change the HDD to a SSD a long time ago (but didn't) I must've done the right thing and unplugged it to be safe, and forgot.