• Recent
    • Docs
    • Github
    • 百度网盘
    • Onedrive
    • Official
    • Shop
    • Register
    • Login

    6.1 Kernel GPU firmware update

    Scheduled Pinned Locked Moved PI CM5 Laptop
    48 Posts 6 Posters 3.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • plumlisP
      plumlis @george
      last edited by

      @george Many thanks for sharing.

      I will try it with kernel 6.1

      blog: https://plumz.me

      1 Reply Last reply Reply Quote 0
      • plumlisP
        plumlis
        last edited by plumlis

        Tried to compile kernel 6.1 but fail.

        make[4]: *** [scripts/Makefile.build:500: drivers/media/platform/rockchip] Error 2
        make[3]: *** [scripts/Makefile.build:500: drivers/media/platform] Error 2
        make[2]: *** [scripts/Makefile.build:500: drivers/media] Error 2
        make[1]: *** [scripts/Makefile.build:500: drivers] Error 2
        make: *** [Makefile:2012: .] Error 2
        cp: cannot stat 'arch/arm64/boot/Image.gz': No such file or directory
        cp: cannot stat 'arch/arm64/boot/Image': No such file or directory
        sed: can't read modules.order: No such file or directory
        make: *** [Makefile:1576: __modinst_pre] Error 2
        cp: cannot stat 'vmlinuz': No such file or directory
        cp: cannot stat 'Image': No such file or directory
        

        and

        CC      drivers/media/platform/rockchip/ispp/ispp.o
        AR      drivers/media/firewire/built-in.a
        AR      drivers/media/platform/rockchip/rkisp1/built-in.a
        AR      drivers/media/spi/built-in.a
        CC [M]  drivers/media/spi/cxd2880-spi.o
        cc1: all warnings being treated as errors
        make[6]: *** [scripts/Makefile.build:250: drivers/media/platform/rockchip/cif/capture.o] Error 1
        make[5]: *** [scripts/Makefile.build:500: drivers/media/platform/rockchip/cif] Error 2
        make[5]: *** Waiting for unfinished jobs....
        AR      drivers/media/test-drivers/built-in.a
        AR      drivers/media/radio/built-in.a
        
        CC [M]  drivers/media/tuners/tda8290.o
        CC [M]  drivers/media/tuners/tda9887.o
        CC      drivers/media/common/videobuf2/videobuf2-dma-contig.o
        CC      drivers/media/v4l2-core/v4l2-i2c.o
        drivers/media/platform/rockchip/cif/capture.c:4929:6: error: conflicting types for ‘rkcif_do_stop_stream’ due to enum/integer mismatch; have ‘void(struct rkcif_stream *, unsigned int)’ [-Werror=enum-int-mismatch]
        4929 | void rkcif_do_stop_stream(struct rkcif_stream *stream,
            |      ^~~~~~~~~~~~~~~~~~~~
        In file included from drivers/media/platform/rockchip/cif/capture.c:24:
        drivers/media/platform/rockchip/cif/dev.h:934:6: note: previous declaration of ‘rkcif_do_stop_stream’ with type ‘void(struct rkcif_stream *, enum rkcif_stream_mode)’
        934 | void rkcif_do_stop_stream(struct rkcif_stream *stream,
            |      ^~~~~~~~~~~~~~~~~~~~
        drivers/media/platform/rockchip/cif/capture.c:6090:5: error: conflicting types for ‘rkcif_do_start_stream’ due to enum/integer mismatch; have ‘int(struct rkcif_stream *, unsigned int)’ [-Werror=enum-int-mismatch]
        6090 | int rkcif_do_start_stream(struct rkcif_stream *stream, unsigned int mode)
            |     ^~~~~~~~~~~~~~~~~~~~~
        drivers/media/platform/rockchip/cif/dev.h:932:5: note: previous declaration of ‘rkcif_do_start_stream’ with type ‘int(struct rkcif_stream *, enum rkcif_stream_mode)’
        932 | int rkcif_do_start_stream(struct rkcif_stream *stream,
            |     ^~~~~~~~~~~~~~~~~~~~~
        CC [M]  drivers/media/dvb-frontends/l64781.o
        CC [M]  drivers/media/dvb-frontends/lg2160.o
        CC [M]  drivers/media/tuners/tea5761.o
        

        blog: https://plumz.me

        G 1 Reply Last reply Reply Quote 0
        • plumlisP
          plumlis
          last edited by

          反复测试了几次,发现是RTW8852 网卡的模块编译不通过,难不成和我换网卡有关系么?

          make[2]: *** [scripts/Makefile.build:500: drivers/media] Error 2
          make[1]: *** [scripts/Makefile.build:500: drivers] Error 2
          make: *** [Makefile:2012: .] Error 2
            CALL    scripts/checksyscalls.sh
            CC      drivers/media/platform/rockchip/cif/capture.o
            CC [M]  drivers/net/wireless/rockchip_wlan/rtw8852be/core/rtw_vht.o
          drivers/media/platform/rockchip/cif/capture.c:4929:6: error: conflicting types for ‘rkcif_do_stop_stream’ due to enum/integer mismatch; have ‘void(struct rkcif_stream *, unsigned int)’ [-Werror=enum-int-mismatch]
           4929 | void rkcif_do_stop_stream(struct rkcif_stream *stream,
                |      ^~~~~~~~~~~~~~~~~~~~
          In file included from drivers/media/platform/rockchip/cif/capture.c:24:
          drivers/media/platform/rockchip/cif/dev.h:934:6: note: previous declaration of ‘rkcif_do_stop_stream’ with type ‘void(struct rkcif_stream *, enum rkcif_stream_mode)’
            934 | void rkcif_do_stop_stream(struct rkcif_stream *stream,
                |      ^~~~~~~~~~~~~~~~~~~~
          drivers/media/platform/rockchip/cif/capture.c:6090:5: error: conflicting types for ‘rkcif_do_start_stream’ due to enum/integer mismatch; have ‘int(struct rkcif_stream *, unsigned int)’ [-Werror=enum-int-mismatch]
           6090 | int rkcif_do_start_stream(struct rkcif_stream *stream, unsigned int mode)
                |     ^~~~~~~~~~~~~~~~~~~~~
          drivers/media/platform/rockchip/cif/dev.h:932:5: note: previous declaration of ‘rkcif_do_start_stream’ with type ‘int(struct rkcif_stream *, enum rkcif_stream_mode)’
            932 | int rkcif_do_start_stream(struct rkcif_stream *stream,
                |     ^~~~~~~~~~~~~~~~~~~~~
            CC      drivers/clocksource/timer-of.o
            CC      drivers/clocksource/timer-probe.o
          drivers/net/wireless/rockchip_wlan/rtw8852be/core/rtw_vht.c: In function ‘rtw_reattach_vht_ies’:
          drivers/net/wireless/rockchip_wlan/rtw8852be/core/rtw_vht.c:1419:27: error: the comparison will always evaluate as ‘true’ for the address of ‘IEs’ will never be NULL [-Werror=address]
           1419 |         if (pnetwork->IEs != NULL) {
                |                           ^~
          In file included from drivers/net/wireless/rockchip_wlan/rtw8852be/include/drv_types.h:27,
                           from drivers/net/wireless/rockchip_wlan/rtw8852be/core/rtw_vht.c:17:
          drivers/net/wireless/rockchip_wlan/rtw8852be/include/wlan_bssdef.h:249:13: note: ‘IEs’ declared here
            249 |         u8  IEs[MAX_IE_SZ];     /* (timestamp, beacon interval, and capability information) */
                |             ^~~
          cc1: all warnings being treated as errors
          make[6]: *** [scripts/Makefile.build:250: drivers/net/wireless/rockchip_wlan/rtw8852be/core/rtw_vht.o] Error 1
          make[5]: *** [scripts/Makefile.build:500: drivers/net/wireless/rockchip_wlan/rtw8852be] Error 2
          make[4]: *** [scripts/Makefile.build:500: drivers/net/wireless/rockchip_wlan] Error 2
          make[3]: *** [scripts/Makefile.build:500: drivers/net/wireless] Error 2
          make[2]: *** [scripts/Makefile.build:500: drivers/net] Error 2
          make[2]: *** Waiting for unfinished jobs....
            CC      drivers/clocksource/mmio.o
            CC      drivers/clocksource/timer-rockchip.o
            CC      drivers/clocksource/arm_arch_timer.o
            CC      drivers/clocksource/dummy_timer.o
            CC      drivers/media/platform/rockchip/hdmirx/rk_hdmirx_class.o
            CC      drivers/media/platform/rockchip/hdmirx/rk_hdmirx.o
            CC      drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.o
            AR      drivers/clocksource/built-in.a
            CC      drivers/media/platform/rockchip/hdmirx/rk_hdmirx_hdcp.o
          cc1: all warnings being treated as errors
          make[6]: *** [scripts/Makefile.build:250: drivers/media/platform/rockchip/cif/capture.o] Error 1
          make[5]: *** [scripts/Makefile.build:500: drivers/media/platform/rockchip/cif] Error 2
          make[5]: *** Waiting for unfinished jobs....
            AR      drivers/media/platform/rockchip/hdmirx/built-in.a
          make[4]: *** [scripts/Makefile.build:500: drivers/media/platform/rockchip] Error 2
          make[3]: *** [scripts/Makefile.build:500: drivers/media/platform] Error 2
          make[3]: *** Waiting for unfinished jobs....
          make[2]: *** [scripts/Makefile.build:500: drivers/media] Error 2
          make[1]: *** [scripts/Makefile.build:500: drivers] Error 2
          make[1]: *** Waiting for unfinished jobs....
          make: *** [Makefile:2012: .] Error 2
          cp: cannot stat 'arch/arm64/boot/Image.gz': No such file or directory
          cp: cannot stat 'arch/arm64/boot/Image': No such file or directory
          sed: can't read modules.order: No such file or directory
          make: *** [Makefile:1576: __modinst_pre] Error 2
          cp: cannot stat 'vmlinuz': No such file or directory
          cp: cannot stat 'Image': No such file or directory
          

          blog: https://plumz.me

          M Y 2 Replies Last reply Reply Quote 0
          • M
            mainbord @plumlis
            last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • G
              george @plumlis
              last edited by

              @plumlis
              目前看是编译环境引起的,编译器的版本问题导致,还在处理中。

              plumlisP 1 Reply Last reply Reply Quote 0
              • plumlisP
                plumlis @george
                last edited by

                @george x86环境可以编译吗?我可以弄个wsl的ubuntu 22.04 试试

                blog: https://plumz.me

                G 1 Reply Last reply Reply Quote 0
                • G
                  george @plumlis
                  last edited by

                  @plumlis
                  可以。

                  1 Reply Last reply Reply Quote 0
                  • plumlisP
                    plumlis
                    last edited by

                    最后我自己弄了个 22.04 的 USB 启动盘,在那个系统下编译通过了。

                    不过启动后加载这个 firmware 的确可以进系统,但是问题有点多。mesa 似乎也得更新对应版本,不然 panfrost 打不开,wayland 下 gtk 4 的东西都无法启动。

                    能力有限,还是等你们官方放出测试好的内核吧。

                    blog: https://plumz.me

                    G 2 Replies Last reply Reply Quote 0
                    • G
                      george @plumlis
                      last edited by

                      @plumlis
                      panthor的驱动最近在同步测试,很快就会发布。

                      1 Reply Last reply Reply Quote 0
                      • G
                        george @plumlis
                        last edited by

                        @plumlis
                        同步最新代码,6.1的内核目前已经可以本机编译。

                        plumlisP 1 Reply Last reply Reply Quote 0
                        • plumlisP
                          plumlis @george
                          last edited by

                          @george 昨天已经看到了,辛苦
                          panthor的驱动是需要 mesa 编译实现吗,我看核心代码里已经有了。

                          blog: https://plumz.me

                          G 1 Reply Last reply Reply Quote 0
                          • G
                            george @plumlis
                            last edited by

                            @plumlis
                            内核需要修改增加驱动支持。应用层驱动已经有各个版本的ppa源支持。

                            1 Reply Last reply Reply Quote 1
                            • plumlisP
                              plumlis
                              last edited by

                              刚看到github更新了,立即clone 下来开始编译,结果新内核启动后黑屏了。

                              具体表现就是启动会显示 logo,但是会直接黑屏,不出现 gdm,按下关机键会回到命令行看到关机停止服务的各种指令。

                              我应该是把新的 firmware 放到目录了,但是感觉像是你说的没 firmware 的黑屏。

                              今天很晚了,明天再折腾研究一下。

                              blog: https://plumz.me

                              G 1 Reply Last reply Reply Quote 0
                              • G
                                george @plumlis
                                last edited by

                                @plumlis
                                内核默认启用了panther的GPU驱动,需要先把mesa更新到24.02版本,否则就会黑屏。

                                sudo add-apt-repository ppa:oibaf/graphics-drivers
                                sudo apt update
                                sudo  apt-get  dist-upgrade
                                
                                1 Reply Last reply Reply Quote 0
                                • plumlisP
                                  plumlis
                                  last edited by

                                  经过更新mesa终于可以进系统了。
                                  顺便一提这个firmware的路径不是 /lib/firmware,放在那里还是会被找不到。

                                  看日志发现是应该放在: /lib/firmware/arm/mali/arch10.8/ 下面
                                  简单测试了一下,首先是firefox 开 GPU 之后页面不会乱撕裂了,浏览器好像也可以直接播放视频不会卡死,虽然不清楚是不是用了硬件加速。

                                  接着就是发现没声音,和这个问题还不太一样:
                                  https://cool-pi.com/topic/578/es8316-sound-issues-on-armbian-with-6-1-rockchip-kernel/2

                                  就是单纯的没声音,麦克风和输出还有耳机和喇叭都没声音。

                                  剩下的就是日志里一堆 rknpu 的报错,可能是 npu 模块还没编译?

                                  休眠工作正常,开盖自动唤醒还是没有。

                                  blog: https://plumz.me

                                  G 1 Reply Last reply Reply Quote 0
                                  • plumlisP
                                    plumlis
                                    last edited by plumlis

                                    换回 5.10 好像 panfrost 开不了了。
                                    是应该把 mesa 换回 maliG610 PPA的版本么?

                                    update:已经降级并开启 panfrost

                                    blog: https://plumz.me

                                    G 1 Reply Last reply Reply Quote 0
                                    • G
                                      george @plumlis
                                      last edited by

                                      @plumlis
                                      其它的功能会持续完善,音频 NPU 编解码这些都还有问题。

                                      plumlisP 1 Reply Last reply Reply Quote 0
                                      • G
                                        george @plumlis
                                        last edited by

                                        @plumlis
                                        是的,需要换回去老的mesa版本。

                                        1 Reply Last reply Reply Quote 0
                                        • plumlisP
                                          plumlis @george
                                          last edited by

                                          @george 辛苦了,最近看到内核的更新都是晚上。

                                          blog: https://plumz.me

                                          1 Reply Last reply Reply Quote 0
                                          • plumlisP
                                            plumlis
                                            last edited by

                                            昨天看到6.1又有了新的提交,不过今天编译后发现还是没声音。

                                            blog: https://plumz.me

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • First post
                                              Last post