Jump to content

Efforts to develop firmware for H96 MAX V56 RK3566 8G/64G


Hqnicolas

Recommended Posts

Armbian & Khadas are rewarding contributors

Posted (edited)
On 4/18/2024 at 4:09 PM, pocosparc said:

How are you compiling this dts?


windows WSL2
Delete just the h96 max DTS and DTB from patch\kernel\archive\rockchip64-6.6

Drop the new https://github.com/hqnicolas/ArmBoardBringUp
and compile again.

 

sudo gpioinfo

 

I'm also using this method to figure out how to enable 1.8v on Pin12 to AP6335

 

32*4  + 8*3 + 5  = GPIO4 RK_PD5

 

8*0 = A 
8*1 = B
8*2 = C
8*3 = D
 

Quote

######################################################################################
GPIO-0 line 0   RK_PA0 

cd /sys/class/gpio
echo 0 > export
cd gpio0
echo out > direction
echo 1 > value     # output high
echo 0 > value     # output low

####################################################################################
GPIO-0 line 21 RK_PC5

cd /sys/class/gpio
echo 21 > export
cd gpio21
echo out > direction
echo 1 > value     # output high
echo 0 > value     # output low
####################################################################################
GPIO-3 line 16 RK_PC0 

cd /sys/class/gpio
echo 112 > export
cd gpio112
echo out > direction
echo 1 > value     # output high
echo 0 > value     # output low

####################################################################################
CLk32 out gpio2 22 RK_PC6
cd /sys/class/gpio
echo 86 > export
cd gpio86
echo out > direction
echo 1 > value     # output high
echo 0 > value     # output low
####################################################################################
gpio2 10 RK_PC6
cd /sys/class/gpio
echo 74 > export
cd gpio74
echo out > direction
echo 1 > value     # output high
echo 0 > value     # output low

####################################################################################

 

 

Also Trying to disable the kernel 6.2 GPIO 

 

Quote

####################################################################################
gpio2 9 RK_PB1
cd /sys/class/gpio
echo 73 > export
cd gpio73
echo out > direction
echo 1 > value     # output high
echo 0 > value     # output low

 

I can confirm: the enable pin is RK_PB1 from GPIO2

it will enable wifi by 1.8v on Pin12 to AP6335
I have FIxed the problem with this pin in kernel 6.6

 

Edited by Hqnicolas
Link to comment
Share on other sites

Posted (edited)
10 hours ago, pocosparc said:

 Do you specifically select Broadcom 43xx SDIO kernel drivers as they were not enabled


I just enable the enable PIN 12 from HCY6335 I dont know how to select kernel drivers

I have tested the new DTB on kernel 6.2 and it doesnt work.
 

Edited by Hqnicolas
Link to comment
Share on other sites

It is a twofold problem. First is a base definition compiled with kernel itself, which has to simply put a LUT which ID loads which driver bin file. If it is not there, you will see a dmesg error message. So if this is not recompiled with kernel itself it won't even try to load a bin file nor will it throw any error messages.

 

Can you check if the kernel sees any new hw device IDs?

Edited by pocosparc
Link to comment
Share on other sites

Posted (edited)
On 4/19/2024 at 12:38 PM, pocosparc said:

Can you check if the kernel sees any new hw device IDs?

 

i'm using RFkill command
 

$ rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked


i'm switching DTB on this board to test,
and I think the problem was on the new DTS file that dont work.

also the old 6.2 DTS file dont boot on 6.6 kernel

 

rk3566-firefly-roc-pc.dtb rk3566-firefly-roc-pc.dts

 

rk3566-h96-tvbox.dtsrk3566-h96-tvbox.dtb

 

I think gpio2 PB1 on wifi need to be ACTIVE LOW

Will test it tomorrow

This device tree without board project is hard to fix

 

i'm testing and this pin is tricky 

it has gpio low and pull up

 

Edited by Hqnicolas
Link to comment
Share on other sites

Yes it needs to be low and then the broadcom dongle host driver needs to search for any hw on the sdio, which fires the init seaquence and enables the wifi module. This dhd is for some reason not started during boot.

Link to comment
Share on other sites

Posted (edited)

@pocosparc

I have Rebased the entire DTS file to a rock PC basefile
since this JianPian file dont work with wifi.
Now it makes 1.8v in pin12 from wifi chip with active low.

 

 

rk3566-h96-tvbox.dtsrk3566-h96-tvbox.dtb

 

