nixos-rk3588
nixos-rk3588 copied to clipboard
Disable VIDEO_ROCKCHIP_HDMIRX in config
This disables the hdmirx kernel module and prevents the dmesg spam of #37. This disables hdmirx for all devices, not only those that are affected by dmesg spam.
It would be much cleaner to simply disable the hdmirx in device tree, but I can't fathom where does it get enabled. As explained in https://github.com/ryan4yin/nixos-rk3588/issues/37#issuecomment-2523530954, the upstream source code seems to have hdmirx node disabled, but for some reason it has status "okay" on my device and the driver gets loaded, producing the spam.
I don't know of a way to cleanly disable hdmirx in DT, so will keep the PR here in case someone finds it.
Ivan
~~The PR is currently rebased on top of #64 (which is about to get merged to master).~~
I tried a few cleaner ways to disable the faulty device in Device Tree, but all seem to fail:
-
Kernel patch modifying the arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts to set
&hdmirx_ctrler { status = "disabled; };. -
Removing arch/arm64/boot/dts/rockchip/overlay/rk3588-hdmirx.dts with a patch from kernel source (in case this overlay was getting applied automatically).
-
https://github.com/ryan4yin/nixos-rk3588/blob/4ffabec95835728e4d7dee85bf752b511f45346c/modules/boards/orangepi5plus.nix#L42
Adding an overlay with roughly
&hdmirx_ctrler { status = "disabled; };here.
None of the steps help modify the device tree value. After I reboot, I still get
$ cat /sys/firmware/devicetree/base/hdmirx-controller@fdee0000/status
okay
@ryan4yin is there something I misunderstand about how we build the kernel and DT? Does bootloader to anything special with it? Right now, it seems that there's no way to modify DT, even though NixOS normally allows it via overlays.
Hello Ivan. It has become challenging for me to maintain this project due to my limited expertise in the Linux kernel. After careful consideration, I've decided to archive it. You can find more information in #71.
Thanks for this PR & your past contributions! ❤️