diff options
Diffstat (limited to 'app-misc/rogentoslive-tools/files/1.0/x-setup-configuration')
-rw-r--r-- | app-misc/rogentoslive-tools/files/1.0/x-setup-configuration | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/app-misc/rogentoslive-tools/files/1.0/x-setup-configuration b/app-misc/rogentoslive-tools/files/1.0/x-setup-configuration new file mode 100644 index 00000000..57f1688f --- /dev/null +++ b/app-misc/rogentoslive-tools/files/1.0/x-setup-configuration @@ -0,0 +1,60 @@ +#!/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 |