Hi Łukasz, I've tested the bionic/cosmic-proposed packages with disk encryption. Both the updates/proposed packages still show the password prompt, and read it correctly, and move forward to the login screen. * One caveat here, read on to the Cosmic's details. I could reproduce the problem with plymouth in the initramfs with Gert's tip of using 'DeviceTimeout 1' in /etc/plymouth/plymouthd.conf, and forcing initramfs-tools hooks _not_ to copy gpu/drm modules. All that in VMs with Bionic/Cosmic desktop installed from the ISO, with disk encryption enabled in the installer. e.g., $ virt-install --name plymouth-lp1794292- \ --vcpus 2 --memory 4096 --disk size=16 \ --network bridge=virbr0,model=virtio \ --graphics vnc,port=5911,listen=0.0.0.0 \ --cdrom ~/Downloads/ubuntu-<18.04.2|18.10>-desktop-amd64.iso crypt disk setup: $ lsblk --ascii /dev/vda NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 252:0 0 16G 0 disk |-vda1 252:1 0 731M 0 part /boot |-vda2 252:2 0 1K 0 part `-vda5 252:5 0 15.3G 0 part `-vda5_crypt 253:0 0 15.3G 0 crypt |-ubuntu--vg-root 253:1 0 14.3G 0 lvm / `-ubuntu--vg-swap_1 253:2 0 976M 0 lvm [SWAP] $ sudo dmsetup table vda5_crypt: 0 32047104 crypt aes-xts-plain64 <...zeroes...> 0 252:5 4096 1 allow_discards ubuntu--vg-swap_1: 0 1998848 linear 253:0 30025728 ubuntu--vg-root: 0 30023680 linear 253:0 2048 initramfs setup (see commented lines with leading '#copy...') $ cat /etc/plymouth/plymouthd.conf DeviceTimeout 1 $ sudo grep -r -e 'copy_modules.*gpu' -e 'copy_modules.*drm' /usr/share/initramfs-tools/ /usr/share/initramfs-tools/hooks/framebuffer:#copy_modules_dir kernel/drivers/gpu /usr/share/initramfs-tools/hooks/plymouth:#copy_modules_dir kernel/drivers/gpu/drm mga r128 savage sis tdfx via And plymouth debugging enabled in kernel cmdline to check logs: $ cat /proc/cmdline BOOT_IMAGE=/vmlinuz-4.18.0-15-generic root=/dev/mapper/ubuntu--vg-root ro quiet splash plymouth.debug=file:/run/plymouth.log vt.handoff=1 bionic-updates: --- plymouth asks for encryption password, reads it, goes on filling up to 3 progress-dots and freezes. login screen didn't come up. logged in via ssh, and checked plymouth logs, it stopped in 'deactivating keyboards' as before. $ dpkg -s plymouth | grep ^Version: Version: 0.9.3-1ubuntu7.18.04.1 $ sudo tail /run/plymouth.log [ply-boot-server.c:436] ply_boot_connection_on_request:got update request [main.c:218] on_update:updating status to 'snapd.seeded.service' [ply-event-loop.c:1060] ply_event_loop_handle_disconnect_for_source:calling disconnected_handler 0x5641e79dad20 for fd 15 [ply-event-loop.c:1064] ply_event_loop_handle_disconnect_for_source:done calling disconnected_handler 0x5641e79dad20 for fd 15 [ply-event-loop.c:1144] ply_event_loop_free_destinations_for_source:freeing destination (1, 0x5641e79dae80, 0x5641e79dad20) of fd 15 [ply-event-loop.c:643] ply_event_loop_remove_source_node:failed to delete fd 15 from epoll watch list: Bad file descriptor [ply-boot-server.c:388] print_connection_process_identity:connection is from pid 816 (/bin/plymouth deactivate) with parent pid 807 (/usr/sbin/gdm3) [ply-boot-server.c:494] ply_boot_connection_on_request:got deactivate request [main.c:1358] on_deactivate:deactivating [ply-device-manager.c:967] ply_device_manager_deactivate_keyboards:deactivating keyboards bionic-proposed: --- plymouth (still) asks for encryption password and reads it, goes on filling up dots, then login screen comes up. plymouth logs show successful completion/exit. $ dpkg -s plymouth | grep ^Version: Version: 0.9.3-1ubuntu7.18.04.2 $ sudo tail /run/plymouth.log [sudo] password for ubuntu: [ply-device-manager.c:551] ply_device_manager_free:freeing device manager [ply-renderer.c:92] ply_renderer_free:Unloading renderer backend plugin [ply-event-loop.c:965] ply_event_loop_stop_watching_for_timeout:no matching timeout found for removal [main.c:1254] quit_program:exiting event loop [ply-boot-server.c:350] ply_boot_connection_on_quit_complete:quit complete [main.c:2402] main:exited event loop [ply-boot-splash.c:388] ply_boot_splash_free:freeing splash [main.c:2412] main:freeing terminal session [ply-terminal-session.c:535] ply_terminal_session_stop_logging:stopping logging of incoming console messages [main.c:2418] main:exiting with code 0 cosmic-updates: --- same thing than bionic-updates, encryption password is read correctly, but no gdm screen, plymouth logs shows it stopped in deactivating keyboards. $ sudo tail /run/plymouth.log [ply-event-loop.c:1144] ply_event_loop_free_destinations_for_source:freeing destination (1, 0x555d116b0e60, 0x555d116b0d00) of fd 14 [ply-event-loop.c:643] ply_event_loop_remove_source_node:failed to delete fd 14 from epoll watch list: Bad file descriptor [ply-boot-server.c:388] print_connection_process_identity:connection is from pid 1083 (/bin/plymouth deactivate) with parent pid 1073 (/usr/sbin/gdm3) [ply-boot-server.c:494] ply_boot_connection_on_request:got deactivate request [main.c:1360] on_deactivate:deactivating [ply-device-manager.c:1013] ply_device_manager_pause:ply_device_manager_pause() called, stopping watching for udev events [ply-event-loop.c:759] ply_event_loop_stop_watching_fd:stopping watching fd 7 [ply-event-loop.c:775] ply_event_loop_stop_watching_fd:removing destination for fd 7 [ply-event-loop.c:784] ply_event_loop_stop_watching_fd:no more destinations remaing for fd 7, removing source [ply-device-manager.c:993] ply_device_manager_deactivate_keyboards:deactivating keyboards cosmic-proposed: --- this *should* be like bionic-proposed. but there's no login screen likely due to a problem with qemu video emulation/cirrus driver. it looks like the cirrus driver after some point stopped successful probing the emulated video device at the first attempt: $ dmesg | grep cirrus [ 16.599610] fb: switching to cirrusdrmfb from EFI VGA [ 16.600809] [drm:cirrus_device_init [cirrus]] *ERROR* can't reserve VRAM [ 16.600814] cirrus 0000:00:02.0: Fatal error during GPU init: -6 < $ echo 0000:00:02.0 | sudo tee /sys/bus/pci/drivers/cirrus/bind > [ 277.933564] fbcon: cirrusdrmfb (fb0) is primary device [ 277.948868] cirrus 0000:00:02.0: fb0: cirrusdrmfb frame buffer device [ 277.968224] [drm] Initialized cirrus 1.0.0 20110418 for 0000:00:02.0 on minor 0 when it works, from time to time, this is seen at first attempt instead: $ dmesg | grep cirrus [ 14.571918] fbcon: cirrusdrmfb (fb0) is primary device [ 14.665434] cirrus 0000:00:02.0: fb0: cirrusdrmfb frame buffer device [ 14.688436] [drm] Initialized cirrus 1.0.0 20110418 for 0000:00:02.0 on minor 0 this causes the DRM device not to show up, and in Cosmic the gdm systemd unit has this 'ExecStartPre=gdm-wait-for-drm' line, so it keeps waiting forever until I rebind/reload the cirrus driver to the adapter (then it works). $ sudo systemctl status gdm [sudo] password for ubuntu: ● gdm.service - GNOME Display Manager Loaded: loaded (/lib/systemd/system/gdm.service; static; vendor preset: enabled) Active: active (running) since Mon 2019-04-15 18:00:30 -03; 11s ago Process: 788 ExecStartPre=/usr/lib/gdm3/gdm-wait-for-drm (code=exited, status=0/SUCCESS) Process: 785 ExecStartPre=/usr/share/gdm/generate-config (code=exited, status=0/SUCCESS) Main PID: 1072 (gdm3) Tasks: 5 (limit: 4671) Memory: 4.1M CGroup: /system.slice/gdm.service ├─1072 /usr/sbin/gdm3 └─1149 /bin/plymouth quit after I went back to Bionic to double check it, the same behavior started occuring on Bionic, _which used to work before_, so I guess it's more on the QEMU side. since this is driver-related, I'd say plymouth is not at fault. from time to time the cirrus driver binds correctly, though, and it works. plymouth goes past the 'deactivating keyboards' point, and sometimes reaches the 'exit 0' mark. $ sudo tail /run/plymouth.log [main.c:1423] on_quit:system initialized so saving boot-duration file [ply-utils.c:728] ply_create_directory:directory '/var/lib/plymouth/' already exists [main.c:769] get_cache_file_for_mode:returning cache file '/var/lib/plymouth//boot-duration' [ply-progress.c:214] ply_progress_save_cache:saving progress cache to /var/lib/plymouth//boot-duration [main.c:1717] tell_systemd_to_stop_printing_details:telling systemd to stop printing details [main.c:1437] on_quit:closing log [ply-device-manager.c:1022] ply_device_manager_deactivate_keyboards:deactivating keyboards [main.c:1443] on_quit:unloading splash [main.c:1539] toggle_between_splash_and_details:toggling between splash and details [main.c:1541] toggle_between_splash_and_details:hiding and freeing current splash $ sudo tail /run/plymouth.log [main.c:1253] quit_program:cleaning up devices [ply-device-manager.c:551] ply_device_manager_free:freeing device manager [ply-event-loop.c:965] ply_event_loop_stop_watching_for_timeout:no matching timeout found for removal [main.c:1256] quit_program:exiting event loop [ply-boot-server.c:350] ply_boot_connection_on_quit_complete:quit complete [main.c:2406] main:exited event loop [ply-boot-splash.c:388] ply_boot_splash_free:freeing splash [main.c:2416] main:freeing terminal session [ply-terminal-session.c:535] ply_terminal_session_stop_logging:stopping logging of incoming console messages [main.c:2422] main:exiting with code 0 Hope this helps, Mauricio