alexcaoys / notes-superbird

19 stars 2 forks source link

Great work so far! #6

Open lmore377 opened 3 months ago

lmore377 commented 3 months ago

I personally haven't tried your kernel/buildroot yet but it looks like you've made a lot of progress! Just some quick notes

alexcaoys commented 3 months ago

Thanks!!!

By the way, USB host is working (need some init script). Let me know if there's any feature anyone would like to have.

theoparis commented 2 months ago

I've been trying to get a mainline kernel working with the patches from linux-superbird-6.6... It seems like some of the patches are already upstreamed (the clock drivers). Is there any plan to move to a newer kernel release (e.g. 6.10)?

alexcaoys commented 2 months ago

Hi @theoparis , I think I've mentioned this somewhere but looks like I didn't put it in the repo :P I've tried the mainline kernel, stock u-boot could not directly boot it. That's the reason why I am using this fork. I actually copied all display related code from 6.10. You can use go command boot to a mainline u-boot first and then boot the mainline kernel, but after I tried that, it's harder to work with and without any advantage. Since unifreq released their version every LTS, I will consider move it to the next LTS when they released theirs.

Cheers

lmore377 commented 2 months ago

Quick question, would it be possible to include adbd in the Buildroot like the stock firmware does? It's very convenient for moving files around, getting a terminal, etc and it'd be nice to have it in custom images. Also some tools/apps we've made rely on it for doing some stuff.

Edit: also is GPU acceleration working?

alexcaoys commented 2 months ago

In short, adbd is available on Buildroot, but it's out of scope for me. I think I've tested that once or twice but it's not really working, and I didn't dig deeper. Probably you need to enable some features on the kernel. anything adb can do could be done using ssh and scp. So I don't think it's worth it.

For the GPU part, on Buildroot, OpenGL/GLES is working, Wayland is working. gstreamer is working, I can play 720p Youtube video on Cog. It would be nice if you have some example use cases/websites so I can test it out too.

theoparis commented 2 months ago

Hi @theoparis , I think I've mentioned this somewhere but looks like I didn't put it in the repo :P I've tried the mainline kernel, stock u-boot could not directly boot it. That's the reason why I am using this fork. I actually copied all display related code from 6.10. You can use go command boot to a mainline u-boot first and then boot the mainline kernel, but after I tried that, it's harder to work with and without any advantage. Since unifreq released their version every LTS, I will consider move it to the next LTS when they released theirs.

Cheers

How did you manage to get mainline u-boot working? I don't know what address to use with the go command. Additionally I tried pyamlboot's boot-g12.py script and both failed and it booted to stock adb instead of u-boot. I used the recommended defconfig as well

alexcaoys commented 2 months ago

@theoparis Please check this section as well as "Mainline/vendor as 2nd stage" Section on this guide. In short,

# Using u-boot-2024.04
export CROSS_COMPILE=aarch64-linux-gnu-
make radxa-zero_defconfig
make

and then send the u-boot.bin to 0x1000000 on the memory. execute bulkcmd go 0x1000000 should work.

I used fatload since I already repartitioned my device, but load into memory using pyamlboot (not boot-g12.py, check here) should work as well.

By the way, the mainline kernel normally will try all boot method one by one and automatically boot into the system, it's possible that's why yours booted into the system. You could take a look at the process on UART to make sure what's happening.