Bug 40663

Summary: gnome-shell не работает на плате TF307 (процессор BE-M1000)
Product: Sisyphus Reporter: Alexey Sheplyakov <asheplyakov>
Component: mutterAssignee: Yuri N. Sedunov <aris>
Status: REOPENED --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: aris
Version: unstable   
Hardware: aarch64   
OS: Linux   

Description Alexey Sheplyakov 2021-08-05 18:51:18 MSK
Загружаю систему с http://nightly.altlinux.org/p10-aarch64/beta/alt-p10-gnome3-20210728-aarch64.iso

Сразу после попытки запуска GDM - чёрный экран.
В логах полно сообщений вида:

gnome-shell[1608]: meta_drm_buffer_gbm_new_lock_front failed: drmModeAddFB2WithModifiers failed: Invalid argument
Comment 1 Andrey Cherepanov 2021-08-06 07:57:10 MSK
На Sisyphus, так как по версиям почти не отличаются.
Comment 2 Yuri N. Sedunov 2021-08-06 08:55:49 MSK
panfrost?
Comment 3 Alexey Sheplyakov 2021-08-06 13:49:51 MSK
(In reply to Yuri N. Sedunov from comment #2)
> panfrost?

Да.
Comment 4 Yuri N. Sedunov 2021-08-06 14:02:18 MSK
Попробуйте в /lib/udev/rules.d/61-mutter.rules добавить строчку для вашего драйвера:

DRIVERS=="panfrost", SUBSYSTEM=="drm", TAG+="mutter-device-disable-kms-modifiers"
Comment 5 Alexey Sheplyakov 2021-08-09 22:38:12 MSK
(In reply to Yuri N. Sedunov from comment #4)
> Попробуйте в /lib/udev/rules.d/61-mutter.rules добавить строчку для вашего
> драйвера:
> 
> DRIVERS=="panfrost", SUBSYSTEM=="drm",
> TAG+="mutter-device-disable-kms-modifiers"


Всё равно чёрный экран, и всё равно:

gnome-shell[1364]: Failed to open gpu '/dev/dri/card1': Failed to activate universal planes: Operation not permitted
gnome-shell[1364]: Adding device '/dev/dri/card0' (baikal-vdu) using atomic mode setting.
gnome-shell[1364]: Integrated GPU /dev/dri/card0 selected as primary
gnome-shell[1364]: Disabling DMA buffer screen sharing for driver 'baikal-vdu'.

gnome-shell[1364]: meta_drm_buffer_gbm_new_lock_front failed: drmModeAddFB2WithModifiers failed: Invalid argument
gnome-shell[1364]: meta_drm_buffer_gbm_new_lock_front failed: drmModeAddFB2WithModifiers failed: Invalid argument
gnome-shell[1364]: meta_drm_buffer_gbm_new_lock_front failed: drmModeAddFB2WithModifiers failed: Invalid argument


При этом правило таки применилось:

# udevadm info -q all -n  /dev/dri/by-path/platform-2a200000.gpu-card 
P: /devices/platform/soc/2a200000.gpu/drm/card1
N: dri/card1
L: 0
S: dri/by-path/platform-2a200000.gpu-card
E: DEVPATH=/devices/platform/soc/2a200000.gpu/drm/card1
E: DEVNAME=/dev/dri/card1
E: DEVTYPE=drm_minor
E: MAJOR=226
E: MINOR=1
E: SUBSYSTEM=drm
E: USEC_INITIALIZED=369391410
E: ID_PATH=platform-2a200000.gpu
E: ID_PATH_TAG=platform-2a200000_gpu
E: ID_FOR_SEAT=drm-platform-2a200000_gpu
E: DEVLINKS=/dev/dri/by-path/platform-2a200000.gpu-card
E: TAGS=:mutter-device-disable-kms-modifiers:uaccess:master-of-seat:seat:
E: CURRENT_TAGS=:mutter-device-disable-kms-modifiers:uaccess:master-of-seat:seat:

И я перезапустил gdm после того, как проверил, что правило сработало (появился 'mutter-device-disable-kms-modifiers')
Comment 6 Alexey Sheplyakov 2021-08-09 22:56:02 MSK
При этом драйвер работоспособен в следующем смысле:

1) weston успешно запускается
2) glmark2-es2-wayland --annotate --fullscreen частично работает [1],  сообщает, что GL_RENDERER: Mali T620 (Panfrost), и показывает трёхзначные FPS (что явно недостижимо при программном рендеринге)

[1] Частично - поскольку падает на shadow benchmark
Comment 7 Alexey Sheplyakov 2021-08-10 01:35:56 MSK
(In reply to Alexey Sheplyakov from comment #6)
> При этом драйвер работоспособен в следующем смысле:
> 
> 1) weston успешно запускается

И пишет:

using /dev/dri/card0
DRM: supports atomic modesetting
DRM: does not support GBM modifiers
DRM: supports picture aspect ratio
Comment 8 Alexey Sheplyakov 2021-08-10 01:41:30 MSK
Вот такой костыль сработал:

DRIVERS=="baikal-vdu", SUBSYSTEM=="drm", TAG+="mutter-device-disable-kms-modifiers"

Судя по weston, gnome-shell вполне мог бы и сам догадаться, что "does not support GBM modifiers"
Comment 9 Repository Robot 2021-08-10 09:13:48 MSK
mutter-1:40.3-alt1.1 -> sisyphus:

 Tue Aug 10 2021 Yuri N. Sedunov <aris@altlinux> 1:40.3-alt1.1
 - data/61-mutter.rules:
   disabled KMS modifiers for "baikal-vdu" driver (ALT #40663)
Comment 10 Alexey Sheplyakov 2021-08-11 08:05:15 MSK
> disabled KMS modifiers for "baikal-vdu"

Это, конечно, очень хорошо. Но для каждой платы/видеокарты сочинять костыли - это не здорово. weston как-то догадывается сам:

using /dev/dri/card0
DRM: supports atomic modesetting
DRM: does not support GBM modifiers

А gnome-shell чем хуже?
Comment 11 Yuri N. Sedunov 2021-08-11 08:16:40 MSK
Вешайте на каждую отдельно, сразу в апстрим. Эта бага закрыта.
Comment 12 Alexey Sheplyakov 2022-08-23 16:48:24 MSK
авг 23 17:45:03 asheplyakov-bmlaptop gnome-shell[16138]: meta_drm_buffer_gbm_new_lock_front failed: drmModeAddFB2WithModifiers failed: Недопустимый аргумент
авг 23 17:45:03 asheplyakov-bmlaptop gnome-shell[16138]: meta_drm_buffer_gbm_new_lock_front failed: drmModeAddFB2WithModifiers failed: Недопустимый аргумент
авг 23 17:45:03 asheplyakov-bmlaptop gnome-shell[16138]: Registering session with GDM