From a8fc0070a9675929a3fcb9f93b414fc5e3461ee7 Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Sat, 22 Jan 2011 20:46:13 +0100 Subject: [PATCH] [remaster,scripts] enable KMS for spins not shipping with proprietary fglrx, disable gallium on others (for r600). --- remaster/minimal_isolinux.cfg | 12 ++-- remaster/standard_isolinux.cfg | 22 +++---- scripts/generic_pre_iso_script.sh | 10 ++- ...aster_generic_inner_chroot_script_after.sh | 64 +++++++++++-------- 4 files changed, 65 insertions(+), 43 deletions(-) diff --git a/remaster/minimal_isolinux.cfg b/remaster/minimal_isolinux.cfg index 83c742b..8a41165 100644 --- a/remaster/minimal_isolinux.cfg +++ b/remaster/minimal_isolinux.cfg @@ -1,32 +1,32 @@ DEFAULT /boot/sabayon GFXBOOT bootlogo GFXBOOT-BACKGROUND 0xAAAAAA -APPEND root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet -- +APPEND root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet -- LABEL sabayon menu label ^Start Sabayon __VERSION__ __FLAVOUR__ kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet -- LABEL install menu label Graphical ^Installation kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet installer-gui -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet installer-gui -- LABEL text-install menu label Text ^Installation kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon vga=791 console=tty1 quiet installer-text gentoo=nox nox -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon __KMS__ vga=791 console=tty1 quiet installer-text gentoo=nox nox -- LABEL genuine menu label Safe ^Mode kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=788 noproprietary genuine res=1024x768 refresh=60 hsync=43-51 pci=routeirq irqpoll noddc console=tty1 quiet nokvm -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=788 noproprietary genuine res=1024x768 refresh=60 hsync=43-51 pci=routeirq irqpoll noddc console=tty1 quiet nokvm -- LABEL console menu label ^Console mode kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon vga=791 gentoo=nox nox console=tty1 quiet -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon __KMS__ vga=791 gentoo=nox nox console=tty1 quiet -- LABEL debug menu label Deb^ug mode diff --git a/remaster/standard_isolinux.cfg b/remaster/standard_isolinux.cfg index 420264d..22494af 100644 --- a/remaster/standard_isolinux.cfg +++ b/remaster/standard_isolinux.cfg @@ -1,54 +1,54 @@ DEFAULT /boot/sabayon GFXBOOT bootlogo GFXBOOT-BACKGROUND 0xAAAAAA -APPEND root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet -- +APPEND root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet -- LABEL sabayon menu label ^Start Sabayon __VERSION__ __FLAVOUR__ kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet music -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet music -- LABEL sabayonnomusic menu label ^Start Sabayon w/o boot music kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet -- LABEL sabayonmce menu label ^Start Sabayon Media Center kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet sabayonmce -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet sabayonmce -- LABEL eeepc menu label Sabayon Netbook kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=0x312 console=tty1 quiet eeepc -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=0x312 console=tty1 quiet eeepc -- LABEL eeepcmce menu label Sabayon Media Center Netbook kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=0x312 console=tty1 quiet eeepc sabayonmce -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=0x312 console=tty1 quiet eeepc sabayonmce -- LABEL install menu label Graphical ^Installation kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet installer-gui -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet installer-gui -- LABEL mceinstall menu label Graphical ^Installation (Media Center) kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet installer-gui mceinstall -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet installer-gui mceinstall -- LABEL text-install menu label Text ^Installation kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon vga=791 console=tty1 quiet installer-text gentoo=nox nox -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon __KMS__ vga=791 console=tty1 quiet installer-text gentoo=nox nox -- LABEL genuine menu label Safe ^Mode kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=788 noproprietary genuine res=1024x768 refresh=60 hsync=43-51 pci=routeirq irqpoll noddc console=tty1 quiet nokvm -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=788 noproprietary genuine res=1024x768 refresh=60 hsync=43-51 pci=routeirq irqpoll noddc console=tty1 quiet nokvm -- LABEL console menu label ^Console mode kernel /boot/sabayon - append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon vga=791 gentoo=nox nox console=tty1 quiet -- + append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon __KMS__ vga=791 gentoo=nox nox console=tty1 quiet -- LABEL debug menu label Deb^ug mode diff --git a/scripts/generic_pre_iso_script.sh b/scripts/generic_pre_iso_script.sh index 9e4f755..39ea5b3 100755 --- a/scripts/generic_pre_iso_script.sh +++ b/scripts/generic_pre_iso_script.sh @@ -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 diff --git a/scripts/remaster_generic_inner_chroot_script_after.sh b/scripts/remaster_generic_inner_chroot_script_after.sh index efcd009..59fcd44 100755 --- a/scripts/remaster_generic_inner_chroot_script_after.sh +++ b/scripts/remaster_generic_inner_chroot_script_after.sh @@ -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 !!!