Eu tive um comportamento imperfeito de Plymouth, desde que eu tivesse o cartão - ou seja, em vários anos de versões do Ubuntu. O cartão é conectado via receptor Onkyo SR707 a HDTV, usando drivers de código aberto. Dois itens principais:
Sem respingos
A tela gráfica não é exibida, a TV mostra "Modo não suportado" até que o login da área de trabalho seja carregado. O GRUB está em uma resolução razoável ( vbeinfo
diz 800x600x32), a tela em branco da beringela aparece momentaneamente após selecionar Ubuntu
no menu. Isso fica preto em vez de mostrar o splash. Os registros de depuração do Plymouth mostram uma variedade de falhas, a maioria parece tentativas de testar dispositivos para mim. A seção relevante parece ser a tentativa mais bem-sucedida, em /dev/fb0
:
[ply-device-manager.c:284] create_seats_for_subsystem:creating seats for frame buffer devices
[ply-device-manager.c:303] create_seats_for_subsystem:found device /sys/devices/pci0000:00/0000:00:02.0/0000:01:00.0/graphi
cs/fb0
[ply-device-manager.c:311] create_seats_for_subsystem:device is initialized
[ply-device-manager.c:322] create_seats_for_subsystem:found node /dev/fb0
[ply-device-manager.c:178] create_seat_for_udev_device:device is for local console: yes
[ply-device-manager.c:191] create_seat_for_udev_device:device subsystem is graphics
[ply-device-manager.c:200] create_seat_for_udev_device:found frame buffer device /dev/fb0
[ply-device-manager.c:135] fb_device_has_drm_device:trying to find associated drm node for fb device (path: (null))
[ply-device-manager.c:161] fb_device_has_drm_device:no card entry!
[ply-device-manager.c:641] create_seat_for_terminal_and_renderer_type:creating seat for /dev/fb0 (renderer type: 2) (terminal: /dev/tty7)
[ply-renderer.c:234] ply_renderer_open_plugin:trying to open renderer plugin /lib/x86_64-linux-gnu/plymouth/renderers/fra
me-buffer.so
[./plugin.c:259] create_backend:creating renderer backend for device /dev/fb0
[ply-terminal.c:615] ply_terminal_open:terminal /dev/tty7 is already open
[./plugin.c:515] query_device:32 bpp (8, 8, 8, 0) with rowstride 5120
[./plugin.c:275] initialize_head:initializing 1280x720 head
[ply-renderer.c:256] ply_renderer_open_plugin:opened renderer plugin /lib/x86_64-linux-gnu/plymouth/renderers/frame-buffe
r.so
[ply-seat.c:80] add_pixel_displays:Adding displays for 1 heads
[ply-seat.c:116] add_text_displays:adding text display for terminal /dev/tty7
[main.c:1051] on_seat_added:listening for keystrokes
[main.c:1055] on_seat_added:listening for escape
[main.c:1059] on_seat_added:listening for backspace
[main.c:1063] on_seat_added:listening for enter
[ply-device-manager.c:303] create_seats_for_subsystem:found device /sys/devices/virtual/graphics/fbcon
[ply-device-manager.c:334] create_seats_for_subsystem:it's not initialized
[main.c:2367] main:entering event loop
Portanto, aparentemente não há entrada de cartão para o dispositivo FB e / ou não foi inicializado. Eventualmente eu vejo:
[main.c:266] show_messages:not displaying messages, since no boot splash
O código aqui diz que splash é nulo, provavelmente devido à falha anterior.
1280x720 também é a minha resolução de desktop e definitivamente suportada, então isso parece bem. Splash mostra corretamente no desligamento.
EDITAR
Usar o FB é um comportamento de retorno de acordo com a documentação . Uma tentativa anterior falha assim:
[ply-device-manager.c:303] create_seats_for_subsystem:found device /sys/devices/pci0000:00/0000:00:02.0/0000:01:00.0/drm/ca
rd0
[ply-device-manager.c:311] create_seats_for_subsystem:device is initialized
[ply-device-manager.c:322] create_seats_for_subsystem:found node /dev/dri/card0
[ply-device-manager.c:178] create_seat_for_udev_device:device is for local console: yes
[ply-device-manager.c:191] create_seat_for_udev_device:device subsystem is drm
[ply-device-manager.c:195] create_seat_for_udev_device:found DRM device /dev/dri/card0
[ply-device-manager.c:641] create_seat_for_terminal_and_renderer_type:creating seat for /dev/dri/card0 (renderer type: 1) (terminal: /dev/t
ty7)
[ply-renderer.c:234] ply_renderer_open_plugin:trying to open renderer plugin /lib/x86_64-linux-gnu/plymouth/renderers/drm
.so
[./plugin.c:379] create_backend:creating renderer backend for device /dev/dri/card0
[./plugin.c:464] load_driver:Opening '/dev/dri/card0'
[ply-terminal.c:619] ply_terminal_open:trying to open terminal '/dev/tty7'
[ply-terminal.c:409] ply_terminal_look_up_geometry:looking up terminal text geometry
[ply-terminal.c:424] ply_terminal_look_up_geometry:terminal is now 160x45 text cells
[ply-terminal.c:462] get_active_vt:Remembering that initial vt is 7
[./plugin.c:860] query_device:Could not initialize heads
[ply-renderer.c:250] ply_renderer_open_plugin:could not query rendering device for plugin /lib/x86_64-linux-gnu/plymouth/
renderers/drm.so
[./plugin.c:552] close_device:closing device
[./plugin.c:501] unload_driver:unloading driver
[ply-renderer.c:288] ply_renderer_open:could not find suitable rendering plugin
[ply-seat.c:135] ply_seat_open:could not open renderer for /dev/dri/card0
[ply-device-manager.c:646] create_seat_for_terminal_and_renderer_type:could not create seat
[ply-seat.c:326] free_pixel_displays:freeing 0 pixel displays
[ply-seat.c:348] free_text_displays:freeing 0 text displays
Até onde eu sei, a série HD 4000 tem suporte maduro a DRM / DRI. glxinfo
relatórios direct rendering: Yes
.
Problema de resolução / overscan para texto
Se fsck
entrar ou houver algum erro, o texto não estará alinhado com a tela. Existem grandes sobreposições pelo menos à esquerda, na parte superior e na parte inferior, tornando-as quase inutilizáveis. Ctrl-Alt-F1 após a inicialização exibe o console corretamente.