Paulo Cavalcanti wrote at about 16:40:54 -0200 on Friday, December 18, 2009:
 > On Fri, Dec 18, 2009 at 2:08 PM, Jeffrey J. Kosowsky 
 > <atr...@kosowsky.org>wrote:
 > 
 > > Paulo Cavalcanti wrote at about 15:40:40 -0200 on Friday, December 4, 2009:
 > >  > I adapted "/usr/sbin/nvidia-graphics-switch" for doing what you want:
 > >  >
 > >  > 
 > > http://people.atrpms.net/~pcavalcanti/patches/nvidia-graphics-switch<http://people.atrpms.net/%7Epcavalcanti/patches/nvidia-graphics-switch>
 > >  >
 > >  > It creates a "/etc/modprobe.d/nvidia.conf".
 > >  >
 > >  > This is what should appear in nvidia.conf, by running
 > >  >
 > >  > sudo ./nvidia-graphics-switch 190.42
 > >  >
 > >  > ------------------------------------------------------
 > >  >
 > >  > # put nouveau out of the game
 > >  > blacklist nouveau
 > >  > # nvidia kernel module
 > >  > alias char-major-195 nvidia-190_42
 > >  > alias nvidia nvidia-190_42
 > >  >
 > >
 > > Couple of questions/comments:
 > > 1. First, when (if ever) will such a patch be integrated into the
 > >   regular atrpms package. It seems pretty critical and at the same time
 > >   non-obvious for newbies (or even some experienced users)
 > >
 > > 2. Now for some questions regarding your code:
 > > test -e /etc/modprobe.d/nvidia.conf || touch
 > > /etc/modprobe.d/nvidia.conf
 > > for file in /etc/modprobe.d/nvidia.conf; do
 > >  if [ -e $file ]; then
 > >    mv $file $file.backup
 > >    grep -Ev '(NVdriver|nvidia|nouveau)' < $file.backup > $file
 > >    echo "# put nouveau out of the game" >> $file
 > >    echo "blacklist nouveau" >> $file
 > >    echo "# nvidia kernel module" >> $file
 > >    for NVavail in $available; do
 > >      if [ "$NVavail" != "$NVversion" ]; then
 > >        echo "blacklist nvidia-$NVavail" | sed -e's,\.,_,g' >> $file
 > >      fi
 > >    done
 > >    echo "alias char-major-195 $NVmodule" >> $file
 > >    echo "alias nvidia $NVmodule" >> $file
 > >  fi
 > > done
 > >
 > > A. Why do you need to use a 'for' loop? It seems like it's just a
 > >   single file so how does the loop help.
 > >
 > 
 > I just used the previous code from the original script. The loop is not
 > really necessary here any more.
 >
OK. And the code has a fair bit of other presumably residual fluff
(see below).

 > 
 > 
 > > B. Why do you touch and then mv to backup. If there wasn't a file
 > >   there before, why would you want to create a backup?
 > >
 > >
 > There can be a previous nvidia.conf or not, it it is the first time.

Exactly - so I would only have made the backup *if* there was one
there previously.

Here is my (untested) rewrite:

file=/etc/modprobe.d/nvidia.conf
if [ -e $file ]; then
    mv $file $file.backup
        grep -Ev '(NVdriver|nvidia|nouveau)' < $file.backup > $file
else
    touch $file
fi

echo "# put nouveau out of the game" >> $file
echo "blacklist nouveau" >> $file
echo "# nvidia kernel module" >> $file
for NVavail in $available; do
   if [ "$NVavail" != "$NVversion" ]; then
      echo "blacklist nvidia-$NVavail" | sed -e's,\.,_,g' >> $file
   fi
done
echo "alias char-major-195 $NVmodule" >> $file
echo "alias nvidia $NVmodule" >> $file

_______________________________________________
atrpms-users mailing list
atrpms-users@atrpms.net
http://lists.atrpms.net/mailman/listinfo/atrpms-users

Reply via email to