[arch-general] Suggestions wanted: nvidia + nouveau in AUR PKGBUILD

Oon-Ee Ng ngoonee.talk at gmail.com
Tue Feb 26 20:04:14 EST 2013

I'm an nvidia user who finally decided to try out nouveau and
currently have it working, but want to keep nvidia installed
just-in-case. I also maintain
nvidia-beta/lib32-nvidia-utils-beta/nvidia-utils-beta in the AUR.

As far as I can see, keeping both nouveau and nvidia installed and
usable is not difficult, especially with the new mesa split PKGBUILD.
Basically I only need the following symlinks (may be a bit different
from current:-

1. /usr/lib/libGL.so -> libGL.so.1
2. /usr/lib/libGL.so.1 -> libGL.so.1.2.0 OR libGL.so.313.18
3. /usr/lib/libGL.so.1.2.0 -> mesa-libGL.so.1.2.0
4. /usr/lib32/libGL.so -> libGL.so.1
5. /usr/lib32/libGL.so.1 -> libGL.so.1.2.0 OR libGL.so.313.18
6. /usr/lib32/libGL.so.1.2.0 -> mesa-libGL.so.1.2.0
7. /usr/lib/xorg/modules/extensions/libglx.so -> libglx.xorg OR libglx.so.313.18

I also need to blacklist nouveau (or remove the blacklist) for
modprobe, currently done in /usr/lib/modprobe.d/nvidia.conf

A few questions:-

1. The 'best' way I can figure is that all symlinks would be owned by
a fake {lib32-}mesa-libgl-nvidia package. Only symlink 2, 5, and 7
above need changing when 'switching'. This would require manually
running a script to change (followed by a reboot). The script can also
fix the blacklist.
1a. Can the blacklist be fixed by renaming the file to not end with
.conf or must it be moved out of /usr/lib/modprobe.d?

2. Alternatively, is there a way to get my bootloader to blacklist
modules (modprobe.blacklist=nouveau or nouveau.blacklist=true as shown
in [1]?) AND run a script which would 'fix' the symlinks before KMS?
This would be preferable (and lower-maintenance for me) if possible.

[1] - http://www.funtoo.org/wiki/Create_a_boot_option_for_easy_nvidia_or_nouveau_display_driver_switching

More information about the arch-general mailing list