How to permanently disable radeon driver

My Radeon discrete graphic in my old Dell Vostro 3350 notebook is problematic. With Windows, it will auto-reboot after logon in a few seconds. With Fedora, it will reboot once I run Firefox with “Launch with Discrete Graphic Card”.

As long as Discrete Graphic is not in use, Fedora runs reasonably well.

How can I disable the radeon discrete graphics (such that the kernel module will not load, and survive across kernel updates)?

I tried to follow How do I prevent a kernel module from loading automatically? - Red Hat Customer Portal , but not sure which one will work for Fedora 35.

Hi, there should be two driver available for AMD GPU, amdgpu and radeon (old version). To remove permanently, my suggestion try first with blacklist it first from kernel parameter to test out. Let say we want to remove radeon , we can test first with sudo grubby --args=radeon.blacklist=1 rd.driver.blacklist=radeon --update-kernel=ALL.

If this module (for example radeon) is part of your system initramfs, we can remove it with sudo dracut --omit-dirvers radeon --regenerate-all --force. But most likely no need to do this and only need to blacklist it because radeon or amdgpu in Fedora Linux I believe is module by default.

2 Likes

Thank you for the hints!

I’ve done the grubby part, and not the dracut part yet.

How can I confirm the radeon module is not loaded?

# cat /proc/cmdline 
BOOT_IMAGE=(hd0,msdos5)/vmlinuz-5.15.16-200.fc35.x86_64 root=UUID=a906530d-fe89-4e8a-9d9f-9aa1d9922a6f ro rootflags=subvol=root blacklist=radeon radeon.blacklist=1
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Seymour [Radeon HD 6400M/7400M Series] (prog-if 00 [VGA controller])
	Subsystem: Dell Vostro 3350
	Flags: bus master, fast devsel, latency 0, IRQ 33
	Memory at e0000000 (64-bit, prefetchable) [size=256M]
	Memory at f7b20000 (64-bit, non-prefetchable) [size=128K]
	I/O ports at e000 [size=256]
	Expansion ROM at f7b00000 [disabled] [size=128K]
	Capabilities: [50] Power Management version 3
	Capabilities: [58] Express Legacy Endpoint, MSI 00
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [150] Advanced Error Reporting
	Kernel driver in use: radeon
	Kernel modules: radeon

We can find it from lsmod | grep -iE "radeon|amdgpu|drm".

1 Like

Here is the output:

# lsmod | grep -iE "radeon|amdgpu|drm"
radeon               1658880  0
i2c_algo_bit           16384  2 radeon,i915
drm_ttm_helper         16384  1 radeon
ttm                    81920  3 radeon,drm_ttm_helper,i915
drm_kms_helper        311296  2 radeon,i915
cec                    61440  2 drm_kms_helper,i915
drm                   630784  10 drm_kms_helper,radeon,drm_ttm_helper,i915,ttm

Please also check if you already have xorg-x11-drv-amdgpu driver installed. Usually there are no need to block radeon driver and the system will use amdgpu without any blacklist.

My aim is to disable discrete graphics - as when it is used (via Launch using Discrete Graphics Card in Gnome and sometimes playing youtube video in FHD), my notebook will shutdown/reboot immediately.

# rpm -qa | grep amdgpu
xorg-x11-drv-amdgpu-21.0.0-1.fc35.x86_64

I made mistake, I’m so sorry. The command should be:

sudo grubby --args=“radeon.blacklist=1 rd.driver.blacklist=radeon” --update-kernel=ALL

with --args="<arguments>" double quotes.

You could first remove your current args with:

sudo grubby --remove-args="blacklist=radeon radeon.blacklist=1" --update-kernel=ALL

Or remove it one by one to make sure with --remove-args="blacklist=radeon" and --remove-args="radeon.blacklist=1".

Note: I should write it with quotes if there more than one arguments to be added.

Update:

I just tested to block my driver, please use:

sudo grubby --args="modprobe.blacklist=radeon rd.driver.blacklist=radeon" --update-kernel=ALL

Replacing radeon.blacklist=1 with modprobe.blacklist=radeon.

Update:

It’s make me wondering why if you already have amdgpu driver installed the system still load radeon instead of amdfpu? Is there any blacklist to amdgpu present in /etc/modprobe.d?

Update:

Recently, I installed Fedora Spin KDE 35 to another old hardware, Samsung RV413. It has Radeon HD 6320. This hardware only work with radeon and it’s my first time to know that amdgpu are not replacement for radeon driver but it’s newer driver for newer devices even though the newer devices most of the time can also run with radeon driver.

1 Like

Thank you very much for looking into this, @oprizal .

Just reformat that old Dell Vostro 3350 and start from fresh with Fedora Workstation-33.

Before running this change, my Vostro is working as long as I do not do “Launch with Discrete Graphics Card”.

Once I run it and reboot, the Vostro power off even without logon (while waiting in the GDM screen).