

The Tall Man
-
Posts
31 -
Joined
-
Last visited
Reputation Activity
-
The Tall Man reacted to Werner in HDMI doesn't work for rk3568 on some displays
Expected. current had a bare minimum of hdmi support before it became recent LTS kernel. Therefore no fixes will hit there until rollover to next LTS.
Needs to be enabled. Either enable panthor overlay (the mainline panthor driver was backported to vendor kernel but is disabled by default) and install more recent mesa packages (depends on userspace). Or install proprietary mali blobs.
Having or building an image with mesa-vpu extension enabled handles that for you. There is no automatic method of installing afterwards yet. https://github.com/armbian/apa/issues/20
-
The Tall Man reacted to KhanhDTP in How can I install the ntsync kernel module?
As the title says, how can I install the ntsync kernel module for use with Wine/Proton?
-
The Tall Man reacted to KhanhDTP in How can I install the ntsync kernel module?
@The Tall Man Thanks again, it works
-
The Tall Man got a reaction from KhanhDTP in How can I install the ntsync kernel module?
Terrific! You're welcome!
-
The Tall Man got a reaction from ricardo_brz in HDMI audio and analog audio do not work on Opi5Plus
I Did It! I Got It Working!!
ES8388 Analog Audio Output
Here's How (this is very easy to do):
It just involves making one simple modification to the devicetree.
Note: I did this with the Edge kernel. My guess is that it will also work with the Current kernel. You can also try the Vendor kernel if its devicetree has the same code.
Update: I've addressed the Current and Vendor kernels in this comment below:
https://forum.armbian.com/topic/52118-hdmi-audio-and-analog-audio-do-not-work-on-opi5plus/#findComment-225009
I manually applied this patch:
https://patchwork.kernel.org/project/linux-rockchip/patch/20250823-orangepi5-v1-1-ae77dd0e06d7@hotmail.com/
If you scroll to the bottom where it gives the patch, the GPIO_ACTIVE_LOW needs to be changed to GPIO_ACTIVE_HIGH in the given section of the devicetree.
Here's the simple / quick way to fix it, without having to go through any lengthy (re)builds.
Modify the already installed devicetree file (/boot/dtb/rockchip/rk3588-orangepi-5-plus.dtb).
1. Install the package: device-tree-compiler
2. Backup the original, and convert to .dts format as follows:
# Go to your devicetree directory cd /boot/dtb/rockchip/ # Make a backup of your original devicetree: sudo cp rk3588-orangepi-5-plus.dtb rk3588-orangepi-5-plus.dtb.bak # Use device-tree-compiler to convert the file from the binary .dtb format to source (text) .dts format (ignore the warnings) sudo dtc -I dtb -O dts -o rk3588-orangepi-5-plus.dts rk3588-orangepi-5-plus.dtb # Safety-Check Part 1: Convert right back to .dtb format (another filename), ignore the warnings. sudo dtc -O dtb -I dts -o rk3588-orangepi-5-plus-test.dtb rk3588-orangepi-5-plus.dts # Safety-Check Part 2: Compare the newly converted file with the original. They should be identical (this command should produce no output) cmp -l rk3588-orangepi-5-plus-test.dtb rk3588-orangepi-5-plus.dtb
3. Using a text editor in sudo mode, edit the source (text) file:
rk3588-orangepi-5-plus.dts
Search for this phrase: simple-audio-card,hp-det-gpios
I should appear exactly once in the file.
# Here is what that line looks like (for me): simple-audio-card,hp-det-gpios = <0x133 0x1b 0x01>; # This is that same line before original compilation simple-audio-card,hp-det-gpios = <&gpio1 RK_PD3 GPIO_ACTIVE_LOW>;
4. Notice between the brackets, there are 3 values, separated by spaces. The third value is the value to modify from GPIO_ACTIVE_LOW to GPIO_ACTIVE_HIGH, or for us, from 0x01 to 0x00.
5. Convert your modified .dts file to a .dtb file (ignore the warnings):
sudo dtc -O dtb -I dts -o rk3588-orangepi-5-plus-fixed.dtb rk3588-orangepi-5-plus.dts # Optional: Quick Comparison Check (this should output exactly 1 line with 3 numbers: [big number] 0 1) cmp -l rk3588-orangepi-5-plus-fixed.dtb rk3588-orangepi-5-plus.dtb
6. Copy the new fixed file to (overwriting) your original:
sudo cp rk3588-orangepi-5-plus-fixed.dtb rk3588-orangepi-5-plus.dtb
7. Reboot (and have ES8388 analog audio out).
Note: Whenever you do a kernel change or update, you will need to repeat this process until the Armbian kernel updates catch up with this patch.
Here's the lengthier explanation (this is repeatable if you want to check it out yourself)
1. I downloaded the source code for version 25.8.1:
https://github.com/armbian/build/releases/tag/v25.8.1
2. I extracted the archive and started the building process (./compile.sh) with the edge kernel (and a desktop image).
It would not build because it rejected two of the kernel patches, but it did download everything into the cache.
3. I then found the file described in the patch:
./build-25.8.1/cache/sources/linux-kernel-worktree/6.16__rockchip64__arm64/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
4. In that file, I searched for the line indicated in the patch, just prior to the line to modify:
simple-audio-card,aux-devs = <&speaker_amp>, <&headphone_amp>;
...and found the appropriate section. I confirmed the line that followed matched the original (incorrect) version mentioned in the patch entry.
5. I then scrolled to the top of the .dts file and looked at the files #included, to find where the GPIO_ACTIVE_LOW macro was defined. I figured dt-bindings/gpio/gpio.h was a reasonable place to look first. I found it here:
./build-25.8.1/cache/sources/linux-kernel-worktree/6.16__rockchip64__arm64/include/dt-bindings/gpio/gpio.h
Near the top of the file were these #defines:
/* Bit 0 express polarity */ #define GPIO_ACTIVE_HIGH 0 #define GPIO_ACTIVE_LOW 1
6. See the simple fix above for the rest.
Tags:
@Werner, @Igor, @laibsch
@dimaxus, @EricaLina, @ricardo_brz, @eselarm
-
The Tall Man reacted to laibsch in HDMI audio and analog audio do not work on Opi5Plus
Thank you for having a look and catching my mistake. I have marked the PR as still work-in-progress for now while I look into where to patch this correctly in Armbian itself.
-
The Tall Man reacted to laibsch in HDMI audio and analog audio do not work on Opi5Plus
Anybody here with the Opi 5 Pro? Does it need the same change?
https://github.com/armbian/build/pull/8568
-
The Tall Man reacted to laibsch in HDMI audio and analog audio do not work on Opi5Plus
Wow, that is awesome and thank you so much for sharing your findings. Let's get this applied in our repo for the benefit of all Armbian users.
-
The Tall Man got a reaction from laibsch in HDMI audio and analog audio do not work on Opi5Plus
I Did It! I Got It Working!!
ES8388 Analog Audio Output
Here's How (this is very easy to do):
It just involves making one simple modification to the devicetree.
Note: I did this with the Edge kernel. My guess is that it will also work with the Current kernel. You can also try the Vendor kernel if its devicetree has the same code.
Update: I've addressed the Current and Vendor kernels in this comment below:
https://forum.armbian.com/topic/52118-hdmi-audio-and-analog-audio-do-not-work-on-opi5plus/#findComment-225009
I manually applied this patch:
https://patchwork.kernel.org/project/linux-rockchip/patch/20250823-orangepi5-v1-1-ae77dd0e06d7@hotmail.com/
If you scroll to the bottom where it gives the patch, the GPIO_ACTIVE_LOW needs to be changed to GPIO_ACTIVE_HIGH in the given section of the devicetree.
Here's the simple / quick way to fix it, without having to go through any lengthy (re)builds.
Modify the already installed devicetree file (/boot/dtb/rockchip/rk3588-orangepi-5-plus.dtb).
1. Install the package: device-tree-compiler
2. Backup the original, and convert to .dts format as follows:
# Go to your devicetree directory cd /boot/dtb/rockchip/ # Make a backup of your original devicetree: sudo cp rk3588-orangepi-5-plus.dtb rk3588-orangepi-5-plus.dtb.bak # Use device-tree-compiler to convert the file from the binary .dtb format to source (text) .dts format (ignore the warnings) sudo dtc -I dtb -O dts -o rk3588-orangepi-5-plus.dts rk3588-orangepi-5-plus.dtb # Safety-Check Part 1: Convert right back to .dtb format (another filename), ignore the warnings. sudo dtc -O dtb -I dts -o rk3588-orangepi-5-plus-test.dtb rk3588-orangepi-5-plus.dts # Safety-Check Part 2: Compare the newly converted file with the original. They should be identical (this command should produce no output) cmp -l rk3588-orangepi-5-plus-test.dtb rk3588-orangepi-5-plus.dtb
3. Using a text editor in sudo mode, edit the source (text) file:
rk3588-orangepi-5-plus.dts
Search for this phrase: simple-audio-card,hp-det-gpios
I should appear exactly once in the file.
# Here is what that line looks like (for me): simple-audio-card,hp-det-gpios = <0x133 0x1b 0x01>; # This is that same line before original compilation simple-audio-card,hp-det-gpios = <&gpio1 RK_PD3 GPIO_ACTIVE_LOW>;
4. Notice between the brackets, there are 3 values, separated by spaces. The third value is the value to modify from GPIO_ACTIVE_LOW to GPIO_ACTIVE_HIGH, or for us, from 0x01 to 0x00.
5. Convert your modified .dts file to a .dtb file (ignore the warnings):
sudo dtc -O dtb -I dts -o rk3588-orangepi-5-plus-fixed.dtb rk3588-orangepi-5-plus.dts # Optional: Quick Comparison Check (this should output exactly 1 line with 3 numbers: [big number] 0 1) cmp -l rk3588-orangepi-5-plus-fixed.dtb rk3588-orangepi-5-plus.dtb
6. Copy the new fixed file to (overwriting) your original:
sudo cp rk3588-orangepi-5-plus-fixed.dtb rk3588-orangepi-5-plus.dtb
7. Reboot (and have ES8388 analog audio out).
Note: Whenever you do a kernel change or update, you will need to repeat this process until the Armbian kernel updates catch up with this patch.
Here's the lengthier explanation (this is repeatable if you want to check it out yourself)
1. I downloaded the source code for version 25.8.1:
https://github.com/armbian/build/releases/tag/v25.8.1
2. I extracted the archive and started the building process (./compile.sh) with the edge kernel (and a desktop image).
It would not build because it rejected two of the kernel patches, but it did download everything into the cache.
3. I then found the file described in the patch:
./build-25.8.1/cache/sources/linux-kernel-worktree/6.16__rockchip64__arm64/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
4. In that file, I searched for the line indicated in the patch, just prior to the line to modify:
simple-audio-card,aux-devs = <&speaker_amp>, <&headphone_amp>;
...and found the appropriate section. I confirmed the line that followed matched the original (incorrect) version mentioned in the patch entry.
5. I then scrolled to the top of the .dts file and looked at the files #included, to find where the GPIO_ACTIVE_LOW macro was defined. I figured dt-bindings/gpio/gpio.h was a reasonable place to look first. I found it here:
./build-25.8.1/cache/sources/linux-kernel-worktree/6.16__rockchip64__arm64/include/dt-bindings/gpio/gpio.h
Near the top of the file were these #defines:
/* Bit 0 express polarity */ #define GPIO_ACTIVE_HIGH 0 #define GPIO_ACTIVE_LOW 1
6. See the simple fix above for the rest.
Tags:
@Werner, @Igor, @laibsch
@dimaxus, @EricaLina, @ricardo_brz, @eselarm
-
The Tall Man got a reaction from Stefal in Armbian 25.05
So 25.05 and 25.5 are the same version? That threw me off for a while...
-
The Tall Man reacted to Werner in Any chance we will be seeing new kernel versions for the 5 Max
I usually check here every couple of days: https://patchwork.kernel.org/project/linux-rockchip/list/
Yes, they will be included in edge kernel and in a year or two when the next LTS kernel hits they'll be included in current as well.
-
The Tall Man reacted to Werner in New Armbian version which contains NPU driver and kernel newer than 6.3
vendor kernel has rknpu enabled by default.
edge will receive initial support for it (called Rocket then) with 6.17 iirc.
-
The Tall Man got a reaction from laibsch in How Do You Build With The Latest (Relatively) Stable Edge Kernel, Not The Ultra-Latest Bleeding Edge Kernel?
True, it's not critical to compile the ideal kernel into the image as long as I get one that works, I can always update it later from within the image. But I do prefer to do things right the first time, and to be utilizing the version I think I am and intend to be using. Btw, I boot from grub as well.
For my Orange PI 5 Plus, The edge kernel is the only one that's actually useful to me because the Vendor kernel has no GPU acceleration at all, the Mainline kernel has no video output to my DVI monitor, and all 3 kernel branches aren't correctly utilizing the ES8388 analog audio, which I need. The audio volume is barely audible even when all volume controls are maxed out. It's been that way in every operating system I've tried (except those with old barebones Vendor Kernels from Orange PI).
So ultimately I want to compile the latest (relatively) stable edge kernel myself, so I can modify the source code in an attempt to fix the audio, and of course share the solution when / if I find it.
I've already found that the ES8388 and ES8328 are compatible - hence the es8328 modules used in the kernel for the ES8388. And I've narrowed down where the issue most likely is:
Directory: sound/soc/codecs
Files: es8328.h, es8328.c, es8328-i2c.c