On Feb 26, 2013 7:04 PM, "Oon-Ee Ng" <ngoonee.talk@xxxxxxxxx> wrote: > > 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. Slightly OT, but make sure you enable writable perf levels... I didn't notice this for over a year of nouveau use and subsequently I thought it was far less performant than it actually was. Its like night and day. A udev rule could probably work, or maybe an absolutely grotesque abuse of an `install` modprobe config line... but personally I would do it all in a late mkinitcpio hook (ie after root mounts) which can edit/swap/whatever before the system starts up. As long as you keep nouveau OUT of the initramfs (ie avoid the "early" KMS method) it should work alright. With a little extra work you could assume nouveau and use early method, then have the hook unload if nvidia gets requested. -- C Anthony [mobile]