[remaster,scripts] enable KMS for spins not shipping with proprietary fglrx, disable gallium on others (for r600).

This commit is contained in:
Fabio Erculiani
2011-01-22 20:46:13 +01:00
parent b31c65d6a4
commit a8fc0070a9
4 changed files with 65 additions and 43 deletions

View File

@@ -25,11 +25,19 @@ ver=${RELEASE_VERSION}
sed -i "s/__VERSION__/${ver}/g" "${isolinux_destination}"
sed -i "s/__FLAVOUR__/${remaster_type}/g" "${isolinux_destination}"
kms_string=""
# should KMS be enabled?
if [ -f "${CHROOT_DIR}/.enable_kms" ]; then
rm "${CHROOT_DIR}/.enable_kms"
kms_string="radeon.modeset=1"
fi
sed -i "s/__KMS__/${kms_string}/g" "${isolinux_destination}"
sabayon_pkgs_file="${CHROOT_DIR}/etc/sabayon-pkglist"
if [ -f "${sabayon_pkgs_file}" ]; then
cp "${sabayon_pkgs_file}" "${CDROOT_DIR}/pkglist"
if [ -n "${ISO_PATH}" ]; then # molecule 0.9.6 required
# copy pkglist over to ISO path + pkglist
cp "${sabayon_pkgs_file}" "${ISO_PATH}".pkglist
cp "${sabayon_pkgs_file}" "${ISO_PATH}".pkglist
fi
fi

View File

@@ -104,6 +104,38 @@ gforensic_remove_skel_stuff() {
rm /etc/skel/.kderc
}
setup_oss_gfx_drivers() {
# do not tweak eselect mesa, keep defaults
# This file is polled by the isolinux.cfg setup script
touch /.enable_kms
}
setup_proprietary_gfx_drivers() {
# Prepare NVIDIA legacy drivers infrastructure
if [ ! -d "/install-data/drivers" ]; then
mkdir -p /install-data/drivers
fi
myuname=$(uname -m)
mydir="x86"
if [ "$myuname" == "x86_64" ]; then
mydir="amd64"
fi
kernel_tag="#$(equo match --installed -qv sys-kernel/linux-sabayon | sort | head -n 1 | cut -d"-" -f 4 | sed 's/ //g')-sabayon"
rm -rf /var/lib/entropy/client/packages/packages*/${mydir}/*/x11-drivers*
ACCEPT_LICENSE="NVIDIA" equo install --fetch --nodeps =x11-drivers/nvidia-drivers-173*$kernel_tag
ACCEPT_LICENSE="NVIDIA" equo install --fetch --nodeps =x11-drivers/nvidia-drivers-96*$kernel_tag
# not working with >=xorg-server-1.5
# ACCEPT_LICENSE="NVIDIA" equo install --fetch --nodeps ~x11-drivers/nvidia-drivers-71.86.*$kernel_tag
mv /var/lib/entropy/client/packages/packages-nonfree/${mydir}/*/x11-drivers\:nvidia-drivers*.tbz2 /install-data/drivers/
# if we ship with ati-drivers, we have KMS disabled by default.
# and better set driver arch to classic
eselect mesa set r600 classic
}
if [ "$1" = "lxde" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load LXDE
@@ -114,6 +146,7 @@ if [ "$1" = "lxde" ]; then
# properly tweak lxde autostart tweak, adding --desktop option
sed -i 's/pcmanfm -d/pcmanfm -d --desktop/g' /etc/xdg/lxsession/LXDE/autostart
setup_cpufrequtils
setup_oss_gfx_drivers
elif [ "$1" = "e17" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load E17
@@ -129,6 +162,7 @@ elif [ "$1" = "e17" ]; then
# Fix ~/.gtkrc-2.0 for some nice icons in gtk
echo 'gtk-icon-theme-name="Tango" gtk-theme-name="Xfce"' | tr " " "\n" > /etc/skel/.gtkrc-2.0
setup_cpufrequtils
setup_oss_gfx_drivers
elif [ "$1" = "xfce" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load XFCE
@@ -137,6 +171,7 @@ elif [ "$1" = "xfce" ]; then
remove_desktop_files
setup_cpufrequtils
setup_displaymanager
setup_oss_gfx_drivers
elif [ "$1" = "fluxbox" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load Fluxbox
@@ -145,57 +180,36 @@ elif [ "$1" = "fluxbox" ]; then
remove_desktop_files
setup_displaymanager
setup_cpufrequtils
setup_oss_gfx_drivers
elif [ "$1" = "gnome" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load GNOME
echo "[Desktop]" > /etc/skel/.dmrc
echo "Session=gnome" >> /etc/skel/.dmrc
SHIP_NVIDIA_LEGACY="1"
rc-update del system-tools-backends boot
rc-update add system-tools-backends default
setup_displaymanager
setup_sabayon_mce
setup_proprietary_gfx_drivers
elif [ "$1" = "gforensic" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load GNOME
echo "[Desktop]" > /etc/skel/.dmrc
echo "Session=gnome" >> /etc/skel/.dmrc
SHIP_NVIDIA_LEGACY="1"
rc-update del system-tools-backends boot
rc-update add system-tools-backends default
setup_displaymanager
setup_sabayon_mce
gforensic_remove_skel_stuff
setup_proprietary_gfx_drivers
elif [ "$1" = "kde" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load KDE
echo "[Desktop]" > /etc/skel/.dmrc
echo "Session=KDE-4" >> /etc/skel/.dmrc
SHIP_NVIDIA_LEGACY="1"
setup_displaymanager
setup_sabayon_mce
fi
if [ -n "${SHIP_NVIDIA_LEGACY}" ]; then
# Prepare NVIDIA legacy drivers infrastructure
if [ ! -d "/install-data/drivers" ]; then
mkdir -p /install-data/drivers
fi
myuname=$(uname -m)
mydir="x86"
if [ "$myuname" == "x86_64" ]; then
mydir="amd64"
fi
kernel_tag="#$(equo match --installed -qv sys-kernel/linux-sabayon | sort | head -n 1 | cut -d"-" -f 4 | sed 's/ //g')-sabayon"
rm -rf /var/lib/entropy/client/packages/packages*/${mydir}/*/x11-drivers*
ACCEPT_LICENSE="NVIDIA" equo install --fetch --nodeps =x11-drivers/nvidia-drivers-173*$kernel_tag
ACCEPT_LICENSE="NVIDIA" equo install --fetch --nodeps =x11-drivers/nvidia-drivers-96*$kernel_tag
# not working with >=xorg-server-1.5
# ACCEPT_LICENSE="NVIDIA" equo install --fetch --nodeps ~x11-drivers/nvidia-drivers-71.86.*$kernel_tag
mv /var/lib/entropy/client/packages/packages-nonfree/${mydir}/*/x11-drivers\:nvidia-drivers*.tbz2 /install-data/drivers/
setup_proprietary_gfx_drivers
fi
# !!! THERE IS A BUG IN THE CLAMAV EBUILD !!!