Linux-Amlogic Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "张 宁" <zhangn1985@outlook.com>
To: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: "linux-amlogic@lists.infradead.org" <linux-amlogic@lists.infradead.org>
Subject: [Resolved]: failed to start gnome/gdm3 wayland session after apply NPU patches
Date: Sun, 24 Mar 2024 13:31:46 +0000	[thread overview]
Message-ID: <OS0P286MB064133DB31F5061471E60831CD372@OS0P286MB0641.JPNP286.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <b553856a-9f9d-1ca3-7de8-68c1d5d691e6@collabora.com>

Hi, Tomeu

sorry for pick up this issue after more than 1 year.

I find the solusion, and understand why your method doesnt work.

the solution:
1, create a systemd service rmmod etnaviv and modprobe it again.
file: /etc/systemd/system/etnaviv.service

[Unit]
Description=Load etnaviv driver module

[Service]
ExecStart=/bin/sh -c "rmmod etnaviv; sleep 0.5; modprobe etnaviv; sleep 0.5"

[Install]
WantedBy=graphical.target

2, set gdm3 service start after the new server.

file: /etc/systemd/system/gdm.service.d/override.conf

[Unit]
After=etnaviv.service

3, label etnaviv drm device node by udev rules
file: /usr/lib/udev/rules.d/61-mutter-primary-gpu.rules

ENV{ID_PATH}=="platform-etnaviv-card", TAG+="mutter-device-ignore"
ENV{ID_PATH}=="platform-etnaviv-render", TAG+="mutter-device-ignore"

Why only udev rule doesn't work?
udev fails to label drm device at early boot stage, eg
during initramfs. thus I create a new service to reload etnaviv module to let udev label them correctly.

but I don't know why it fail to label at first place.

is there a easy way to get udev label from command line?

BR.
Ning. 


发件人: Tomeu Vizoso <tomeu.vizoso@collabora.com>
发送时间: 2023年1月13日 18:09
收件人: Zhang Ning <zhangn1985@outlook.com>
抄送: linux-amlogic@lists.infradead.org <linux-amlogic@lists.infradead.org>
主题: Re: failed to start gnome/gdm3 wayland session after apply NPU patches
 