Testing now...

https://github.com/hqnicolas/ArmBoardBringUp/tree/main

now I Got two bluetooth

ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked
 1 bluetooth hci1   unblocked unblocked
root@h96-tvbox-3566-wifi:/home/nicolas#


 

Quote

root@h96-tvbox-3566-wifi:/home/nicolas# gpioinfo
gpiochip0 - 32 lines:
        line   0:      unnamed       unused   input  active-high
        line   1:      unnamed       unused   input  active-high
        line   2:      unnamed       unused   input  active-high
        line   3:      unnamed  "interrupt"   input  active-high [used]
        line   4:      unnamed         "cd"   input   active-low [used]
        line   5:      unnamed "vcc5v0-otg-regulator" output active-high [used]
        line   6:      unnamed "vcc5v0-host-regulator" output active-high [used]
        line   7:      unnamed       unused   input  active-high
        line   8:      unnamed       unused   input  active-high
        line   9:      unnamed       unused   input  active-high
        line  10:      unnamed       unused   input  active-high
        line  11:      unnamed       unused   input  active-high
        line  12:      unnamed       unused   input  active-high
        line  13:      unnamed       unused   input  active-high
        line  14:      unnamed       unused   input  active-high
        line  15:      unnamed "snps,reset"  output   active-low [used]
        line  16:      unnamed       unused   input  active-high
        line  17:      unnamed       unused   input  active-high
        line  18:      unnamed       unused   input  active-high
        line  19:      unnamed       unused   input  active-high
        line  20:      unnamed "vcc3v3-pcie-p-regulator" output active-high [used]
        line  21:      unnamed       unused   input  active-high
        line  22:      unnamed       unused   input  active-high
        line  23:      unnamed       unused   input  active-high
        line  24:      unnamed       unused   input  active-high
        line  25:      unnamed       unused   input  active-high
        line  26:      unnamed       unused   input  active-high
        line  27:      unnamed  "led-power"  output  active-high [used]
        line  28:      unnamed "led-status"  output  active-high [used]
        line  29:      unnamed       unused   input  active-high
        line  30:      unnamed       unused   input  active-high
        line  31:      unnamed       unused   input  active-high
gpiochip1 - 32 lines:
        line   0:      unnamed       unused   input  active-high
        line   1:      unnamed       unused   input  active-high
        line   2:      unnamed       unused   input  active-high
        line   3:      unnamed       unused   input  active-high
        line   4:      unnamed       unused   input  active-high
        line   5:      unnamed       unused   input  active-high
        line   6:      unnamed       unused   input  active-high
        line   7:      unnamed       unused   input  active-high
        line   8:      unnamed       unused   input  active-high
        line   9:      unnamed       unused   input  active-high
        line  10:      unnamed       unused   input  active-high
        line  11:      unnamed       unused   input  active-high
        line  12:      unnamed       unused   input  active-high
        line  13:      unnamed       unused   input  active-high
        line  14:      unnamed       unused   input  active-high
        line  15:      unnamed       unused   input  active-high
        line  16:      unnamed       unused   input  active-high
        line  17:      unnamed       unused   input  active-high
        line  18:      unnamed       unused   input  active-high
        line  19:      unnamed       unused   input  active-high
        line  20:      unnamed       unused   input  active-high
        line  21:      unnamed       unused   input  active-high
        line  22:      unnamed       unused   input  active-high
        line  23:      unnamed       unused   input  active-high
        line  24:      unnamed       unused   input  active-high
        line  25:      unnamed       unused   input  active-high
        line  26:      unnamed       unused   input  active-high
        line  27:      unnamed       unused   input  active-high
        line  28:      unnamed       unused   input  active-high
        line  29:      unnamed       unused   input  active-high
        line  30:      unnamed       unused   input  active-high
        line  31:      unnamed       unused   input  active-high
