summaryrefslogtreecommitdiff
path: root/app-misc/rogentoslive-tools/files/1.0/x-setup-configuration
diff options
context:
space:
mode:
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-configuration60
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