# radeonkms_load="YES" in loader.conf doesn't load radeonkms  : <



## poorandunlucky (Oct 14, 2020)

So as the title says, I have an ATI Radeon FirePro 7820M in my server, and I have radeonkms_load="YES" in /boot/loader.conf, but it doesn't load, I have to load it manually every reboot...

Any idea why?


----------



## T-Daemon (Oct 14, 2020)

radeonkms is `module_blacklist`'ed in /boot/defaults/loader.conf. To load automatically set in /etc/rc.conf
`kld_list="radeonkms"`, assuming it's the base kernel module, not the graphics/drm-kmod module. If the latter, set `kld_list="/boot/modules/radeonkms"`.


----------



## poorandunlucky (Oct 19, 2020)

T-Daemon I run the generic kernel, and I already had kld_list="/boot/modules/radeonkms" in rc.conf (on top of radeonkms_load="YES" in /boot/loader.conf.

It runs fine by hand, I just `kldload radeonkms` and it loads, no problem...  I don't understand why I can't get the system to do it on its own...


----------



## T-Daemon (Oct 19, 2020)

poorandunlucky said:


> @T-Daemon I run the generic kernel, and I already had kld_list="/boot/modules/radeonkms" in rc.conf (on top of radeonkms_load="YES" in /boot/loader.conf.


Those settings are addressing two different drivers. The driver you set in /boot/loader.conf will address the one which comes with the base system, /boot/kernel/radeonkms.ko, the one set in /etc/rc.conf, `kld_list="/boot/modules/radeonkms"`, should be set when the driver comes from graphics/drm-legacy-kmod or graphics/drm-kmod.

The setting in /boot/loader.conf will try to load /boot/kernel/radeonkms.ko, but will not succeed because it's blacklisted in /boot/defaults/loader.conf.



poorandunlucky said:


> It runs fine by hand, I just  kldload radeonkms and it loads,


Obviously you are using the driver which comes with the base system, /boot/kernel/radeonkms.ko. Set in /etc/rc.conf `kld_list="radeonkms"`, overriding the blacklist. Delete the setting in /boot/loader.conf.

I checked on my system, 12.1-RELEASE, set `kld_list="radeonkms"` loads fine automatically.


----------



## poorandunlucky (Oct 29, 2020)

oh yeah, you're right...  decided to reboot, and test it out...  I took out the offending line in /boot/loader.conf and just left kld_list="radeonkms" in /etc/rc.conf and it loaded automatically at some point during boot.

I didn't think one would interfere with the other, and I didn't think giving a full path vs a short name would make a difference, but there is indeed voodoo in action.  

What's a good policy to use kld_list in rc.conf versus loader.conf?  Do you know where they intersect, and if it's better to use one over the other, or just use kld_list when things are blacklisted like this?  I don't understand why it's like this, either...  Why is it blacklisted?

Are there any benefits to using the driver from graphics/drm-kmod or graphics/drm-legacy-kmod versus the one that comes in the base system?

I realize that's a lot of questions, but if you can help me make a bit more sense of this, and learn a bit more about the display drivers, it'd be appreciated...


----------



## SirDice (Oct 29, 2020)

poorandunlucky said:


> What's a good policy to use kld_list in rc.conf versus loader.conf?


If you don't need the driver to boot the system put it in `kld_list`. If the driver is required to boot the system properly load it in loader.conf.



poorandunlucky said:


> Are there any benefits to using the driver from graphics/drm-kmod or graphics/drm-legacy-kmod versus the one that comes in the base system?


The one in the base is old and will be removed some time in the future.


----------



## T-Daemon (Oct 29, 2020)

Here are some information's regarding the module blacklist and `kld_list`:






						[base] Revision 339218
					






					svnweb.freebsd.org
				





```
lualoader: Create a module blacklist, add DRM modules to it

This is a step in the process of easing migration into the new world order
of DRM drivers. Strongly encourage users towards loading DRM modules via
rc.conf(5) instead of loader.conf(5) by failing the load from loader(8).
Users so inclined may wipe out the blacklist via module_blacklist="" in
loader.conf(5), and it is expected that these modules will eventually be
removed from the blacklist. They may still be loaded as dependencies of
other modules or explicitly via the loader prompt, but this should not be a
major problem.
```

/usr/src/UPDATING:

```
20181006:
    The legacy DRM modules and drivers have now been added to the loader's
    module blacklist, in favor of loading them with kld_list in rc.conf(5).
    The module blacklist may be overridden with the loader.conf(5)
    'module_blacklist' variable, but loading them via rc.conf(5) is strongly
    encouraged.
```

rc.conf(5), search for `kld_list`.


----------



## Alain De Vos (Oct 29, 2020)

With FreeBSD 12.2-RC3 I use the kernel modules, i.e. not from the port,

```
kld_list="drm2 radeonkms"
```


----------



## freejlr (Nov 1, 2020)

Hi, as you said above, the radeonkms module is blacklisted, if you look at the /boot/defaults/loader.conf file you can find the radeonkms module in module_blacklist, just remove it and don't worry about the drm module will load with drm to be dependent, if I'm not mistaken.

Regards.

P.D: Is there any reason to prefer to load them by rc.conf? security? I am new to this system and I would like to know.


----------



## tux2bsd (Jan 22, 2021)

/etc/rc.conf is great, a single place for lots of fundamental settings and it's simple to understand









						Chapter 13. Configuration and Tuning
					

This chapter explains much of the FreeBSD configuration process, including some of the parameters which can be set to tune a FreeBSD system.




					www.freebsd.org


----------

