diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-04-12 01:28:47 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-04-12 01:28:47 +0100 |
commit | a4398117607f4f1fefec25d4043feaa9a918f225 (patch) | |
tree | 133fe837565ffe22a55ccd7eda5e5c1d73eca3de | |
parent | ea99386b335b20e7a0039d775f0f7fb37888f5dd (diff) |
Plymouth "zooms" in on smaller displays when multiple displays are used,
but the script splash plugin defines the window size as the smallest
of the displays. When using a sprite as a background image, the wrong
size is used which leaves large chunks of the screen unused.
This patch uses the largest display as the window size, which allows
it to be appopriately cropped on smaller displays.
See : https://lists.freedesktop.org/archives/plymouth/2013-April/000724.html
-rw-r--r-- | sys-boot/plymouth/files/plymouth-fix-window-size-with-multiple-heads.patch | 21 | ||||
-rw-r--r-- | sys-boot/plymouth/files/plymouth-include-sysmacros.patch (renamed from sys-boot/plymouth/files/0.8.8-include-sysmacros.patch) | 0 | ||||
-rw-r--r-- | sys-boot/plymouth/plymouth-0.8.8-r3.ebuild | 93 |
3 files changed, 114 insertions, 0 deletions
diff --git a/sys-boot/plymouth/files/plymouth-fix-window-size-with-multiple-heads.patch b/sys-boot/plymouth/files/plymouth-fix-window-size-with-multiple-heads.patch new file mode 100644 index 00000000..53172d1a --- /dev/null +++ b/sys-boot/plymouth/files/plymouth-fix-window-size-with-multiple-heads.patch @@ -0,0 +1,21 @@ +diff -Nur a/src/plugins/splash/script/script-lib-sprite.c b/src/plugins/splash/script/script-lib-sprite.c +--- a/src/plugins/splash/script/script-lib-sprite.c 2012-09-26 17:50:53.000000000 +0100 ++++ b/src/plugins/splash/script/script-lib-sprite.c 2018-04-12 01:20:25.782074829 +0100 +@@ -233,7 +233,7 @@ + if (width == 0) + width = ply_pixel_display_get_width (display->pixel_display); + else +- width = MIN (width, ply_pixel_display_get_width (display->pixel_display)); ++ width = MAX (width, ply_pixel_display_get_width (display->pixel_display)); + } + return script_return_obj (script_obj_new_number (width)); + } +@@ -273,7 +273,7 @@ + if (height == 0) + height = ply_pixel_display_get_height (display->pixel_display); + else +- height = MIN (height, ply_pixel_display_get_height (display->pixel_display)); ++ height = MAX (height, ply_pixel_display_get_height (display->pixel_display)); + } + return script_return_obj (script_obj_new_number (height)); + } diff --git a/sys-boot/plymouth/files/0.8.8-include-sysmacros.patch b/sys-boot/plymouth/files/plymouth-include-sysmacros.patch index 7f39fa1a..7f39fa1a 100644 --- a/sys-boot/plymouth/files/0.8.8-include-sysmacros.patch +++ b/sys-boot/plymouth/files/plymouth-include-sysmacros.patch diff --git a/sys-boot/plymouth/plymouth-0.8.8-r3.ebuild b/sys-boot/plymouth/plymouth-0.8.8-r3.ebuild new file mode 100644 index 00000000..ba650ee1 --- /dev/null +++ b/sys-boot/plymouth/plymouth-0.8.8-r3.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit autotools-utils readme.gentoo systemd toolchain-funcs + +DESCRIPTION="Graphical boot animation (splash) and logger" +HOMEPAGE="http://cgit.freedesktop.org/plymouth/" +SRC_URI="http://www.freedesktop.org/software/plymouth/releases/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE_VIDEO_CARDS="video_cards_intel video_cards_radeon" +IUSE="${IUSE_VIDEO_CARDS} debug gdm +gtk +libkms +pango static-libs" + +CDEPEND=" + >=media-libs/libpng-1.2.16 + gtk? ( + dev-libs/glib:2 + >=x11-libs/gtk+-2.12:2 ) + libkms? ( x11-libs/libdrm[libkms] ) + pango? ( >=x11-libs/pango-1.21 ) + video_cards_intel? ( x11-libs/libdrm[video_cards_intel] ) + video_cards_radeon? ( x11-libs/libdrm[video_cards_radeon] ) +" +DEPEND="${CDEPEND} + virtual/pkgconfig +" +# Block due bug #383067 +RDEPEND="${CDEPEND} + virtual/udev + x11-themes/redcore-artwork-core +" + +DOC_CONTENTS=" + Follow the following instructions to set up Plymouth:\n + http://dev.gentoo.org/~aidecoe/doc/en/plymouth.xml +" + +src_prepare() { + epatch "${FILESDIR}/${PN}-redcore-defaults.patch" + epatch "${FILESDIR}/${PN}-include-sysmacros.patch" + epatch "${FILESDIR}/${PN}-fix-window-size-with-multiple-heads.patch" + + sed -i 's:/bin/systemd-tty-ask-password-agent:/usr/bin/systemd-tty-ask-password-agent:g' \ + systemd-units/systemd-ask-password-plymouth.service.in || die \ + 'ask-password sed failed' + sed -i 's:/bin/udevadm:/usr/bin/udevadm:g' \ + systemd-units/plymouth-start.service.in || die 'udevadm sed failed' + autotools-utils_src_prepare +} + +src_configure() { + local myeconfargs=( + --with-system-root-install=no + --localstatedir=/var + --without-rhgb-compat-link + --disable-systemd-integration + $(use_enable debug tracing) + $(use_enable gtk gtk) + $(use_enable libkms) + $(use_enable pango) + $(use_enable gdm gdm-transition) + $(use_enable video_cards_intel libdrm_intel) + $(use_enable video_cards_radeon libdrm_radeon) + ) + autotools-utils_src_configure +} + +src_install() { + autotools-utils_src_install + + # Provided by redcore-artwork-core + rm "${D}/usr/share/plymouth/bizcom.png" + + # Install compatibility symlinks as some rdeps hardcode the paths + dosym /usr/bin/plymouth /bin/plymouth + dosym /usr/sbin/plymouth-set-default-theme /sbin/plymouth-set-default-theme + dosym /usr/sbin/plymouthd /sbin/plymouthd + + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog + if ! has_version "sys-kernel/dracut[dracut_modules_plymouth]" && ! has_version "sys-kernel/genkernel-next[plymouth]"; then + ewarn "If you want initramfs builder with plymouth support, please emerge" + ewarn "sys-kernel/dracut[dracut_modules_plymouth] or sys-kernel/genkernel-next[plymouth]." + fi +} |