You are not logged in.

#76 2009-12-11 16:51:01

tuxs
Member
Registered: 2009-12-11
Posts: 21

Re: Plymouth is working! How to have a great splash in your box

hello all friend
i installed plymouth on my Arch(64bit)!but,since of reboot,it is my result!:
http://www.4shared.com/file/169733190/8 … 00201.html

whats my problem?:|

my graphic card is nVIDIA 9300!

very thx

Offline

#77 2009-12-12 13:52:06

f00f
Member
Registered: 2009-12-12
Posts: 6

Re: Plymouth is working! How to have a great splash in your box

Have you added "vga=0x??? quiet splash" at the end of kernel /vmlinuz26... line in GRUB configuration file ?

As I am here I would like to ask a question about LUKS and plymouth. How to make it work together ? wink
I have encrypted LVM (root), how to make plymouth ask for password ? Currently it hangs forever, after switching to another tty I see prompt for password but I cannot enter it.
I have Fedora11 box with plymouth and luks, it just ask for password with nice textbox. I wish have the same on Arch wink

Offline

#78 2009-12-12 15:08:45

bobdob
Member
Registered: 2008-06-13
Posts: 138

Re: Plymouth is working! How to have a great splash in your box

f00f wrote:

As I am here I would like to ask a question about LUKS and plymouth. How to make it work together ? wink
I have encrypted LVM (root), how to make plymouth ask for password ? Currently it hangs forever, after switching to another tty I see prompt for password but I cannot enter it.
I have Fedora11 box with plymouth and luks, it just ask for password with nice textbox. I wish have the same on Arch wink

I'm in the same situation. I tried to hack the luks hook, but it didn't work. I gave up in the end because of uni work, but now that its christmas I might have a look at it again.
Anyone have any ideas of how to implement this?

Offline

#79 2009-12-14 22:43:01

bobdob
Member
Registered: 2008-06-13
Posts: 138

Re: Plymouth is working! How to have a great splash in your box

That didn't take as long as I though it would.

I have managed to get luks working now. Plymouth now has a password prompt.

Here is the patch for the encrypt hook (/lib/initcpio/hooks/encrypt).
It hasn't had much testing, but it seems to work ok.

--- encrypt    2009-12-14 15:56:30.145847861 +0000
+++ encrypt    2009-12-14 22:34:39.667267380 +0000
@@ -66,10 +66,9 @@
                     echo ""
                     echo "A password is required to access the ${cryptname} volume:"
 
-                    #loop until we get a real password
-                    while ! eval /bin/cryptsetup luksOpen ${cryptdev} ${cryptname} ${CSQUIET}; do
-                        sleep 2;
-                    done
+                    plymouth ask-for-password --prompt="Password" --dont-pause-progress --command="/bin/cryptsetup luksOpen --key-file=- ${cryptdev} ${cryptname} ${CSQUIET}"
+                    sleep 2;
+
                 fi
                 if [ -e "/dev/mapper/${cryptname}" ]; then
                     if [ ${DEPRECATED_CRYPT} -eq 1 ]; then

Offline

#80 2010-01-09 12:47:33

hicham.haouari
Member
Registered: 2010-01-09
Posts: 2

Re: Plymouth is working! How to have a great splash in your box

I got it working too, with the smooth gdm transition smile

For this, I had to do the following.

* Activated early kms for 2.6.32.3
   - http://bugs.archlinux.org/task/17461

* Patch xorg-server :
   - http://cvs.fedoraproject.org/viewvc/rpm … iew=markup

* Get latest radeon git and patch it :
  - http://cvs.fedoraproject.org/viewvc/rpm … iew=markup

  - for nouveau :
    http://cvs.fedoraproject.org/viewvc/rpm … iew=markup

* Patch gdm :
   - http://cvs.fedoraproject.org/viewvc/rpm … iew=markup
   - http://cvs.fedoraproject.org/viewvc/rpm … iew=markup

* Recompile plymouth with --enable-gdm-transition

* in /etc/inittab, comment the line :
   - c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux

* activate autologin via /etc/gdm/custom.conf

For X to start on the active VT, plymouth write a file force-active-vt in /var/spool/gdm, so this directory must exist so that plymouth can write in it. However if u want to force active vt without this ( ie without --enable-gdm-transition in plymouth ), you might want to use this custom version of gdm-2.26.0-force-active-vt.patch :

