On Friday, December 30, 2011 10:18:48 AM Dennis Gallien wrote: ...
Just to clarify two details . . .
First, there are 2 pieces to nouveau - the X driver and the kernel module. So while uninstalling the xorg nouveau package removes the driver, it does not remove the kernel module.
Right. Ditto, term "should" as it doesn't imply that is actually done. Not blocking nouveau and rebuilding initrd when user explicitly removes its xorg counterpart, is a *kind* *of* buggy logic. It is completely in line with general packaging logic that nvidia GO packages or install scripts must handle the issue, but there is only old nv driver that can replace nvidia proprietary, and that only if newer nvidia hardware is backward compatible to older. On the other hand, script that will check all possible use cases where is nvidia hardware involved (nvidia only, nvidia plus intel, where is connected monitor, etc, etc) can be quite sophisticated piece of software, not suitable for post install/uninstall scripts in a rpm package.
Second, the nouveau kernel module is compiled into the kernel. It is not in the initrd.
It is both, in the kernel and initrd. In kernel it is compiled as a module that can be loaded when requested. Location in initrd is: /lib/modules/3.1.0-1.2-desktop/kernel/drivers/gpu/drm/nouveau for running system. To check that you can un-cpio initrd and browse. This creates need for nouveau.modeset=0 to prevent loading completely. This is tested on older computer that runs only with nvidia proprietary driver and I had problem with nouveau being blacklisted, but anyway loaded.
Nor does the nvidia kernel module get put into the initrd at installation.
For the nvidia is valid the same as for nouveau. The difference is that in initrd nvidia is at different location (drivers/video/nvidia), but it is there.
So in other words, the kernel by default loads nouveau beause it is in the kernel binary; blacklisting it instructs the kernel not to do the load.
It is compiled as module, not in a binary /boot/vmlinuz-3.1.0-1.2-desktop . That makes possible to blacklist it. Otherwise it will be loaded with a vmlinuz-3.1.0-1.2-desktop .
The nvidia module if installed is loaded later.
Nvidia is using the same architecture as nouveau. Two parts, one in a kernel and the other for a xorg. Only xorg part is loaded later, but the same is valid for nouveau.
And any graphics prior to starting X is not using either nouveau or nvidia, it is the vesa framebuffer.
It is using framebuffer for sure, vesa generic, or vesa with extensions, like nvidiafb, that depends on what is installed and requested. I'm not familiar with exact logic how selection of the driver works when more then one is present. I can see that xorg has fallback options as long as there is a choice of multiple drivers, but I'm not sure about kernel. -- Regards, Rajko -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org