How to remove nvidia GPU and use AMD igpu?

Hi! Been struggling alot in finding a solutions for this. Had to reinstall endeavour a couple of weeks ago because i couldn’t make it start after removing the nvidia gpu.

My system has a ryzen 7900x and a nvidia 3080 on a desktop.

On clean endeavour install, the 3080 was not present and i didn’t install the nvidia drivers in the endeavour installer.
I later inserted the 3080 and proceeded with the command nvidia-inst.
Everything works fine when 3080 is inserted and i connect the monitor cable to the 3080.

The problem is if i connect the monitor cable to the 7900x igpu, the screen just doesn’t turn on (actually it works on reboot untill after the grub start page where you select the kernel and then mid loading it turns off)

Even physically removing the 3080 and connecting the monitors cables to the iGPU it won’t work.

What are the steps needed to make both the iGPU and the nvidia 3080 work so that connecting the monitor cable to either the dgpu/igpu output work?
And how can i physically remove the 3080 (without uninstalling it) to use only the igpu?

Sometimes i just want to go eco mode and save power but i can’t figure out why the integrated graphics won’t work

tried:

  • /etc/X11 has no xorg.conf
  • removed grub cmd line setting nvidia-drm.modeset=1
  • output of lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3080] [10de:2206] (rev a1) (prog-if 00 [VGA controller])
17:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c2) (prog-if 00 [VGA controller])
  • output of lsmod | grep nvidia
nvidia_drm             98304  17
nvidia_uvm           3448832  0
nvidia_modeset       1560576  39 nvidia_drm
nvidia              62525440  2132 nvidia_uvm,nvidia_modeset
video                  73728  2 amdgpu,nvidia_modeset

thank you

There should be settings in the UEFI Bios to specify the igpu to run on.

hey thank you for the reply.
I tried disabling the dGPU in the bios and even physically removing it.

It always gets stuck here in the image below (dGPU disabled, monitor connected to iGPU)

I really hit a wall with this, is there anything trying forcibly to load nvidia and blocking the loading? can’t find anymore documentation.

i deleted xorg.conf, removed nvidia-drm.modeset=1 from grub init

I only installed nvidia with the provided nvidia-inst package. (desktop pc)

the last system i had to completely reinstall after trying for a week for this same problem (switch from nvidia dGPU to amd dGPU)

I vaguely remember going through this once before but can’t remember the outcome and how it was achieved.

When you install nvidia it shouldn’t have an xorg file. The installation of EndeavourOS has the correct kernel parameters for nvidia irregardless whether you installed it with Nvidia drivers. It would just use nouveau opensource on the install if you hadn’t selected nvidia from the menu.

Then if you install nvidia drivers after with nvidia-inst it also takes care of what is needed if you have a current nvidia gpu that is supported by the latest drivers.

https://wiki.archlinux.org/title/NVIDIA#Xorg_configuration

yeah it’s insane, been looking and trying for everything that could possibly cause this block but i can’t seem to find it. and the last time i broke the system trying.

Checked dracut modules, grub cmd-line, personal configs, blacklists, mkinitcpio, anything in the /etc/X11 folder that reference nvidia. there just isn’t anything.

output of lsmod

This is all i can find from before.

Edit: In the Bios i would assume you have some settings for the gpu to use either auto, integrated or dedicated.

@gipo355

https://wiki.archlinux.org/title/Hybrid_graphics#Fully_power_down_discrete_GPU

thanks, gonna give this a try, the post before wouldn’t work as i don’t have anything under /etc/X11

hey @ricklinux good news, adding the nouveau blacklist, the nvidia rules in the last link you posted + disabling the igpu in the bios works.

I get the monitor to work but for some reason wezterm doesn’t open now?

this makes me wonder, why does it work tho? was something loading nvidia modules on login? what is it? why blacklisting nouveau and adding rules to disable nvidia in modprobe.d allow iGPU to work?

anyway this was insanely helpful and i thank you very much. Now i am no more scared about a possible future GPU upgrade and can save some power.

trying to solve some problems like wezterm doesn’t open now

What does inxi -G return? Is wezterm GPU accelerated?

1 Like

Got it had to switch config.front_end to ‘OpenGL’

output of

 inxi -G
Graphics:
  Device-1: AMD Raphael driver: amdgpu v: kernel
  Device-2: Logitech C922 Pro Stream Webcam driver: snd-usb-audio,uvcvideo
    type: USB
  Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.1.2 driver: X:
    loaded: amdgpu unloaded: modesetting dri: radeonsi gpu: amdgpu
    resolution: 2560x1440~144Hz
  API: OpenGL v: 4.6 Mesa 23.1.3 renderer: AMD Radeon Graphics
    (raphael_mendocino LLVM 15.0.7 DRM 3.52 6.4.1-zen1-1-zen)
1 Like

Nouveau open source drivers are installed. Don’t know anything about wezterm?

tbh no, i’m quite lost on this.

The complexity of x11 and graphics is scary to me. For example i’m trying to understand why the second monitor off the iGPU doesn’t work now.

And i’m considering uninstalling nvidia but not sure how to do a clean uninstall, is it nvidia-inst -n? is it gonna break my system leaving behind stuff that won’t let me boot?

To uninstall nvidia you can use this and it will revert to nouveau open source drivers. Then the trick is to blacklist them and set Bios to use integrated graphics.

nvidia-inst -n

Edit: In order to use integrated graphics you need to be connceted to the HDMI port or Display port directly from the motherboard!

thanks will try this.

the problem is i can connect only 1 monitor at a time (from the mobo - the mobo has 1 hdmi 1 display port).
i physically removed the nvidia gpu now, the desktop doesn’t have a dGPU, only the iGPU.

when i connect both screen together (to the mobo outputs), it stops working.

i can connect either only the DP or the HDMI (both displays will work if i connect 1 at a time but only from boot, if i try to switch when logged in the or add 1 it stops working and i need to hard reboot).

when i boot with both monitors connected, only the display port works (and has weird problems like white epileptic flashing). In the KDE display configuration settings, it shows both monitors but the HDMI is black and the lag is insane.

Get a display port adapter to whatever cable the monitor is. Hdmi?

i have 2 monitors, both have 1 hdmi 1 displayPort in can use either one.
the motherboard outputs are 1 hdmi 1 displayport. i’m using 1 dp cable 1 hdmi cable.
when i installed endeavour fresh without nvidia i remember them working fine but to my understanding kernel 6.3.9 introduced some iGPU problems from amd so there’s this incognito too.

will use 1 monitor for now, so happy i’m using i3 as WM lol

considering trying risking uninstalling nvidia or just plugging the nvidia dGPU it back in but i’m sure in the future this problem is gonna present itself again if i want to sell it, change it or whatever :sob:

If the nvidia card is removed and you are running on amdgpu then remove the nvidia drivers. If you use nvidia-inst -n it reverts to using nouveau open source drivers. I’m not sure that it actually uninstalls the nvidia proprietary drivers. You would have to confirm that as I’m not sure. I just know it reverts to nouveau. Then blacklist nouveau so you have no nvidia related drivers. I think you still also need to make the necessary changes as described in the Arch wiki.

https://wiki.archlinux.org/title/Hybrid_graphics#Fully_power_down_discrete_GPU

1 Like

I think I realized the problem, Nvidia dkms changes the Linux kernel to my understanding so I’d have to reinstall it after removing Nvidia drivers

That might be true if you are using systemd-boot. I’m not sure. :thinking: