#!/bin/bash # get livecd functions source /sbin/livecd-functions.sh source /sbin/rogentos-functions.sh runtime_linking_proprietary_drivers() { if [ -d "/lib/nvidia" ] || [ -d "/lib/fglrx" ]; then current_arch=$(uname -m) if [ "$current_arch" == "x86_64" ]; then ld_arch="elf_x86_64" elif [ "$current_arch" == "i686" ]; then ld_arch="elf_i386" fi lspci_vga=$(lspci | grep ' VGA ') mount -t tmpfs none /lib/modules/$(uname -r)/video if [ -n "`echo $lspci_vga | grep -i nvidia`" ]; then ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o depmod -a &> /dev/null elif [ -n "`echo $lspci_vga | grep -i ati`" ]; then ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o depmod -a &> /dev/null elif [ -n "`echo $lspci_vga | grep -i unknown`" ]; then ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o depmod -a &> /dev/null elif [ -z "$lspci_vga" ]; then ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/nvidia.ko /lib/nvidia/nvidia.o /lib/nvidia/nvidia.mod.o ld -m $ld_arch -r -o /lib/modules/$(uname -r)/video/fglrx.ko /lib/fglrx/fglrx.o /lib/fglrx/fglrx.mod.o depmod -a &> /dev/null fi fi } buggy_fglrx_xv_fixup_code() { # This is a workaround for xv being broken # on fglrx <12.2, disable Xv in xorg.conf.d local workaround_file=/usr/share/rogentoslive-tools/xorg.conf.d/90-fglrx-12.1-and-older-workaround.conf if [ -f "${workaround_file}" ]; then is_fglrx=$(/bin/lsmod | grep ^fglrx) if [ -n "${is_fglrx}" ]; then cp "${workaround_file}" /usr/share/X11/xorg.conf.d fi fi } # create seed rm -f /etc/x-setup-configuration-running touch /etc/x-setup-configuration-running # Prepare Video Cards Proprietary Drivers if sabayon_is_live; then runtime_linking_proprietary_drivers fi /sbin/gpu-configuration &> /dev/null # buggy_fglrx_xv_fixup_code # delete seed rm -f /etc/x-setup-configuration-running