Mailinglist Archive: opensuse (1698 mails)

< Previous Next >
Re: [opensuse] Poor 12.1 performance
  • From: "Rajko M." <rmatov101@xxxxxxxxxxx>
  • Date: Fri, 30 Dec 2011 11:49:46 -0600
  • Message-id: <8234938.ypUF1hourU@linux-zfki>
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@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse+owner@xxxxxxxxxxxx

< Previous Next >