On 1/8/23 03:32, Zhang Ning wrote:
> On Tue, Jan 03, 2023 at 03:46:00PM +0100, Tomeu Vizoso wrote:
>> Hi Ning,
>>
>> On 12/27/22 05:21, Zhang Ning wrote:
>>> Hi, Tomeu
>>>
>>> after apply your NPU patches:
>>> http://lists.infradead.org/pipermail/linux-amlogic/2022-December/014428.html
>>>
>>> VIM3 failed to start gnome/gdm3 wayland session.
>>>
>>> before:
>>>
>>> VIM3:~$ ls /dev/dri/by-path/ -l
>>> total 0
>>> lrwxrwxrwx 1 root root  8 Dec 27 04:06 platform-ff900000.vpu-card -> ../card0
>>> lrwxrwxrwx 1 root root  8 Dec 27 04:06 platform-ffe40000.gpu-card -> ../card1
>>> lrwxrwxrwx 1 root root 13 Dec 27 04:06 platform-ffe40000.gpu-render -> ../renderD128
>>>
>>> after:
>>>
>>> VIM3:~$ ls /dev/dri/by-path/ -l
>>> total 0
>>> lrwxrwxrwx 1 root root  8 Dec 27 04:10 platform-etnaviv-card -> ../card0
>>> lrwxrwxrwx 1 root root 13 Dec 27 04:10 platform-etnaviv-render -> ../renderD128
>>> lrwxrwxrwx 1 root root  8 Dec 27 04:10 platform-ff900000.vpu-card -> ../card1
>>> lrwxrwxrwx 1 root root  8 Dec 27 04:10 platform-ffe40000.gpu-card -> ../card2
>>> lrwxrwxrwx 1 root root 13 Dec 27 04:10 platform-ffe40000.gpu-render -> ../renderD129
>>>
>>> the fail log:
>>> Dec 27 04:10:42 VIM3 gnome-shell[673]: g_hash_table_destroy: assertion 'hash_table != NULL' failed
>>> Dec 27 04:10:42 VIM3 gnome-shell[673]: Failed to open gpu '/dev/dri/card0': No suitable mode setting backend found
>>> Dec 27 04:10:42 VIM3 gnome-shell[673]: Added device '/dev/dri/card1' (meson) using atomic mode setting.
>>> Dec 27 04:10:42 VIM3 gnome-shell[673]: g_hash_table_destroy: assertion 'hash_table != NULL' failed
>>> Dec 27 04:10:42 VIM3 gnome-shell[673]: Failed to open gpu '/dev/dri/card2': No suitable mode setting backend found
>>> Dec 27 04:10:42 VIM3 gnome-shell[673]: Failed to initialize accelerated iGPU/dGPU framebuffer sharing: No matching EGL configs
>>> Dec 27 04:10:42 VIM3 gnome-shell[673]: Created gbm renderer for '/dev/dri/card1'
>>> Dec 27 04:10:42 VIM3 gnome-shell[673]: Integrated GPU /dev/dri/card1 selected as primary
>>>
>>> how to configure system to boot to gui with npu enabled?
>>
>> Maybe you can do that by setting the "mutter-device-preferred-primary"
>> udev tag for card2?
>>
>> https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1562
>
> Hi, Tomeu
>
> I have tried this method.
> cat /usr/lib/udev/rules.d/61-mutter-primary-gpu.rules
> ENV{DEVNAME}=="/dev/dri/card0", TAG+="mutter-device-ignore"
> ENV{DEVNAME}=="/dev/dri/renderD128", TAG+="mutter-device-ignore"
>
> and it does ignore card0
> Jan 08 02:19:06 VIM3 gnome-shell[681]: Ignoring DRM device '/dev/dri/card0'
>
> but the screen still show nothing.
> and when I move mouse,
>
> ning@VIM3:~$ cat /proc/interrupts |grep -e npu -e panfrost
>   16:       1088          0          0          0          0          0     GICv2 179 Level     ff100000.npu
>   39:         24          0          0          0          0          0     GICv2 192 Level     panfrost-gpu
>   40:          0          0          0          0          0          0     GICv2 193 Level     panfrost-mmu
>   41:          0          0          0          0          0          0     GICv2 194 Level     panfrost-job
> ning@VIM3:~$ cat /proc/interrupts |grep -e npu -e panfrost
>   16:       1100          0          0          0          0          0     GICv2 179 Level     ff100000.npu
>   39:         24          0          0          0          0          0     GICv2 192 Level     panfrost-gpu
>   40:          0          0          0          0          0          0     GICv2 193 Level     panfrost-mmu
>   41:          0          0          0          0          0          0     GICv2 194 Level     panfrost-job
>
>
> it looks like gnome-shell still using npu as render.
>
> mutter-device-preferred-primary has same result.

I'm out of ideas, TBH. I think gnome-shell should realize that a EGL
context cannot be created for the render node for the NPU and try the
next device.

Maybe file a bug for gnome-shell?

Cheers,

Tomeu
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

      reply	other threads:[~2024-03-24 13:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-27  4:21 failed to start gnome/gdm3 wayland session after apply NPU patches Zhang Ning
2023-01-03 14:46 ` Tomeu Vizoso
2023-01-08  2:32   ` Zhang Ning
2023-01-13 10:09     ` Tomeu Vizoso
2024-03-24 13:31       ` 张 宁 [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=OS0P286MB064133DB31F5061471E60831CD372@OS0P286MB0641.JPNP286.PROD.OUTLOOK.COM \
    --to=zhangn1985@outlook.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=tomeu.vizoso@collabora.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox