2016-03-21 9:59 GMT-03:00 Bertram Scharpf <li...@bertram-scharpf.de>:

> On Monday, 21. Mar 2016, 12:37:07 +0000, Ian Bloss wrote:
> > Did you update your kernel in the process as well?
> >
> > On Mon, Mar 21, 2016, 07:53 Bertram Scharpf <li...@bertram-scharpf.de>
> wrote:
> > > since an emerge-update-world on my notebook the keyboard
> > > does no longer respond in X. [...]
>
> No. The emerge-update did not install new kernel sources and
> therefore I found no need to reconfigure or to compile the
> old ones.
>
> Bertram
>
>
> --
> Bertram Scharpf
> Stuttgart, Deutschland/Germany
> http://www.bertram-scharpf.de
>
>
For my experience, if the X server was rebuilt (either a new version, or a
simple rebuild because of many possible triggers, including USE flags
change, for example), then you need to rebuild all X drivers as well.

After I issue a complete emerge update, I run the following script (I have
a nVidia card) as root:

GentooSystem ~ $ cat ~/bin/xorg_rebuild
#! /bin/bash
if ! [ -e /root/.working ]
then
        touch /root/.working

        XORG_SERVER=`equery l xorg-server`
        if [ "$XORG_SERVER" != "`cat /root/xorg-server.txt`" ]
        then
                EMERGE_LIST=`equery l --format='$name' xf86*`" "`equery l
--format='$name' "xorg*"`" "`equery l --format='$name' nvidia-drivers`
                # EMERGE_LIST=`equery l --format='$name' xf86*`" "`equery l
--format='$name' "xorg*"`
                emerge -vD --with-bdeps=y --keep-going --quiet-build
$EMERGE_LIST && \
                echo $XORG_SERVER>/root/xorg-server.txt && \
                echo $NVIDIA_DRVR>/root/nvidia-drvr.txt && \
                rmmod nvidia 2>/dev/null && modprobe nvidia
        fi

        DRIVER="nvidia-drivers"
        MOD="nvidia"
        VIDEO_DRIVR=`equery l $DRIVER`
        if [ "$VIDEO_DRIVR" != "`cat /root/video-drv.txt`" ]
        then
                EMERGE_LIST=`equery l --format='$name' xf86*`" "`equery l
--format='$name' "xorg*"`" "`equery l --format='$name' $DRIVER`
                emerge -vD --with-bdeps=y --keep-going --quiet-build
$EMERGE_LIST && \
                echo $XORG_SERVER>/root/xorg-server.txt && \
                echo $VIDEO_DRIVR>/root/video-drv.txt && \
                rmmod $MOD 2>/dev/null && modprobe $MOD
        fi

        rm -f /root/.working
fi


It uses three files, the first is used to signal to other scripts (that
uses emerge for some reason) to not try to do anything while other of those
scripts, including this one, is being run. That is "/root/working".

Another file is "/root/xorg-server.txt", that keeps the output of 'equery l
xorg-server', which is compared with up to date result of the same command.
If it is different, the script lists all installed drivers and re-emerges
them. Finally this same file is updated.

The same happens with the nVidia proprietary driver, using file
"/root/video-drv.txt".

Hope this helps.

Best regards,
Francisco

Reply via email to