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

    6.1 Kernel GPU firmware update

    PI CM5 Laptop
    6
    48
    3369
    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.
    • G
      george last edited by george

      Version 6.1 of the kernel requires updating the GPU's bin file by replacing the attached bin file in the system /lib/firmware directory. Otherwise, the old bin file will cause a black screen during system startup.
      mali_csffw.bin

      plumlis N 2 Replies Last reply Reply Quote 1
      • plumlis
        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
        • plumlis
          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
          • plumlis
            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
                目前看是编译环境引起的,编译器的版本问题导致,还在处理中。

                plumlis 1 Reply Last reply Reply Quote 0
                • plumlis
                  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
                    • plumlis
                      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的内核目前已经可以本机编译。

                          plumlis 1 Reply Last reply Reply Quote 0
                          • plumlis
                            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
                              • plumlis
                                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
                                  • plumlis
                                    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
                                    • plumlis
                                      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 编解码这些都还有问题。

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

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

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

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

                                            blog: https://plumz.me

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

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

                                              blog: https://plumz.me

                                              1 Reply Last reply Reply Quote 0
                                              • N
                                                nathan @george last edited by

                                                @george

                                                Hello, I have decided to give 6.1 a try on my CoolPi CM5 v10 notebook (or at least, I think it's the v10). I decided to write the Ubuntu 24.04 LTS image to a USB drive.

                                                I'm not sure why, but only images for the v20 exist, but the 24.04 LTS image works without issues on the v10. I ran a device tree export to verify what model I have and I didn't find any mention of v20 so I assume my notebook is the v10 model. Ubuntu 24.04 LTS what came installed by default on my notebook.

                                                I wanted to try to use Panthor on my notebook so I enabled it in the v10 defconfig before compiling. I accessed the Ubuntu install via chroot to upgrade all of the packages, install the latest Mesa (with the 'kisak-mesa fresh' PPA), and placed the new firmware file at '/lib/firmware/arm/mali/arch10.8'

                                                Whenever trying to boot the laptop from the USB drive do I get a black screen immediately after the CoolPi logo goes off screen. I do not get the Ubuntu startup screen. I did have Ubuntu working via USB when I had the 5.10 kernel, so this is something kernel-related.

                                                Does the 6.1 kernel support v10 notebooks at the moment or does it only support v20 notebooks? Thank you in advance.

                                                N 1 Reply Last reply Reply Quote 0
                                                • N
                                                  nathan @nathan last edited by

                                                  For some reason the dtb file in the 24.04 LTS image does not have 'v20' in the name but it turns out my laptop is the v20 model. When I purchased it, I didn't have anything telling me whether it was v10 or v20. I built the 6.1 kernel for the v20 model and it now Ubuntu starts up without issues with working GPU acceleration.

                                                  Sound doesn't seem to work still, but I'll see if that fix on the Armbian thread works here.

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

                                                    @nathan
                                                    Upgrade the Mesa version according to the following instructions, and then copy the Mali bin file to the corresponding path to enable Panthor.

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

                                                      看起来Ubuntu 的 Mesa 更新了,PPA G610 里的已经过期了。
                                                      是不是应该更新一下了?或者有没有对应手册说明我可以自己编译新Mesa with Panfrost
                                                      还是说其他 PPA 的 Mesa 默认也支持 Panfrost?

                                                      blog: https://plumz.me

                                                      N 1 Reply Last reply Reply Quote 0
                                                      • N
                                                        nathan @george last edited by

                                                        @george

                                                        Thank you. I've managed to get Panthor working on the laptop as of a few hours ago. The issue I had was coming from me confusing my v20 notebook for the v10 which I fixed. The only issue that remains is sound. The audio devices are detected but no audio actually goes through.

                                                        1 Reply Last reply Reply Quote 0
                                                        • N
                                                          nathan @plumlis last edited by nathan

                                                          @plumlis

                                                          To my knowledge, the existing Mesa PPA that comes by default with the Ubuntu 24.04 LTS image contains Panfork (which is an unupdated fork of Panfrost containing a number of hacks for the Mali G610) which predates Panthor or at least is from a time when Panthor was very early in development.

                                                          The PPA that George mentioned above contains Mesa packages that are built daily. On most Linux distros, the Mesa included also contains Panfrost and has been for several years. To my knowledge, Panfrost is included by default when building Mesa from source.

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

                                                            @nathan said in 6.1 Kernel GPU firmware update:

                                                            Panfork

                                                            So only the "Panfork Mesa" will work with kernel 5.10 bsp, Right?

                                                            I just wanted to say that I am using a preinstalled Ubuntu 24.04 with Kernel 5.10 BSP. Now, Ubuntu is prompting me that there is a new version of Mesa available for update, and the "Panfork" version of Mesa is outdated. I would like to know if there are any manuals or tutorials that I can refer to for building the latest Mesa with Panfork, so that my 5.10 BSP Kernel can continue to work.

                                                            blog: https://plumz.me

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

                                                              LOL
                                                              I found the "Panfork mesa version 24.05" preinstalled from coolpi ppa is just from mesa 23.05 renamed.
                                                              https://launchpad.net/~george-coolpi/+archive/ubuntu/mali-g610/+packages

                                                              I dont care about npu. Just waiting speaker and sound fix for kernel 6.1.

                                                              blog: https://plumz.me

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

                                                                @plumlis
                                                                The function of switching between speakers and headphones is now OK, and the 6.1 kernel has been updated to the latest version.
                                                                Then/etc/rc.local blocks the following options:

                                                                #amixer -c 2 cset numid=4 192
                                                                #amixer -c 2 cset numid=2 4,4
                                                                #amixer -c 2 cset numid=13 6
                                                                #amixer -c 2 cset numid=19 28
                                                                #amixer -c 2 cset numid=20 6
                                                                
                                                                plumlis N 3 Replies Last reply Reply Quote 0
                                                                • 1
                                                                • 2
                                                                • 1 / 2
                                                                • First post
                                                                  Last post