diff -up gdm-2.26.0/daemon/gdm-display.c.force-active-vt gdm-2.26.0/daemon/gdm-display.c
--- gdm-2.26.0/daemon/gdm-display.c.force-active-vt    2009-02-19 21:45:13.000000000 -0500
+++ gdm-2.26.0/daemon/gdm-display.c    2009-03-16 14:29:02.646213754 -0400
@@ -65,7 +65,9 @@ struct GdmDisplayPrivate
         gsize                 x11_cookie_size;
         GdmDisplayAccessFile *access_file;
 
-        gboolean              is_local;
+        guint                 is_local : 1;
+        guint                 force_active_vt : 1;
+
         guint                 finish_idle_id;
 
         GdmSlaveProxy        *slave_proxy;
@@ -84,6 +86,7 @@ enum {
         PROP_X11_COOKIE,
         PROP_X11_AUTHORITY_FILE,
         PROP_IS_LOCAL,
+        PROP_FORCE_ACTIVE_VT,
         PROP_SLAVE_COMMAND,
 };
 
@@ -578,9 +581,10 @@ gdm_display_real_prepare (GdmDisplay *di
         gdm_slave_proxy_set_log_path (display->priv->slave_proxy, log_path);
         g_free (log_path);
 
-        command = g_strdup_printf ("%s --display-id %s",
+        command = g_strdup_printf ("%s --display-id %s %s",
                                    display->priv->slave_command,
-                                   display->priv->id);
+                                   display->priv->id,
+                                   display->priv->force_active_vt? "--force-active-vt" : "");
         gdm_slave_proxy_set_command (display->priv->slave_proxy, command);
         g_free (command);
 
@@ -831,6 +835,13 @@ _gdm_display_set_is_local (GdmDisplay   
 }
 
 static void
+_gdm_display_set_force_active_vt (GdmDisplay     *display,
+                                  gboolean        force_active_vt)
+{
+        display->priv->force_active_vt = force_active_vt;
+}
+
+static void
 _gdm_display_set_slave_command (GdmDisplay     *display,
                                 const char     *command)
 {
@@ -873,6 +884,9 @@ gdm_display_set_property (GObject       
         case PROP_IS_LOCAL:
                 _gdm_display_set_is_local (self, g_value_get_boolean (value));
                 break;
+        case PROP_FORCE_ACTIVE_VT:
+                _gdm_display_set_force_active_vt (self, g_value_get_boolean (value));
+                break;
         case PROP_SLAVE_COMMAND:
                 _gdm_display_set_slave_command (self, g_value_get_string (value));
                 break;
@@ -921,6 +935,9 @@ gdm_display_get_property (GObject       
         case PROP_IS_LOCAL:
                 g_value_set_boolean (value, self->priv->is_local);
                 break;
+        case PROP_FORCE_ACTIVE_VT:
+                g_value_set_boolean (value, self->priv->force_active_vt);
+                break;
         case PROP_SLAVE_COMMAND:
                 g_value_set_string (value, self->priv->slave_command);
                 break;
@@ -1091,6 +1108,13 @@ gdm_display_class_init (GdmDisplayClass 
                                                                NULL,
                                                                TRUE,
                                                                G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+        g_object_class_install_property (object_class,
+                                         PROP_FORCE_ACTIVE_VT,
+                                         g_param_spec_boolean ("force-active-vt",
+                                                               NULL,
+                                                               NULL,
+                                                               FALSE,
+                                                               G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
 
         g_object_class_install_property (object_class,
                                          PROP_SLAVE_COMMAND,
diff -up gdm-2.26.0/daemon/gdm-server.c.force-active-vt gdm-2.26.0/daemon/gdm-server.c
--- gdm-2.26.0/daemon/gdm-server.c.force-active-vt    2009-02-19 21:45:13.000000000 -0500
+++ gdm-2.26.0/daemon/gdm-server.c    2009-03-16 14:29:02.647212475 -0400
@@ -34,6 +34,8 @@
 #include <signal.h>
 #include <sys/resource.h>
 
+#include <linux/vt.h>
+
 #include <glib.h>
 #include <glib/gi18n.h>
 #include <glib/gstdio.h>
@@ -663,6 +665,44 @@ gdm_server_spawn (GdmServer  *server,
         return ret;
 }
 
+static int
+get_active_vt (void)
+{
+        int console_fd;
+        struct vt_stat console_state = { 0 };
+
+        console_fd = open ("/dev/tty0", O_RDONLY | O_NOCTTY);
+
+        if (console_fd < 0) {
+                goto out;
+        }
+
+        if (ioctl (console_fd, VT_GETSTATE, &console_state) < 0) {
+                goto out;
+        }
+
+out:
+        if (console_fd >= 0) {
+                close (console_fd);
+        }
+
+        return console_state.v_active;
+}
+
+static char *
+get_active_vt_as_string (void)
+{
+        int vt;
+
+        vt = get_active_vt ();
+
+        if (vt <= 0) {
+                return NULL;
+        }
+
+        return g_strdup_printf ("vt%d", vt);
+}
+
 /**
  * gdm_server_start:
  * @disp: Pointer to a GdmDisplay structure
@@ -681,6 +721,21 @@ gdm_server_start (GdmServer *server)
         return res;
 }
 
+gboolean
+gdm_server_start_on_active_vt (GdmServer *server)
+{
+        gboolean res;
+        char *vt;
+
+        g_free (server->priv->command);
+        server->priv->command = g_strdup (X_SERVER " -nr -verbose");
+        vt = get_active_vt_as_string ();
+        res = gdm_server_spawn (server, vt);
+        g_free (vt);
+
+        return res;
+}
+
 static void
 server_died (GdmServer *server)
 {
diff -up gdm-2.26.0/daemon/gdm-server.h.force-active-vt gdm-2.26.0/daemon/gdm-server.h
--- gdm-2.26.0/daemon/gdm-server.h.force-active-vt    2009-02-19 21:45:13.000000000 -0500
+++ gdm-2.26.0/daemon/gdm-server.h    2009-03-16 14:29:02.649191269 -0400
@@ -56,6 +56,7 @@ GType               gdm_server_get_type 
 GdmServer *         gdm_server_new       (const char *display_id,
                                           const char *auth_file);
 gboolean            gdm_server_start     (GdmServer   *server);
+gboolean            gdm_server_start_on_active_vt (GdmServer   *server);
 gboolean            gdm_server_stop      (GdmServer   *server);
 char *              gdm_server_get_display_device (GdmServer *server);
 
diff -up gdm-2.26.0/daemon/gdm-simple-slave.c.force-active-vt gdm-2.26.0/daemon/gdm-simple-slave.c
--- gdm-2.26.0/daemon/gdm-simple-slave.c.force-active-vt    2009-02-19 21:45:13.000000000 -0500
+++ gdm-2.26.0/daemon/gdm-simple-slave.c    2009-03-16 14:29:02.652215508 -0400
@@ -88,6 +88,7 @@ struct GdmSimpleSlavePrivate
 
 enum {
         PROP_0,
+        FORCE_ACTIVE_VT
 };
 
 static void     gdm_simple_slave_class_init     (GdmSimpleSlaveClass *klass);
@@ -1064,11 +1065,13 @@ gdm_simple_slave_run (GdmSimpleSlave *sl
         char    *display_name;
         char    *auth_file;
         gboolean display_is_local;
+        gboolean force_active_vt;
 
         g_object_get (slave,
                       "display-is-local", &display_is_local,
                       "display-name", &display_name,
                       "display-x11-authority-file", &auth_file,
+                      "force-active-vt", &force_active_vt,
                       NULL);
 
         /* if this is local display start a server if one doesn't
@@ -1100,7 +1103,10 @@ gdm_simple_slave_run (GdmSimpleSlave *sl
                                   G_CALLBACK (on_server_ready),
                                   slave);
 
-                res = gdm_server_start (slave->priv->server);
+                if (force_active_vt)
+                        res = gdm_server_start_on_active_vt (slave->priv->server);
+                else
+                        res = gdm_server_start (slave->priv->server);
                 if (! res) {
                         g_warning (_("Could not start the X "
                                      "server (your graphical environment) "
@@ -1248,12 +1254,14 @@ gdm_simple_slave_finalize (GObject *obje
 }
 
 GdmSlave *
-gdm_simple_slave_new (const char *id)
+gdm_simple_slave_new (const char *id,
+                      gboolean    force_active_vt)
 {
         GObject *object;
 
         object = g_object_new (GDM_TYPE_SIMPLE_SLAVE,
                                "display-id", id,
+                               "force-active-vt", force_active_vt,
                                NULL);
 
         return GDM_SLAVE (object);
diff -up gdm-2.26.0/daemon/gdm-simple-slave.h.force-active-vt gdm-2.26.0/daemon/gdm-simple-slave.h
--- gdm-2.26.0/daemon/gdm-simple-slave.h.force-active-vt    2009-02-19 21:45:13.000000000 -0500
+++ gdm-2.26.0/daemon/gdm-simple-slave.h    2009-03-16 14:29:02.655435299 -0400
@@ -48,7 +48,8 @@ typedef struct
 } GdmSimpleSlaveClass;
 
 GType               gdm_simple_slave_get_type   (void);
-GdmSlave *          gdm_simple_slave_new        (const char       *id);
+GdmSlave *          gdm_simple_slave_new        (const char       *id,
+                                                 gboolean          force_active_vt);
 
 G_END_DECLS
 
diff -up gdm-2.26.0/daemon/gdm-slave.c.force-active-vt gdm-2.26.0/daemon/gdm-slave.c
--- gdm-2.26.0/daemon/gdm-slave.c.force-active-vt    2009-02-19 21:45:13.000000000 -0500
+++ gdm-2.26.0/daemon/gdm-slave.c    2009-03-16 14:29:02.692436090 -0400
@@ -83,6 +83,7 @@ struct GdmSlavePrivate
         char            *display_hostname;
         gboolean         display_is_local;
         gboolean         display_is_parented;
+        gboolean         force_active_vt;
         char            *display_seat_id;
         char            *display_x11_authority_file;
         char            *parent_display_name;
@@ -99,6 +100,7 @@ enum {
         PROP_DISPLAY_NUMBER,
         PROP_DISPLAY_HOSTNAME,
         PROP_DISPLAY_IS_LOCAL,
+        PROP_FORCE_ACTIVE_VT,
         PROP_DISPLAY_SEAT_ID,
         PROP_DISPLAY_X11_AUTHORITY_FILE
 };
@@ -1164,6 +1166,13 @@ _gdm_slave_set_display_is_local (GdmSlav
 }
 
 static void
+_gdm_slave_set_force_active_vt (GdmSlave   *slave,
+                                gboolean    force_active_vt)
+{
+        slave->priv->force_active_vt = force_active_vt;
+}
+
+static void
 gdm_slave_set_property (GObject      *object,
                         guint         prop_id,
                         const GValue *value,
@@ -1195,6 +1204,9 @@ gdm_slave_set_property (GObject      *ob
         case PROP_DISPLAY_IS_LOCAL:
                 _gdm_slave_set_display_is_local (self, g_value_get_boolean (value));
                 break;
+        case PROP_FORCE_ACTIVE_VT:
+                _gdm_slave_set_force_active_vt (self, g_value_get_boolean (value));
+                break;
         default:
                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
                 break;
@@ -1233,6 +1245,9 @@ gdm_slave_get_property (GObject    *obje
         case PROP_DISPLAY_IS_LOCAL:
                 g_value_set_boolean (value, self->priv->display_is_local);
                 break;
+        case PROP_FORCE_ACTIVE_VT:
+                g_value_set_boolean (value, self->priv->force_active_vt);
+                break;
         default:
                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
                 break;
@@ -1358,6 +1373,14 @@ gdm_slave_class_init (GdmSlaveClass *kla
                                                                TRUE,
                                                                G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
+        g_object_class_install_property (object_class,
+                                         PROP_FORCE_ACTIVE_VT,
+                                         g_param_spec_boolean ("force-active-vt",
+                                                               "Force Active VT",
+                                                               "Force display to active VT",
+                                                               TRUE,
+                                                               G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+
         signals [STOPPED] =
                 g_signal_new ("stopped",
                               G_TYPE_FROM_CLASS (object_class),
diff -up gdm-2.26.0/daemon/gdm-static-display.c.force-active-vt gdm-2.26.0/daemon/gdm-static-display.c
--- gdm-2.26.0/daemon/gdm-static-display.c.force-active-vt    2009-03-11 11:00:52.000000000 -0400
+++ gdm-2.26.0/daemon/gdm-static-display.c    2009-03-16 14:29:02.693447871 -0400
@@ -86,10 +86,27 @@ gdm_static_display_remove_user_authoriza
 }
 
 static gboolean
+triggered_to_force_display_on_active_vt (void)
+{
+        gboolean should_force_display_on_active_vt;
+
+        should_force_display_on_active_vt = TRUE ;
+                                                        
+        
+
+        return should_force_display_on_active_vt;
+}
+
+static gboolean
 gdm_static_display_manage (GdmDisplay *display)
 {
         g_return_val_if_fail (GDM_IS_DISPLAY (display), FALSE);
 
+        if (triggered_to_force_display_on_active_vt ()) {
+                g_object_set (display, "force-active-vt", TRUE, NULL);
+        } else {
+                g_object_set (display, "force-active-vt", FALSE, NULL);
+        }
         GDM_DISPLAY_CLASS (gdm_static_display_parent_class)->manage (display);
 
         return TRUE;
diff -up gdm-2.26.0/daemon/simple-slave-main.c.force-active-vt gdm-2.26.0/daemon/simple-slave-main.c
--- gdm-2.26.0/daemon/simple-slave-main.c.force-active-vt    2009-03-16 11:59:33.000000000 -0400
+++ gdm-2.26.0/daemon/simple-slave-main.c    2009-03-16 14:29:02.697437865 -0400
@@ -174,10 +174,12 @@ main (int    argc,
         GdmSlave         *slave;
         static char      *display_id = NULL;
         static gboolean   debug      = FALSE;
+        static gboolean   force_active_vt = FALSE;
         GdmSignalHandler *signal_handler;
         static GOptionEntry entries []   = {
                 { "debug", 0, 0, G_OPTION_ARG_NONE, &debug, N_("Enable debugging code"), NULL },
                 { "display-id", 0, 0, G_OPTION_ARG_STRING, &display_id, N_("Display ID"), N_("id") },
+                { "force-active-vt", 0, 0, G_OPTION_ARG_NONE, &force_active_vt, N_("Force X to start on active vt"), NULL },
                 { NULL }
         };
 
@@ -245,7 +247,7 @@ main (int    argc,
         gdm_signal_handler_add (signal_handler, SIGUSR1, signal_cb, NULL);
         gdm_signal_handler_add (signal_handler, SIGUSR2, signal_cb, NULL);
 
-        slave = gdm_simple_slave_new (display_id);
+        slave = gdm_simple_slave_new (display_id, force_active_vt);
         if (slave == NULL) {
                 goto out;
         }

*Note : KDE users might want to try this patch for kdm :
  - http://cvs.fedoraproject.org/viewvc/rpm … iew=markup

    or the customized version (skip the check in /var/spool/gdm )

diff -up kdebase-workspace-4.3.3/kdm/backend/dm.c.kdm_plymouth kdebase-workspace-4.3.3/kdm/backend/dm.c
     --- kdebase-workspace-4.3.3/kdm/backend/dm.c.kdm_plymouth 2008-07-21 19:03:20.000000000 -0500
     +++ kdebase-workspace-4.3.3/kdm/backend/dm.c 2009-12-02 08:22:48.935095381 -0600
     @@ -1315,6 +1315,34 @@ getBusyVTs( void )
     return activeVTs;
     }
     
     +static int
     +get_active_vt (void)
     +{
     + int console_fd;
     + struct vt_stat console_state = { 0 };
     + console_fd = open ("/dev/tty0", O_RDONLY | O_NOCTTY);
     + if (console_fd < 0) {
     + goto out;
     + }
     + if (ioctl (console_fd, VT_GETSTATE, &console_state) < 0) {
     + goto out;
     + }
     +out:
     + if (console_fd >= 0) {
     + close (console_fd);
     + }
     + return console_state.v_active;
     +}
     +
     +static int
     +triggered_to_force_display_on_active_vt (void)
     +{
     + int should_force_display_on_active_vt;
     + should_force_display_on_active_vt=TRUE;
     + 
     + return should_force_display_on_active_vt;
     +}
     +
     static void
     allocateVT( struct display *d )
     {
     @@ -1324,7 +1352,11 @@ allocateVT( struct display *d )
     if ((d->displayType & d_location) == dLocal &&
     d->status == notRunning && !d->serverVT && d->reqSrvVT >= 0)
     {
     - if (d->reqSrvVT && d->reqSrvVT < 16)
     + if ( triggered_to_force_display_on_active_vt() >= 0 )
     + {
     + d->serverVT = get_active_vt() ;
     + }
     + else if (d->reqSrvVT && d->reqSrvVT < 16)
     d->serverVT = d->reqSrvVT;
     else {
     for (i = tvt = 0;;) {

Last edited by hicham.haouari (2010-01-09 14:14:50)

Offline

#81 2010-01-24 12:06:13

Demon
Member
From: Republic of Srpska, BA
Registered: 2008-03-02
Posts: 246

Re: Plymouth is working! How to have a great splash in your box

hicham.haouari wrote:

I got it working too, with the smooth gdm transition smile

For this, I had to do the following.

...

Jesus, all this work?!

Offline

#82 2010-01-29 14:08:16

jithin1987
Member
From: Bangalore
Registered: 2009-09-12
Posts: 182

Re: Plymouth is working! How to have a great splash in your box

I am facing an issue during shutdown. Dont know if its related to plymouth though.
I use kde and during shutdown, when kdm quits and before plymouth starts sometimes system just hangs, no error log or anything.
I have noticed this a couple of times now. Wondering if it has anything to do with plymouth.


Thanks
Jithin

Offline

#83 2010-01-31 21:50:31

zajca
Member
From: Czech Republic
Registered: 2008-11-24
Posts: 35

Re: Plymouth is working! How to have a great splash in your box

Hi everyone,
I have an issue while compiling

checking for DRM... configure: error: Package requirements (libdrm libdrm_intel libdrm_radeon libdrm_nouveau) were not met:

No package 'libdrm_radeon' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables DRM_CFLAGS
and DRM_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

make: *** No targets specified and no makefile found.  Stop.

I know this is was few post earlier but i have compiled libdrm-git from AUR with "--enable-radeon-experimental-api"
and xf86-video-intel-git from AUR

//i recompiling for now maybe I do mistake
//yes I'am stupid i forget move || return 1 sry for useless post

Last edited by zajca (2010-01-31 22:08:45)

Offline

#84 2010-02-01 12:34:39

zajca
Member
From: Czech Republic
Registered: 2008-11-24
Posts: 35

Re: Plymouth is working! How to have a great splash in your box

Hi me again smile
for now i have succesfully compiled plymouth but startup isn't nice but mess.
Video:
http://www.youtube.com/watch?v=FC12qgVQCdM ///erased

any suggestion why is that?
Intel 945GME

Last edited by zajca (2010-02-01 17:33:54)

Offline

#85 2010-02-01 14:22:44

schneida
Member
Registered: 2009-02-19
Posts: 76
Website

Re: Plymouth is working! How to have a great splash in your box

Offline

#86 2010-02-01 17:27:50

zajca
Member
From: Czech Republic
Registered: 2008-11-24
Posts: 35

Re: Plymouth is working! How to have a great splash in your box

schneida wrote:

sorry my bad, again! I forget i'am doing this on new instalation of arch :-[

Offline

#87 2010-02-04 13:05:57

megawebmaster
Member
Registered: 2009-08-12
Posts: 75

Re: Plymouth is working! How to have a great splash in your box

I've got a problem with plymouth. Maybe this is because of testing repository (but initscripts, kms drivers and mesa, plymouth aren't from testing...), but I've got the same issue as @tuxs (http://www.4shared.com/file/169733190/8 … 00201.html), I've got "quiet splash" in kernel boot line, set spinfinity as default theme and rebuilt init image, but there is still default theme and messages written twice onto screen, even there are marks ([BUSY], [DONE], etc). I've tried to do something with initscripts but it isn't working, I've checked plymouth hook, but there are nothing to do with this. I haven't got any idea left... Maybe some of you have? Thanks for help.

BTW. KMS is working, I've got ATi HD4570 card, and Dell 1555 notebook if it matters.

Offline

#88 2010-02-07 16:55:10

jarryson
Member
Registered: 2007-02-18
Posts: 298

Re: Plymouth is working! How to have a great splash in your box

seems i have the same problem, but i could not see the video, the access to youtube is forbiden in our country.

i have no idea about the problem for now...

Offline

#89 2010-02-07 17:27:09

megawebmaster
Member
Registered: 2009-08-12
Posts: 75

Re: Plymouth is working! How to have a great splash in your box

Where should I put video to show you?

BTW. I've updated mkinitcpio to version without klibc maybe now it will work. We will see after reboot wink

EDIT: Nope, this didn't change anything.

Last edited by megawebmaster (2010-02-07 17:53:04)

Offline

#90 2010-02-17 19:38:44

piccolotux
Member
Registered: 2008-04-22
Posts: 59

Re: Plymouth is working! How to have a great splash in your box

hicham.haouari wrote:

I got it working too, with the smooth gdm transition smile

For this, I had to do the following.

* Activated early kms for 2.6.32.3
   - http://bugs.archlinux.org/task/17461

* Patch xorg-server :
   - http://cvs.fedoraproject.org/viewvc/rpm … iew=markup

* Get latest radeon git and patch it :
  - http://cvs.fedoraproject.org/viewvc/rpm … iew=markup

  - for nouveau :
    http://cvs.fedoraproject.org/viewvc/rpm … iew=markup

* Patch gdm :
   - http://cvs.fedoraproject.org/viewvc/rpm … iew=markup
   - http://cvs.fedoraproject.org/viewvc/rpm … iew=markup

* Recompile plymouth with --enable-gdm-transition

* in /etc/inittab, comment the line :
   - c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux

* activate autologin via /etc/gdm/custom.conf

For X to start on the active VT, plymouth write a file force-active-vt in /var/spool/gdm, so this directory must exist so that plymouth can write in it. However if u want to force active vt without this ( ie without --enable-gdm-transition in plymouth ), you might want to use this custom version of gdm-2.26.0-force-active-vt.patch :

Do you have by any chance the packages stored somewhere in your pc? It would be great to have the modified PKGBUILDs...
Thanks

Offline

#91 2010-02-21 23:51:13

Zariel
Member
Registered: 2008-10-07
Posts: 446

Re: Plymouth is working! How to have a great splash in your box

Does this work with hibernate resume? I get splash up until it starts resuming.

Offline

#92 2010-02-22 17:09:13

heazky
Member
Registered: 2008-10-26
Posts: 39

Re: Plymouth is working! How to have a great splash in your box

tuxs wrote:

hello all friend
i installed plymouth on my Arch(64bit)!but,since of reboot,it is my result!:
http://www.4shared.com/file/169733190/8 … 00201.html

whats my problem?:|

my graphic card is nVIDIA 9300!

very thx

Has there been found a solution yet? I've also an nVidia card (8600M GT), but other posts indicate the problem also occurs on ATi (with/without KMS).

Last edited by heazky (2010-02-22 17:10:31)

Offline

#93 2010-02-22 19:42:16

Zariel
Member
Registered: 2008-10-07
Posts: 446

Re: Plymouth is working! How to have a great splash in your box

Looks like boot messages from the arch userspace init is showing through, dont know if plymouth should be hiding them.

Offline

#94 2010-02-22 19:47:26

PirateJonno
Forum Fellow
From: New Zealand
Registered: 2009-04-13
Posts: 372

Re: Plymouth is working! How to have a great splash in your box

Zariel wrote:

Looks like boot messages from the arch userspace init is showing through, dont know if plymouth should be hiding them.

hiding them doesn't help (I have the same problem)


"You can watch for your administrator to install the latest kernel with watch uname -r" - From the watch man page

Offline

#95 2010-02-22 22:01:12

some-guy94
Member
Registered: 2009-08-15
Posts: 360

Re: Plymouth is working! How to have a great splash in your box

heazky wrote:
tuxs wrote:

hello all friend
i installed plymouth on my Arch(64bit)!but,since of reboot,it is my result!:
http://www.4shared.com/file/169733190/8 … 00201.html

whats my problem?:|

my graphic card is nVIDIA 9300!

very thx

Has there been found a solution yet? I've also an nVidia card (8600M GT), but other posts indicate the problem also occurs on ATi (with/without KMS).

Is vga= set to anything?

Offline

#96 2010-02-22 22:17:00

heazky
Member
Registered: 2008-10-26
Posts: 39

Re: Plymouth is working! How to have a great splash in your box

some-guy94 wrote:
heazky wrote:
tuxs wrote:

hello all friend
i installed plymouth on my Arch(64bit)!but,since of reboot,it is my result!:
http://www.4shared.com/file/169733190/8 … 00201.html

whats my problem?:|

my graphic card is nVIDIA 9300!

very thx

Has there been found a solution yet? I've also an nVidia card (8600M GT), but other posts indicate the problem also occurs on ATi (with/without KMS).

Is vga= set to anything?

Yeah, vga=0x369 to be correct. I've been trying other values to be sure too, all with the same effect.

Offline

#97 2010-03-05 01:25:57

Daenyth
Forum Fellow
From: Boston, MA
Registered: 2008-02-24
Posts: 1,244

Re: Plymouth is working! How to have a great splash in your box

bobdob wrote:

That didn't take as long as I though it would.

I have managed to get luks working now. Plymouth now has a password prompt.

Here is the patch for the encrypt hook (/lib/initcpio/hooks/encrypt).
It hasn't had much testing, but it seems to work ok.

--- encrypt    2009-12-14 15:56:30.145847861 +0000
+++ encrypt    2009-12-14 22:34:39.667267380 +0000
@@ -66,10 +66,9 @@
                     echo ""
                     echo "A password is required to access the ${cryptname} volume:"
 
-                    #loop until we get a real password
-                    while ! eval /bin/cryptsetup luksOpen ${cryptdev} ${cryptname} ${CSQUIET}; do
-                        sleep 2;
-                    done
+                    plymouth ask-for-password --prompt="Password" --dont-pause-progress --command="/bin/cryptsetup luksOpen --key-file=- ${cryptdev} ${cryptname} ${CSQUIET}"
+                    sleep 2;
+
                 fi
                 if [ -e "/dev/mapper/${cryptname}" ]; then
                     if [ ${DEPRECATED_CRYPT} -eq 1 ]; then

I've changed the plymouth-git PKGBUILD to include a new "plymouth-encrypt" hook which should do what's needed. I'll be testing it shortly then bugging the AUR maintainer: (removed old link)

Edit: This is totally borked right now, don't use it unless you like to do a bunch of hacking. I've already addressed some issues, but not updated the package yet

Edit2: I think I have it tracked down, with the help of the ubuntu deb source... Will repackage it soon.

Edit3: Try http://omploader.org/vM3FsOQ

Last edited by Daenyth (2010-03-06 16:10:41)

Offline

#98 2010-03-05 15:17:27

goran'agar
Member
From: Nothern Italy
Registered: 2009-05-19
Posts: 171

Re: Plymouth is working! How to have a great splash in your box

I've changed the plymouth-git PKGBUILD to include a new "plymouth-encrypt" hook which should do what's needed. I'll be testing it shortly then bugging the AUR maintainer: http://omploader.org/vM3FrOQ

Edit: This is totally borked right now, don't use it unless you like to do a bunch of hacking. I've already addressed some issues, but not updated the package yet

Edit2: I think I have it tracked down, with the help of the ubuntu deb source... Will repackage it soon.

Edit3: Try http://omploader.org/vM3FsOQ

Is it possible to have an i686 package?


Sony Vaio VPCM13M1E  - Arch Linux - LXDE

Offline

#99 2010-03-05 15:43:52

Daenyth
Forum Fellow
From: Boston, MA
Registered: 2008-02-24
Posts: 1,244

Re: Plymouth is working! How to have a great splash in your box

Run makepkg? It doesn't take that long to compile and the non-applying patch is easy as the file being patched is one line.

Offline

#100 2010-03-05 20:01:24

goran'agar
Member
From: Nothern Italy
Registered: 2009-05-19
Posts: 171

Re: Plymouth is working! How to have a great splash in your box

Daenyth wrote:

Run makepkg? It doesn't take that long to compile and the non-applying patch is easy as the file being patched is one line.

I already tried some days ago to install plymouth-git and then apply the patch to the encrypt hook. It didn't work, I couldn't type any password at the next reboot. Decryption via usbkey worked, so I could boot and rollback.

I'll wait until someone else manages to have it work on i686. Thanks.


Sony Vaio VPCM13M1E  - Arch Linux - LXDE

Offline

Board footer

Powered by FluxBB