

robertoj
-
Posts
394 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Posts posted by robertoj
-
-
It is too bad that the cursor is shaking even if the driver panel-mipi-dbi is not used....
Now I have a feeling that using a separate software SPI for touch would be the best solution.
-
Thank you... that is what I need: a 480x320 LCD that works with a driver other than panel-mipi-dbi
Do you keep having problems with cursor shakiness? Any screen redraw "garble"?
-
Going, I see that you worked on some SPI patches previously
... have you tested SPI in opiz3, under Linux 6.12?
I found that the raspberry pi people are using panel-mipi-dbi-spi successfully under 6.12
https://forums.raspberrypi.com/viewtopic.php?p=2290196&hilit=panel+mipi+dbi+spi+6.12#p2290196
-
Process of using a kernel config from a file
Copy the config file from /boot folder to build/userpatches
Then rename:
$ mv config-6.11.9-edge-sunxi64 linux-sunxi64-edge.config
cd ..
./compile.sh
I get this compilation error:
Spoiler[🐳|🔨] CC [M] drivers/net/wireless/rtl8811cu/platform/platform_ops.o [🐳|🔨] LD [M] drivers/net/wireless/rtl8811cu/8821cu.o [🐳|🔨] AR drivers/net/built-in.a [🐳|🔨] AR drivers/built-in.a [🐳|🔨] AR built-in.a [🐳|🔨] AR vmlinux.a [🐳|🔨] error: the following would cause module name conflict: [🐳|🔨] drivers/mfd/ac200.ko [🐳|🔨] drivers/net/phy/ac200.ko [🐳|🔨] make[2]: *** [Makefile:1875: modules_check] Error 1 [🐳|🔨] make[2]: *** Waiting for unfinished jobs.... [🐳|🔨] make[1]: *** [/armbian/cache/sources/linux-kernel-worktree/6.12__sunxi64__arm64/Makefile:347: __build_one_by_one] Error 2 [🐳|🔨] make: *** [Makefile:224: __sub-make] Error 2 [🐳|💥] Cleaning up [ please wait for cleanups to finish ] [🐳|🌿] ANSI log file built; inspect it by running: [ less -RS output/logs/log-build-e236f45c-7165-44f5-8304-f47c168b3ca3.log.ans ]
It seems that a wifi driver is in 2 folders... I will see which kernel driver I should remove
...first trying removing mfd/ac200
I don't know if has improved anythig... but I see these new build errors:
Spoiler🐳|🌱] Using kernel config provided by user [ userpatches/linux-sunxi64-edge.config ] [🐳|🔨] '/armbian/userpatches/linux-sunxi64-edge.config' -> '/armbian/cache/sources/linux-kernel-worktree/6.12__sunxi64__arm64/.config' [🐳|🌱] Considering available RAM for BTF build [ 8709 MiB ] [🐳|🌱] Enabling eBPF and BTF info [ for fully BTF & CO-RE enabled kernel ] [🐳|🔨] # [🐳|🔨] # configuration written to .config [🐳|🔨] # [🐳|🌱] Kernel configuration [ linux-sunxi64-edge ] configuration written to .config *** End of the configuration. *** Execute 'make' to start the build or try 'make help'. [🐳|🌱] Exporting new kernel defconfig [ /armbian/output/config/linux-sunxi64-edge.config ] [🐳|🔨] 'defconfig' -> '/armbian/output/config/linux-sunxi64-edge.config' [🐳|🌱] Exporting new kernel config - git commit pending [ /armbian/userpatches/linux-sunxi64-edge.config ] [🐳|🔨] 'defconfig' -> '/armbian/userpatches/linux-sunxi64-edge.config' [🐳|🔨] /armbian/cache/sources/linux-kernel-worktree/6.12__sunxi64__arm64/.config /armbian/cache/sources/linux-kernel-worktree/6.12__sunxi64__arm64/.config.armbian.previous differ: byte 105893, line 4195 [🐳|🌱] Kernel configuration changed from previous build [ optimizing for correctness ] [🐳|🌱] Compiling edge kernel [ 6.12.11 ] [🐳|🌱] Building kernel [ sunxi64 linux-sunxi64-edge all Image install install modules_install headers_install dtbs_install ] [🐳|🔨] Statistics zeroed [🐳|🔨] Makefile:219: target 'install' given more than once in the same rule [🐳|🔨] /armbian/cache/sources/linux-kernel-worktree/6.12__sunxi64__arm64/Makefile:343: target 'install' given more than once in the same rule [🐳|🔨] SYNC include/config/auto.conf.cmd [🐳|🔨] mkdir -p /armbian/cache/sources/linux-kernel-worktree/6.12__sunxi64__arm64/tools/bpf/resolve_btfids && make O=/armbian/cache/sources/linux-kernel-worktree/6.12__sunxi64__arm64 subdir=tools/bpf/resolve_btfids --no-print-directory -C bpf/resolve_btfids [🐳|🔨] FIXUP IMAGE arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-fixup.scr [🐳|🔨] FIXUP IMAGE arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-fixup.scr [🐳|🔨] FIXUP IMAGE arch/arm64/boot/dts/allwinner/overlay/sun50i-h6-fixup.scr [🐳|🔨] Image Name: [🐳|🔨] Created: Thu Jan 23 16:23:05 2025 [🐳|🔨] Image Type: AArch64 Linux Script (uncompressed) [🐳|🔨] Data Size: 4127 Bytes = 4.03 KiB = 0.00 MiB [🐳|🔨] Load Address: 00000000 [🐳|🔨] Entry Point: 00000000 [🐳|🔨] Contents: [🐳|🔨] Image 0: 4119 Bytes = 4.02 KiB = 0.00 MiB [🐳|🔨] Image Name: [🐳|🔨] Created: Thu Jan 23 16:23:05 2025 [🐳|🔨] Image Type: AArch64 Linux Script (uncompressed) [🐳|🔨] Data Size: 4127 Bytes = 4.03 KiB = 0.00 MiB [🐳|🔨] Load Address: 00000000 [🐳|🔨] Entry Point: 00000000 [🐳|🔨] Contents: [🐳|🔨] Image 0: 4119 Bytes = 4.02 KiB = 0.00 MiB [🐳|🔨] Image Name: [🐳|🔨] Created: Thu Jan 23 16:23:05 2025 [🐳|🔨] Image Type: AArch64 Linux Script (uncompressed) [🐳|🔨] Data Size: 3757 Bytes = 3.67 KiB = 0.00 MiB [🐳|🔨] Load Address: 00000000 [🐳|🔨] Entry Point: 00000000 [🐳|🔨] Contents: [🐳|🔨] Image 0: 3749 Bytes = 3.66 KiB = 0.00 MiB [🐳|🔨] INSTALL libsubcmd_headers [🐳|🔨] CALL scripts/checksyscalls.sh [🐳|🔨] UPD kernel/config_data [🐳|🔨] CHK kernel/kheaders_data.tar.xz [🐳|🔨] GZIP kernel/config_data.gz [🐳|🔨] CC kernel/configs.o [🐳|🔨] AR kernel/built-in.a [🐳|🔨] AR built-in.a [🐳|🔨] AR vmlinux.a [🐳|🔨] LD vmlinux.o [🐳|🔨] OBJCOPY modules.builtin.modinfo [🐳|🔨] GEN modules.builtin [🐳|🔨] MODPOST Module.symvers [🐳|🔨] ERROR: modpost: "dw_hdmi_qp_audio_disable" [drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp-i2s-audio.ko] undefined! [🐳|🔨] ERROR: modpost: "dw_hdmi_qp_set_audio_interface" [drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp-i2s-audio.ko] undefined! [🐳|🔨] ERROR: modpost: "dw_hdmi_qp_set_channel_status" [drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp-i2s-audio.ko] undefined! [🐳|🔨] ERROR: modpost: "dw_hdmi_qp_set_channel_count" [drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp-i2s-audio.ko] undefined! [🐳|🔨] ERROR: modpost: "dw_hdmi_qp_set_channel_allocation" [drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp-i2s-audio.ko] undefined! [🐳|🔨] ERROR: modpost: "dw_hdmi_qp_set_audio_infoframe" [drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp-i2s-audio.ko] undefined! [🐳|🔨] ERROR: modpost: "dw_hdmi_qp_audio_enable" [drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp-i2s-audio.ko] undefined! [🐳|🔨] make[3]: *** [scripts/Makefile.modpost:145: Module.symvers] Error 1 [🐳|🔨] make[2]: *** [Makefile:1889: modpost] Error 2 [🐳|🔨] make[1]: *** [/armbian/cache/sources/linux-kernel-worktree/6.12__sunxi64__arm64/Makefile:347: __build_one_by_one] Error 2 [🐳|🔨] make: *** [Makefile:224: __sub-make] Error 2 [🐳|💥] Cleaning up [ please wait for cleanups to finish ] [🐳|🌿] ANSI log file built; inspect it by running: [ less -RS output/logs/log-build-14a8896d-b0c4-484a-9bbd-d5bff44e0b27.log.ans ] [🐳|🌱] Share log manually: [ use one of the commands below (or add SHARE_LOG=yes next time!) ] [🐳|🌿] Share log manually: [ curl --data-binary @output/logs/log-build-14a8896d-b0c4-484a-9bbd-d5bff44e0b27.log.ans https://paste.armbian.com/log ] [🐳|🌿] Share log manually: [ curl --data-binary @output/logs/log-build-14a8896d-b0c4-484a-9bbd-d5bff44e0b27.log.ans https://paste.armbian.de/log ] [🐳|🌿] Share log manually: [ curl --data-binary @output/logs/log-build-14a8896d-b0c4-484a-9bbd-d5bff44e0b27.log.ans https://paste.next.armbian.com/log ] [🐳|🌿] Share log manually: [ curl --data-binary @output/logs/log-build-14a8896d-b0c4-484a-9bbd-d5bff44e0b27.log.ans https://paste.armbian.eu/log ]
-
Yes. I will try again when I get back home, along with re-including some armbian patches related to SPI
Own reference:
SpoilerKernel config instructions: https://docs.armbian.com/Developer-Guide_User-Configurations/
https://forum.armbian.com/topic/15355-user-provided-kernel-config/
Inclusion of armbian patches:
https://forum.armbian.com/topic/29794-how-to-install-armbian-in-h618/page/17/#findComment-205773
https://github.com/robertojguerra/orangepi-zero-full-setup/blob/main/README2.md
-
Is anybody having success with ilitek LCD display, or SPI in general?
I am trying 6.12 with my orange pi zero 3, but the LCD just remains white.
When I switch back to my microSD with Linux 6.11, it works with no problem (ili9488+ads7846)
-
Can somebody with an orangepi zero 3 try my dts?
It seems that either the patches in NickA's codebase make it incompatible, or linux 6.12 changed the DTS.
ili9488-ads7846.dts:
Spoiler/dts-v1/; /plugin/; / { compatible = "allwinner,sun50i-h616"; fragment@0 { target = <&spi1>; __overlay__ { status = "okay"; cs-gpios = <&pio 7 9 0>,<&pio 2 15 0>; // PH9=CS0 for lcd, PC15=CS1 for touch panel: panel@0 { compatible = "panel-mipi-dbi-spi"; reg = <0>; spi-max-frequency = <40000000>; width-mm=<84>; height-mm=<56>; reset-gpios = <&pio 2 14 0>; // PC14 dc-gpios = <&pio 2 7 0>; // PHC7 write-only; format = "b6x2g6x2r6x2"; panel-timing { hactive = <480>; vactive = <320>; hback-porch = <0>; vback-porch = <0>; clock-frequency = <0>; hfront-porch = <0>; hsync-len = <0>; vfront-porch = <0>; vsync-len = <0>; }; }; ads7846: ads7846@1 { compatible = "ti,ads7846"; reg = <1>; pinctrl-names = "default"; spi-max-frequency = <1000000>; interrupt-parent = <&pio>; interrupts = <2 10 2>; /* PC10 - IRQ */ pendown-gpio = <&pio 2 10 1>; /* PC10 */ /* OPTIONS */ ti,x-min = /bits/ 16 <0>; ti,y-min = /bits/ 16 <0>; ti,x-max = /bits/ 16 <0xFFF>; ti,y-max = /bits/ 16 <0xFFF>; ti,pressure-min = /bits/ 16 <0>; ti,pressure-max = /bits/ 16 <0xFFF>; ti,x-plate-ohms = /bits/ 16 <400>; ti,swap-xy = <1>; }; }; }; };
I am able to do #armbian-add-overlay ili9488-ads7846.dts normally with armbian official and linux 6.11
But with this github's armbian build, I get in uboot:
Applying user provided DT overlay ili9488-ads7846.dtbo failed on fdt_overlay_apply(): FDT_ERR_NOTFOUND base fdt does not have a /__symbols__ node make sure you've compiled with -@ Error applying DT overlays, restoring original DT
Hmm, I found that my armbian build didn't create a /boot/dtb/allwinner/overlay/ folder
I copied the "overlay" folder, from my working armbian microsd, with linux 6.11, to this linux 6.12 microsd... I still get the same error: can't use my dtbo
(I needed to make my own build, because I need to activate panel-drm-dbi.ko)
-
i dont know if this is new, but i see a ili9486 driver in the kernel config, which is unselected by default.
Warning.... I just looked at some of the code in the linux mailing list discussion, and it looks like it is made specifically for 2 raspberry LCD hats
* PISCREEN 3.5" 320x480 TFT (Ozzmaker 3.5")
* RPILCD 3.5" 320x480 TFT (Waveshare 3.5")
Which have a SPI->parallel chip on the circuitboard
WDR_s: are you still having good experience with the ili9341 driver for the ili9486 LCD?
-
Thank you for sharing an image for opiz3
I also downloaded and built the code from your github (branch 202503060) as zip file, so I can start with a minimal image, and work the way up... since I always want a fast booting GUI with openbox... and eventually labwc
-
No. The driver for h264 encoding does not exist
-
-
Have you ever seen the OPIZ2w (or OPIZ3) doing HW video encoding in another Linux?
Where did you find this cedrus driver? What does the website claim it can do?
Where did your OS image come from?
What DTS modifications did you mean? Why not just a DTS overlay?
-
When the driver is configured correctly for the orange pi zero 3, everything will look correct from inside the operating system and the SPI port will be clocking out bits.
But the LCD is a one-way communication device. The orange pi zero 3 will never know something has failed
The ILI9486 LCD's default byte ordering, color format, etc, may be different from the ILI9488.
You should find one example of ILI9486 running in raspberry pi, arduino, etc and find the initial byte command sequence. See how it differs from the KungFuPancake's txt file. Make changes to the txt file one by one line, toward being closer to the ili9486 byte sequence you find elsewhere.
If you are starting with a DTS that uses the "ilitek,ilixxxx" driver, and change it to "mipi-dbi-spi", remember to change the RESET pin definition (see my other ILI9431 thread for explanation)
-
Those LCD parameters where you found differences are:
PGAMCTRL (Positive Gamma Control) (E0h)
NGAMCTRL (Negative Gamma Control) (E1h)
(See the ILI9488 PDF I posted)
I don't know what they do exactly, but I guess they control pixel voltage, given a R, G or B digital value.
I think that you can worry about it, after everything else works.
-
Thanks!
Try playing a 1080p H264 video. With hardware acceleration, the CPU should be at 25% or less (check cpu % in htop)
-
Hi Ricardo,
Maybe you can make a github page with instructions how to add wayland to a minimal armbian image... and let us choose from sway, i3, gnome and labwc
-
9 hours ago, dr_toggleswitch said:
3. Stuff like x264/x265 plays ok in mpv, but webm is unusable, here is my uname -a.
I just looked at your neofetch screenshot again... linux 6.6.72. Armbian community 25.5.0-trunk.87... I am surprised that H264 hardware acceleration is working
But I noticed you are running Wayland and Gnome... is that how it works from the desktop-armbian image? Or did you install it later?
(I hope I can start with a minimal image, and install all that's needed for wayland+labwc in my SPI LCD <- aiming for minimal ram use and lowest load time)
-
Yes, you must use that panel-mipi-dbi-spi.txt, process it with the python script, copy it to the right folder, and use the DTS I shared last.
I havent seen another command byte sequence for ili9488. Can you post the link to the download (to make sure I will see the same thing).
Can you make a hypothetical byte sequence from the LCDWIKI_SPI.cpp?
-
Try it with the ili9486 and ili9488 DTS we have made here:
https://forum.armbian.com/topic/46824-orange-pi-zero-3-ili9486-tft-lcd/
https://forum.armbian.com/topic/47971-driving-the-ili9488-lcd-40-inch-cheap-chinese-clone/
For the gpio inside the DTS, it is only enough to know the port letter and pin number (you don't need the GPIO number and WPI)
-
I had time to test xrandr with my ili9488 and mipi-dbi-spi
while the LCD is showing X11+lightdm+openbox, I logged in via SSH and typed:
roberto@orangepizero3:~$ DISPLAY=:0.0 xrandr -q xrandr: Failed to get size of gamma for output default Screen 0: minimum 480 x 320, current 480 x 320, maximum 480 x 320 default connected 480x320+0+0 0mm x 0mm 480x320 0.00* roberto@orangepizero3:~$ DISPLAY=:0.0 xrandr --output default --rotate left xrandr: output default cannot use rotation "left" reflection "none"
So, I can't rotate the LCD display with xrandr, and the only option is the 2 actions I shared on March 4
Note: the 4 rotate options are normal, right, left and inverted. None of them worked
-
I have the ili9488 working in orange pi zero 3 with my DTS in https://forum.armbian.com/topic/47971-driving-the-ili9488-lcd-40-inch-cheap-chinese-clone/#findComment-208446
and the panel-mipi-dbi-spi.txt from https://github.com/KungfuPancake/v0_ips_touch_display?tab=readme-ov-file
My DTS file uses the new panel-mipi-dbi-spi driver, which is not fbtft, it is tinydrm.
Kernel 6.12, built from https://github.com/NickAlilovic/build
I can use X11 completely fine, but I havent tried wayland and h264 acceleration yet. Can you try it?
The only problems I see:
Cursor has some "jumpiness" when pressing the touch panel (ads7846).
Graphic pixel noise appears when I am dragging an X11 window with finger. But it returns to normal after the dragging event. (doesn't happen when I drag with USB mouse).
I think the noise won't happen if I can make a separate soft-SPI for the touch function.
Has anybody tried xrandr? I learned to use it in my laptop, but I don't have my orange pi zero 3 available. Can anyone try:
$ xrandr --output SPI-1 --rotate left
Then replace left with: inverted, right and normal
This should take care of the touch at the same time, but someone needs to try it.
-
I found that you can rotate the ili9488 display 180 degrees, by changing the LCD initialization command in panel-mipi-dbi-spi.txt:
Change: command 0x36 0xE0
To: command 0x36 0x20
(changes memory access control row and column order from:
starting from the corner near the VCC pin, to
starting from the corner opposite from the VCC pin)
Then, open /usr/share/X11/xorg.conf.d/99-calibration, and add:
Option "InvertX" "1"
Option "InvertY" "1"
Reference:
https://focuslcds.com/wp-content/uploads/Drivers/ILI9488.pdf
https://forums.raspberrypi.com/viewtopic.php?t=173993
I hope it helps someone, or to myself in the future
-
Can you try other armbian images (i always use minimal), and self-built armbian image?
Can you change USB cable? Powering with the 0V-5V pins in the GPIO pins?
-
My 60 MHz SPI connection is 1 m long, the cable was made with a CAT5 ethernet cable.
The problem was reduced by making a 50 cm cable.
Maybe I need termination resistors too. I could start with 1000ohms between MOSI and GND in the LCD wire ends. If it doesn't work, reduce the resistance, until I don't see noise.
How to turn on souncard in Orange Pi Zero 2W?
in Allwinner sunxi
Posted
Can you tell us what you did?
diff old.dts new.dts