gpiochip2 - 32 lines:
        line   0:      unnamed       unused   input  active-high
        line   1:      unnamed       unused   input  active-high
        line   2:      unnamed       unused   input  active-high
        line   3:      unnamed       unused   input  active-high
        line   4:      unnamed       unused   input  active-high
        line   5:      unnamed       unused   input  active-high
        line   6:      unnamed       unused   input  active-high
        line   7:      unnamed       unused   input  active-high
        line   8:      unnamed       unused   input  active-high
        line   9:      unnamed      "reset"  output   active-low [used]
        line  10:      unnamed       unused   input  active-high
        line  11:      unnamed       unused   input  active-high
        line  12:      unnamed       unused   input  active-high
        line  13:      unnamed       unused   input  active-high
        line  14:      unnamed       unused   input  active-high
        line  15:      unnamed   "shutdown"  output  active-high [used]
        line  16:      unnamed "host-wakeup" input active-high [used]
        line  17:      unnamed "device-wakeup" output active-high [used]
        line  18:      unnamed       unused   input  active-high
        line  19:      unnamed       unused   input  active-high
        line  20:      unnamed       unused   input  active-high
        line  21:      unnamed       unused   input  active-high
        line  22:      unnamed       unused   input  active-high
        line  23:      unnamed       unused   input  active-high
        line  24:      unnamed       unused   input  active-high
        line  25:      unnamed       unused   input  active-high
        line  26:      unnamed       unused   input  active-high
        line  27:      unnamed       unused   input  active-high
        line  28:      unnamed       unused   input  active-high
        line  29:      unnamed       unused   input  active-high
        line  30:      unnamed       unused   input  active-high
        line  31:      unnamed       unused   input  active-high
gpiochip3 - 32 lines:
        line   0:      unnamed       unused   input  active-high
        line   1:      unnamed       unused   input  active-high
        line   2:      unnamed       unused   input  active-high
        line   3:      unnamed       unused   input  active-high
        line   4:      unnamed       unused   input  active-high
        line   5:      unnamed       unused   input  active-high
        line   6:      unnamed       unused   input  active-high
        line   7:      unnamed       unused   input  active-high
        line   8:      unnamed       unused   input  active-high
        line   9:      unnamed       unused   input  active-high
        line  10:      unnamed       unused   input  active-high
        line  11:      unnamed       unused   input  active-high
        line  12:      unnamed       unused   input  active-high
        line  13:      unnamed       unused   input  active-high
        line  14:      unnamed       unused   input  active-high
        line  15:      unnamed       unused   input  active-high
        line  16:      unnamed       unused   input  active-high
        line  17:      unnamed       unused   input  active-high
        line  18:      unnamed       unused   input  active-high
        line  19:      unnamed       unused   input  active-high
        line  20:      unnamed       unused   input  active-high
        line  21:      unnamed       unused   input  active-high
        line  22:      unnamed       unused   input  active-high
        line  23:      unnamed       unused   input  active-high
        line  24:      unnamed       unused   input  active-high
        line  25:      unnamed       unused   input  active-high
        line  26:      unnamed       unused   input  active-high
        line  27:      unnamed       unused   input  active-high
        line  28:      unnamed       unused   input  active-high
        line  29:      unnamed       unused   input  active-high
        line  30:      unnamed       unused   input  active-high
        line  31:      unnamed       unused   input  active-high
gpiochip4 - 32 lines:
        line   0:      unnamed       unused   input  active-high
        line   1:      unnamed       unused   input  active-high
        line   2:      unnamed       unused   input  active-high
        line   3:      unnamed       unused   input  active-high
        line   4:      unnamed       unused   input  active-high
        line   5:      unnamed       unused   input  active-high
        line   6:      unnamed       unused   input  active-high
        line   7:      unnamed       unused   input  active-high
        line   8:      unnamed       unused   input  active-high
        line   9:      unnamed       unused   input  active-high
        line  10:      unnamed       unused   input  active-high
        line  11:      unnamed       unused   input  active-high
        line  12:      unnamed       unused   input  active-high
        line  13:      unnamed       unused   input  active-high
        line  14:      unnamed       unused   input  active-high
        line  15:      unnamed       unused   input  active-high
        line  16:      unnamed       unused   input  active-high
        line  17:      unnamed       unused   input  active-high
        line  18:      unnamed       unused   input  active-high
        line  19:      unnamed       unused   input  active-high
        line  20:      unnamed       unused   input  active-high
        line  21:      unnamed       unused   input  active-high
        line  22:      unnamed       unused   input  active-high
        line  23:      unnamed       unused   input  active-high
        line  24:      unnamed       unused   input  active-high
        line  25:      unnamed       unused   input  active-high
        line  26:      unnamed       unused   input  active-high
        line  27:      unnamed       unused   input  active-high
        line  28:      unnamed       unused   input  active-high
        line  29:      unnamed       unused   input  active-high
        line  30:      unnamed       unused   input  active-high
        line  31:      unnamed       unused   input  active-high
 

 

 

Edited by Hqnicolas
Link to comment
Share on other sites

@Hqnicolas With this dts I was able to start a wifi with a simple symlink

 sudo ln -s fw_bcm4335b0_ag.bin brcmfmac4335-sdio.h96-TVbox,rk3566.bin

I need to check a bit more into the chip IDs as in my honest opinion this AP6335 should be recognized as 4339 or that I try to dig up the clm_blob file that is currently missing?

Bluetooth also works as hci1, because hci0 is recognized as the SDIO device - which means there are some settings in that node not completely valid. On the other hand, the wifi module has both communication lines.

rk3566-h96-tvbox.dts

Sadly I am not allowed to push to your git repo. If you add me to a collaboration list, then I will make the changes as a PR (my github username is kulica). Anyway, I am attaching the corrected file to this post.

Link to comment
Share on other sites

Posted (edited)
1 hour ago, pocosparc said:

Sadly I am not allowed to push to your git repo. If you add me to a collaboration list, then I will make the changes as a PR (my github username is kulica). Anyway, I am attaching the corrected file to this post.

 

Git REPO
Awaiting kulica’s response


https://github.com/hqnicolas/ArmBoardBringUp
in that Repo have all my 40 tryes to enable the Device tree in this last week

You can browse the repository at any point in this link https://github.com/hqnicolas/ArmBoardBringUp/commits/main/

 

Repo Updated to this version
I will test it now!

Edited by Hqnicolas
Link to comment
Share on other sites

Posted (edited)

###################################
###################################


Official armbian Images since 24.5.0-trunk.433
https://github.com/armbian/community/releases/

 

Wifi Driver:

https://drive.google.com/file/d/1B1LmAylalETcnBEWiPiJHL0MjK5xlIV4/view?usp=sharing

 

Take some files from CoreElec
https://github.com/CoreELEC/brcmfmac_sdio-firmware-aml/tree/master/firmware/brcm

 

cd /lib/firmware/brcm/
sudo wget https://github.com/LibreELEC/brcmfmac_sdio-firmware/raw/master/BCM4335A0.hcd
sudo wget https://github.com/CoreELEC/brcmfmac_sdio-firmware-aml/raw/master/firmware/brcm/fw_bcm4335b0_ag.bin
sudo ln -s fw_bcm4335b0_ag.bin brcmfmac4335-sdio.h96-TVbox,rk3566.bin
sudo reboot now

nmcli dev wifi

 

Quote

sudo cat > /lib/firmware/brcm/brcmfmac4335-sdio.txt << "EOF"
# bcm94335wlcspMS_ES50_RC171p24p23_04052013_AM_mdfy_PAparam.txt -- 4/5/2013 by Murata, based on bcm94335wlcspMS_ES50_RC171p24p20_04022013_AM.txt, changed PA parameters and txidxcap parameters and ccode.
# bcm94335wlcspMS_ES50_RC171p24p20_04022013_AM.txt -- 4/2/2013 by Broadcom Corporation
# Use with AARDVARK_REL_6_30_171_24_23 -- Murata BCM4335 WLCSP 11AC Module
# Sample variables file for Murata Type-XJ ES5.0 (0x00 0x11) -- bcm94335wlcspMS_AM_P400.txt as original
sromrev=11
boardrev=0x1500
boardtype=0x064b
boardflags=0x10401001
boardflags2=0x0
#updated boardflags3 for forcing to enable external LPO
boardflags3=0x0800c08b
macaddr=00:90:4c:c5:12:38
#ccode modified by Murata
#ccode=0
ccode=XS
regrev=0
antswitch=0
pdgain5g=1
pdgain2g=1
tworangetssi2g=0
tworangetssi5g=0
femctrl=4
vendid=0x14e4
devid=0x43ae
manfid=0x2d0
#prodid=0x052e
nocrc=1
#otpimagesize=502
xtalfreq=37400
extpagain2g=1
extpagain5g=1
rxgains2gelnagaina0=2
rxgains2gtrisoa0=6
rxgains2gtrelnabypa0=1
rxgains5gelnagaina0=3
rxgains5gtrisoa0=5
rxgains5gtrelnabypa0=1
rxchain=1
txchain=1
aa2g=1
aa5g=1
ag0=0
ag1=0
tssipos5g=1
tssipos2g=1
#PA parameters (2G20M/2G40M/5G20M/5G40M/5G80M)
#PA parameters modified by Murata
#pa2ga0=-208,6208,-764
#pa2ga1=-203,6429,-793
#pa5ga0=-167,5736,-685,-157,5669,-670,-157,5548,-665,-141,5621,-664
#pa5ga1=-101,6543,-735,-99,6452,-731,-147,5743,-695,-75,6468,-723
#pa5ga2=-172,5903,-708,-160,5868,-698,-113,6264,-722,-125,5915,-684
pa2ga0=0xff31,0x1759,0xFD1D
pa2ga1=0xff35,0x18BB,0xFCEC
pa5ga0=0xff78,0x1715,0xFD49,0xff89,0x1714,0xFD57,0xff86,0x1652,0xFD62,0xffa9,0x1760,0xFD5E
pa5ga1=0xff56,0x1596,0xFD5F,0xff88,0x1764,0xFD45,0xff89,0x1632,0xFD65,0xff69,0x160E,0xFD49
pa5ga2=0xff5a,0x1667,0xFD4E,0xff5f,0x15F7,0xFD5E,0xff5a,0x1531,0xFD68,0xff6e,0x1587,0xFD6A
# Default Target Power for 2G -- 17dBm(11)/14dBm(54)/13dBm(MCS7,MCS8)/16dBm(6,MCS0)
maxp2ga0=74
cckbw202gpo=0
cckbw20ul2gpo=0
dot11agofdmhrbw202gpo=0x6666
ofdmlrbw202gpo=0x0022
mcsbw202gpo=0x88866662
# Default Target Power for 5G -- 14dBm(54)/13dBm(HT20-MCS7,VHT20-MCS8)/12dBm(HT40-MCS7,VHT40-MCS9)/11dBm(VHT80-MCS8/MCS9)/16dBm(6,20HT-MCS0)
maxp5ga0=74,74,74,74
# Low
mcslr5glpo=0
mcsbw205glpo=0x88866662
mcsbw405glpo=0xAAA88884
mcsbw805glpo=0xCCCAAAA6
# Mid
mcslr5gmpo=0
mcsbw205gmpo=0x88866662
mcsbw405gmpo=0xAAA88884
mcsbw805gmpo=0xCCCAAAA6
# High
mcslr5ghpo=0
mcsbw205ghpo=0x88866662
mcsbw405ghpo=0xAAA88884
mcsbw805ghpo=0xCCCAAAA6
#20MHz High Rate
sb20in40hrpo=0x0
sb20in80and160hr5glpo=0x0
sb20in80and160hr5gmpo=0x0
sb20in80and160hr5ghpo=0x0
#40MHz High Rate
sb40and80hr5glpo=0x0
sb40and80hr5gmpo=0x0
sb40and80hr5ghpo=0x0
#20MHz Low Rate
sb20in40lrpo=0x0
sb20in80and160lr5glpo=0x0
sb20in80and160lr5gmpo=0x0
sb20in80and160lr5ghpo=0x0
#40MHz Low Rate
sb40and80lr5glpo=0x0
sb40and80lr5gmpo=0x0
sb40and80lr5ghpo=0x0
dot11agduphrpo=0x0
dot11agduplrpo=0x0
tssifloor2g=80
tssifloor5g=160,190,240,260
#rpcal:use with 171.17 or later, compensates filter ripple
rpcal2g=0x0
rpcal5gb0=0x0
#cckdigfilttype[0-7] 0:default
cckdigfilttype=2
phycal_tempdelta=25
#GPIO 0 for SDIO HW OOB interruption
muxenab=0x10
#sd_gpout=0
#sd_oobonly=1
rssicorrnorm_c0=-3,-2
rssicorrnorm5g_c0=-1,0,-3,-1,0,-3,-3,-2,-4,-3,-2,-4
#txidxcap2g and txidxcap5g modified by Murata
#txidxcap2g=32
#txidxcap5g=44
txidxcap2g=36
txidxcap5g=36
paparambwver=1
EOF

 

sudo rmmod brcmfmac_wcc brcmfmac brcmutil
modprobe brcmfmac

 

How to flash:

Same as V1.1


###################################
###################################

Armbian_community_24.5.0-trunk.474_H96-tvbox-3566_jammy_current_6.6.28_gnome_desktop.img.xz.torrent Armbian_community_24.5.0-trunk.474_H96-tvbox-3566_bookworm_current_6.6.28_minimal.img.xz.torrent

Edited by Hqnicolas
Link to comment
Share on other sites

Posted (edited)
8 hours ago, pocosparc said:

You are using ubuntu GNOME image from the armbian repo or did you build it now yourself with the right dts file?


I'm using Gnome build with the new .dts
Today I start a new PR to publish all changes
(merged 1h ago)
oficial images will be updated on next build (24.5.0-trunk.434)

Edited by Hqnicolas
Link to comment
Share on other sites

Posted (edited)
13 hours ago, pocosparc said:

@Hqnicolas I created a pull request for a working HDMI sound: https://github.com/hqnicolas/ArmBoardBringUp/pull/1/files


Will compile and test today... (compiled)

did you test the 6.8 kernel?
how you're using this device? did you test the video player on chromium?


Pull Request to Armbian https://github.com/armbian/build/pull/6520 (accepted)

 

rk3566-h96-tvbox.dts rk3566-h96-tvbox.dtb

Edited by Hqnicolas
Link to comment
Share on other sites

vor 10 Stunden schrieb Hqnicolas:

Will compile and test today... (compiled)

did you test the 6.8 kernel?
how you're using this device? did you test the video player on chromium?

Currently as a desktop. Wanted to try it out, but the kernel update over apt upgrade bricked my device. So I need to reflash everything. I am still doing everything on the current 6.6 kernel. IR works I just need to create a keymap and I will test KODI out - just need to recompile it in a VM. I am still waiting for my sound bar that has SPDIF to test it out. I think currently it is not working as I saw that spdif@fe460000 is currently disabled. I am also looking for the current Linux-headers file 6.6.28 so that I can try with openvfd. I was unable to find them with the previous kernel version 6.6.27. Once I install everything back I will retry this. What is funny about this box - every reinstallation brings a new MAC address.

I am also trying to set up a CasaOS - currently in YouTube mode on how to set up Cloudflare tunnels.

 

Link to comment
Share on other sites

Posted (edited)
6 hours ago, pocosparc said:

Wanted to try it out, but the kernel update over apt upgrade bricked my device.


sudo apt-get install armbian-config
sudo armbian-config
# SYSTEM
# FREEZE

 

6 hours ago, pocosparc said:

I am also looking for the current Linux-headers file 6.6.28 so that I can try with openvfd


@pocosparc You will need to edit the DTS or try to enable it via openvfd
 

    fddis_dev {
        compatible = "fddis_dev";
        fddis_gpio_clk = <gpio0 RK_PB3 &pcfg_pull_none>;
        fddis_gpio_dat = <gpio0 RK_PB4 &pcfg_pull_none>;
        status = "okay";
    };


fddis_dev {
        fddis_gpio_clk {
            rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
        fddis_gpio_dat {
            rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
        };

 

 

Edited by Hqnicolas
Link to comment
Share on other sites

I have installed the PPA and stuff from this thread: 

 

When I run it it produces the following trace. When playing videos all 4 cores are at 100% so I´d say it is not HW accelerated. Maybe there are also missing settings, but I have not seen any proper tutorial on how to set it up.

h96-tvbox-3566:~:% chromium-browser 
[35467:35467:0426/133812.562432:ERROR:chrome_browser_cloud_management_controller.cc(162)] Cloud management controller initialization aborted as CBCM is not enabled.
[35467:35467:0426/133813.132334:ERROR:object_proxy.cc(590)] Failed to call method: org.freedesktop.portal.Settings.Read: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files
[35528:35528:0426/133813.233668:ERROR:gl_angle_util_vulkan.cc(189)] Failed to retrieve vkGetInstanceProcAddr
[35528:35528:0426/133813.234447:ERROR:vulkan_instance.cc(91)] Failed to get vkGetInstanceProcAddr pointer from ANGLE.

 

Link to comment
Share on other sites

Posted (edited)
7 hours ago, pocosparc said:

Maybe there are also missing settings

 

sudo apt-get install armbian-config
sudo armbian-config
# SYSTEM
# FREEZE


wayland.sh

#!/bin/bash
sudo apt update
sudo apt dist-upgrade
sudo apt install libv4l-rkmpp -y
sudo apt install v4l-utils -y
sudo apt install ffmpeg -y
sudo apt install glmark2-es2-wayland -y


sudo glmark2-es2-wayland

Quote

@h96-tvbox-3566:~$ glmark2-es2-wayland
=======================================================
    glmark2 2021.02
=======================================================
    OpenGL Information
    GL_VENDOR:     Mesa
    GL_RENDERER:   Mali-G52 r1 (Panfrost)
    GL_VERSION:    OpenGL ES 3.1 Mesa 23.2.1-1ubuntu3.1~22.04.2
=======================================================
[build] use-vbo=false: FPS: 477 FrameTime: 2.096 ms
[build] use-vbo=true: FPS: 511 FrameTime: 1.957 ms
[texture] texture-filter=nearest: FPS: 1065 FrameTime: 0.939 ms
[texture] texture-filter=linear: FPS: 1030 FrameTime: 0.971 ms
[texture] texture-filter=mipmap: FPS: 1057 FrameTime: 0.946 ms
[shading] shading=gouraud: FPS: 331 FrameTime: 3.021 ms
[shading] shading=blinn-phong-inf: FPS: 331 FrameTime: 3.021 ms
[shading] shading=phong: FPS: 320 FrameTime: 3.125 ms
[shading] shading=cel: FPS: 322 FrameTime: 3.106 ms
[bump] bump-render=high-poly: FPS: 112 FrameTime: 8.929 ms
[bump] bump-render=normals: FPS: 1066 FrameTime: 0.938 ms
[bump] bump-render=height: FPS: 1039 FrameTime: 0.962 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 590 FrameTime: 1.695 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 205 FrameTime: 4.878 ms
[pulsar] light=false:quads=5:texture=false: FPS: 982 FrameTime: 1.018 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 216 FrameTime: 4.630 ms
[desktop] effect=shadow:windows=4: FPS: 594 FrameTime: 1.684 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 60 FrameTime: 16.667 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 60 FrameTime: 16.667 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 71 FrameTime: 14.085 ms
[ideas] speed=duration: FPS: 316 FrameTime: 3.165 ms
[jellyfish] <default>: FPS: 402 FrameTime: 2.488 ms
[terrain] <default>: FPS: 26 FrameTime: 38.462 ms
[shadow] <default>: FPS: 219 FrameTime: 4.566 ms
[refract] <default>: FPS: 27 FrameTime: 37.037 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 805 FrameTime: 1.242 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 810 FrameTime: 1.235 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 810 FrameTime: 1.235 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 810 FrameTime: 1.235 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 789 FrameTime: 1.267 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 803 FrameTime: 1.245 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 801 FrameTime: 1.248 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 782 FrameTime: 1.279 ms
 

 

 

Go to chrome://flags
Search "Preferred Ozone platform"
Set it to "Wayland"
ozone-platform-hint auto
Restart

I can't run videoplayback with V4L2 enabled
this is a mess 

 

 

sudo nano .profile
# add to the bottom line:
export MOZ_ENABLE_WAYLAND=1

# or just:
env MOZ_ENABLE_WAYLAND=1 /snap/bin/firefox
export MOZ_ENABLE_WAYLAND=1
Open the firefox and text:
about:config
in Firefox.

Search for the media.ffmpeg preference and set it to true.

Restart Firefox.

 

 

 

Edited by Hqnicolas
Link to comment
Share on other sites

I started with the command written above, but for some reason it does not except the right path. I am using the ZSH and also exported path to /run/user/1000 in both .zshrc and .bashrc, but it does not accept it.

h96-tvbox-3566:~:% sudo glmark2-es2-wayland
error: XDG_RUNTIME_DIR not set in the environment.
Error: main: Could not initialize canvas

 

I then tried it out a bit differently, but this time I got a nice 3D horse on a 1440p rotating quite fluidly.

h96-tvbox-3566:~:% glmark2-es2-wayland --fullscreen
=======================================================
    glmark2 2021.02
=======================================================
    OpenGL Information
    GL_VENDOR:     Mesa
    GL_RENDERER:   Mali-G52 r1 (Panfrost)
    GL_VERSION:    OpenGL ES 3.1 Mesa 23.2.1-1ubuntu3.1~22.04.2
=======================================================
[build] use-vbo=false: FPS: 196 FrameTime: 5.102 ms
[build] use-vbo=true: FPS: 205 FrameTime: 4.878 ms
=======================================================
                                  glmark2 Score: 200
=======================================================

 

Edit: It was the sudo fault. I now executed the whole test, while connected via ssh - every core was like 25% during the whole test.  I will try with the Chrome and Firefox now.

h96-tvbox-3566:~:% glmark2-es2-wayland
=======================================================
    glmark2 2021.02
=======================================================
    OpenGL Information
    GL_VENDOR:     Mesa
    GL_RENDERER:   Mali-G52 r1 (Panfrost)
    GL_VERSION:    OpenGL ES 3.1 Mesa 23.2.1-1ubuntu3.1~22.04.2
=======================================================
[build] use-vbo=false: FPS: 461 FrameTime: 2.169 ms
[build] use-vbo=true: FPS: 496 FrameTime: 2.016 ms
[texture] texture-filter=nearest: FPS: 1000 FrameTime: 1.000 ms
[texture] texture-filter=linear: FPS: 1005 FrameTime: 0.995 ms
[texture] texture-filter=mipmap: FPS: 1020 FrameTime: 0.980 ms
[shading] shading=gouraud: FPS: 322 FrameTime: 3.106 ms
[shading] shading=blinn-phong-inf: FPS: 280 FrameTime: 3.571 ms
[shading] shading=phong: FPS: 311 FrameTime: 3.215 ms
[shading] shading=cel: FPS: 315 FrameTime: 3.175 ms
[bump] bump-render=high-poly: FPS: 109 FrameTime: 9.174 ms
[bump] bump-render=normals: FPS: 1043 FrameTime: 0.959 ms
[bump] bump-render=height: FPS: 1043 FrameTime: 0.959 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 570 FrameTime: 1.754 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 200 FrameTime: 5.000 ms
[pulsar] light=false:quads=5:texture=false: FPS: 999 FrameTime: 1.001 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 210 FrameTime: 4.762 ms
[desktop] effect=shadow:windows=4: FPS: 579 FrameTime: 1.727 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 59 FrameTime: 16.949>
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 59 FrameTime: 16>
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 70 FrameTime: 14.286 >
[ideas] speed=duration: FPS: 308 FrameTime: 3.247 ms
[jellyfish] <default>: FPS: 388 FrameTime: 2.577 ms
[terrain] <default>: FPS: 25 FrameTime: 40.000 ms
[shadow] <default>: FPS: 214 FrameTime: 4.673 ms
[refract] <default>: FPS: 26 FrameTime: 38.462 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 788 FrameTime: 1.269 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 786 FrameTime: 1.272 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 784 FrameTime: 1.276 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 780 FrameTime: 1.282 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 769 FrameTime: 1.300 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 771 FrameTime: 1.297 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 775 FrameTime: 1.290 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 758 FrameTime: 1.319 ms
=======================================================
                                  glmark2 Score: 524
=======================================================

 

Edited by pocosparc
Link to comment
Share on other sites

Posted (edited)
18 minutes ago, pocosparc said:

I then tried it out a bit differently, but this time I got a nice 3D horse on a 1440p rotating quite fluidly.

 

only in wayland

Edited by Hqnicolas
Link to comment
Share on other sites

I tried the install package from this PPA , but it is a rather old version (114.x). As I can tell I think there is HW acceleration active. I am enclosing the whole dump of chrome://gpu.

The system only reports that WebGPU and video_encode are disabled - the latter I think is clear as there is no DTB tree pointing to the hw codecs (yet). Lets see what you version will bring as you need to recompile the whole thing.

 

I will try with firefox now.

chromeReport.log

Link to comment
Share on other sites

Seems that you want to try to use mpp with mainline kernel. That's not possible. The chromium PPA is for legacy kernel and dtb. In mainline kernel there is an VPU driver called hantro for rk3566 that works.

Link to comment
Share on other sites

@Deoptim@maka I tried it your way and that is installing chromium via the snap - actually installed version 123 as it GitHub thread states that since version 121 all changes are mainstream. I also added these rules to 70-snap.chromium.rules:

SUBSYSTEM=="video4linux", ATTR{name}=="rockchip,rk3568-vpu-dec", SYMLINK+="video-dec%n"
SUBSYSTEM=="media", ATTR{model}=="hantro-vpu", SYMLINK+="media-dec%n"

I tried to run chromium with a flag --disable_webgpu_shared_images=1 and the chrome://gpu still reports WebGPU and Vulkan as disabled. I am not completely sure if this is ok or not, but video playback was quite ok (once the page loads) and full-screen playback (1440p) is between 35-50% on all cores. 

To double check everything I only recently enabled the vpu node in the device tree and I did not spend any time investigating this at that time, is this enough for the mainline drivers or do we need to add different codecs as well?

&vpu {
	status = "okay";
};

 

about-gpu-2024-04-27T12-05-58-533Z.txt

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines