49 49
balbes150

Single Armbian image for RK + AML + AW (aarch64 ARMv8)

Recommended Posts

Universal image update (20191222) with kernel 5.5.0-rc2

 

Also added u-boot file for Allwinner H6 (to write to the universal image when running on Allwinner H6). The order of adding u-boot to SD card for universal image is the same as described earlier in this topic (two DD commands are used).

 

 

 Write u-boot to SD card. U-boot replacement is performed by two commands.


dd if=u-boot-<model>.img of=/dev/<SD_card> conv=fsync bs=1 count=442

dd if=u-boot-<model>.img of=/dev/<SD_card> conv=fsync bs=512 skip=1 seek=1

 

https://yadi.sk/d/PIGjwjZ4m4HKqg

 

Share this post


Link to post
Share on other sites

Just a little feedback, but first a big THX for those images, they are great!

 

I'm using an x96 Max TV box (4/32) which is a Meson g12a also reference as s905x2.

(How many names these boxes can get ?!)

 

1 - I have to flash the box via usb with a recent android "factory" image to get it boot correctly on Armbian. I suppose the boot partition was not great out of the box.

 

2 - My purpose is to watch movies with vlc. Not all movies play well but with the 5.5.0-rc1 image I've got best results under X with panfrost module loaded and vout set to xcb_x11.

At the beginning, I was using vlc from tty (vout set to fb) but most of the movies do not play well.

 

3 - Happy to see bullseye image !

 

4 - I would like to find a way to rename audio output devices to get a mixer only showing : AV, SPDIF and HDMI. Today, I just configure alsa to only output on device 1 (spdif).

 

5 - serial-getty@ttyS2.service restart all the time. Do you know why?

 

Now that there is script to install image on the emmc, I would like to know how to upgrade the system without have to reconfigure everything.

Is that a kernel update is possible/enough? Or maybe just dd the u-boot partition?

 

Share this post


Link to post
Share on other sites
On 12/23/2019 at 1:55 PM, lgranie said:

5 - serial-getty@ttyS2.service restart all the time. Do you know why?

Because it is a universal image and there are many add-ons for other platforms. Collect additional settings (scripts) that will fix it and send me, I will include in the image.

 

On 12/23/2019 at 1:55 PM, lgranie said:

Now that there is script to install image on the emmc, I would like to know how to upgrade the system without have to reconfigure everything.

Is that a kernel update is possible/enough? Or maybe just dd the u-boot partition?

Automatic installation in eMMC (using the install * script) is not supported for the g12 platform (where a color patch is required).

 

 

 

 

To all

Update image 20191224

fix LAN for Allwinner H6

Share this post


Link to post
Share on other sites
5 hours ago, balbes150 said:

Automatic installation in eMMC (using the install * script) is not supported for the g12 platform (where a color patch is required).

 

You mean not at all, also not for server images? I don't care about destop usage, I only use it as a server.

Share this post


Link to post
Share on other sites
11 hours ago, trohn_javolta said:

You mean not at all, also not for server images? I don't care about destop usage, I only use it as a server.

If you do not care about the problem of incorrect color at startup, then you can use the installation in eMMC.

Share this post


Link to post
Share on other sites
56 minutes ago, balbes150 said:

If you do not care about the problem of incorrect color at startup, then you can use the installation in eMMC.

I have another problem now, suddenly armbian won't boot anymore :( I already have booted armbian before and have another amlogic box running it.

Now I tried toothpick method on new Tanix TX5 Pro (S905x2 4GB, 64GB) and it worked initially! I then tried the other legacy image and different device trees (noticed that built in wifi doesn't work on S905x2) but now I can't boot from sd card or usb stick anymore...idk why, there's no serial console output via hdmi anymore :( 

I burned image to sd with etcher, changed uenv.txt, tried toothpick method, tried via update app, then tried in linux "dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=8" also tried with win32diskimager....nothing.

But I see Tanix logo then nothing, without usb stick or sd card it boots into android. So I think multiboot works but can't boot armbian.

Any ideas? I'm out of ideas.. 

 

Edit: Nevermind, it works via ssh. I just don't get hdmi output anymore..

 

PS: Can you recommend a certain device tree for my box? Is there any description of the different dtbs?

I just noticed that the meson-g12a-tanix-tx5-max.dtb has no ethernet and no wifi working.

With u200 dtb, ethernet works.

Share this post


Link to post
Share on other sites

I can not get to boot latest armbian images on my khadas vim, 19.11.3 version, i have changed dtb, but it doesn't work.

I've seen that there is an issue with u-boot on amlogic devices, but if i understood correctly, fixed u-boot is included in this image i downloaded?

Btw, merry christmas to all of you!

Share this post


Link to post
Share on other sites

On a Dealdig BOXD6 (clone of a Beelink GT1 Ultimate SN:LP1..):

System:    Host: arm Kernel: 5.5.0-rc2-arm-64 aarch64 bits: 64 compiler: gcc v: 7.4.1 Desktop: Xfce 4.14.1
           Distro: Ubuntu 19.10 (Eoan Ermine)
Machine:   Type: ARM Device System: Amlogic Meson GXM (S912) Q201 Development Board details: N/A
Battery:   Device-1: hidpp_battery_0 model: Logitech Wireless Keyboard K230 charge: Normal status: Discharging
           Device-2: hidpp_battery_1 model: Logitech Wireless Mouse M315/M235 charge: Full status: Discharging
CPU:       Topology: 8-Core (2-Die) model: ARMv8 v8l variant: cortex-a53 bits: 64 type: MCP MCM arch: v8l rev: 4
           features: Use -f option to see features bogomips: 0
           Speed: 1512 MHz min/max: 100/1512:1000 MHz Core speeds (MHz): 1: 1512 2: 1512 3: 1512 4: 1512 5: 1000 6: 1000
           7: 1000 8: 1000
Graphics:  Device-1: meson-gxm-dw-hdmi driver: meson_dw_hdmi v: N/A bus ID: N/A
           Device-2: meson-gxm-mali driver: N/A bus ID: N/A
           Display: server: X.Org 1.20.5 driver: modesetting unloaded: fbdev resolution: 1920x1080~60Hz
           OpenGL: renderer: llvmpipe (LLVM 9.0 128 bits) v: 3.3 Mesa 19.2.1 direct render: Yes
Audio:     Device-1: meson-gxm-dw-hdmi driver: meson_dw_hdmi bus ID: N/A
           Device-2: gx-sound-card driver: gx_sound_card bus ID: N/A
           Sound Server: ALSA v: k5.5.0-rc2-arm-64
Network:   Device-1: meson-gxbb-dwmac driver: meson8b_dwmac v: N/A port: N/A bus ID: N/A
           IF: eth0 state: down mac: <filter>
           Device-2: pwm-clock driver: pwm_clock v: N/A port: N/A bus ID: N/A
           IF-ID-1: wlan0 state: up mac: <filter>
Drives:    Local Storage: total: 58.63 GiB used: 4.42 GiB (7.5%)
           ID-1: /dev/mmcblk0 model: SE32G size: 29.72 GiB
           ID-2: /dev/mmcblk1 model: SLD32G size: 28.91 GiB
Partition: ID-1: / size: 28.65 GiB used: 4.28 GiB (14.9%) fs: ext4 dev: /dev/mmcblk0p2
           ID-2: /boot size: 255.7 MiB used: 98.6 MiB (38.6%) fs: vfat dev: /dev/mmcblk0p1
           ID-3: /var/log size: 48.4 MiB used: 15.8 MiB (32.6%) fs: ext4 dev: /dev/zram0
Sensors:   Missing: Required tool sensors not installed. Check --recommends
Info:      Processes: 254 Uptime: 13h 57m Memory: 2.68 GiB used: 1.23 GiB (45.8%) Init: systemd runlevel: 5 Compilers:
           gcc: 9.2.1 Shell: bash v: 5.0.3 inxi: 3.0.36

I've just blackisted panfrost module here that's why inxi command displays llvmpipe. It works also with panfrost but in this case there are errors with the xcursor mask.

 

Works: bluetooth, wlan...

Does not work: eth0 and that's all it seems. That eth0 works with kernel 3.x on CoreELEC with gxm_q201_3g_1gbit.dts instead of here meson-gxm-q201.dtb. 
I was wondering if it's a matter or dts/dtb or kernel module.

Anyway, thank you again balbes150 for the good work.

 

Share this post


Link to post
Share on other sites
32 minutes ago, NicoD said:

I'll check it out. Seems also vdpau is supported. So maybe/hopefully it could make video to work well in mainline. 

 

The support for the Hantro G1 VPU is implemented via video4linux2 (See Collabora's efforts: https://www.collabora.com/news-and-blog/news-and-events/linux-kernel-5.4.html) I don't think vdpau will help.

 

With kernel 5.5, native mpv playback of mpeg-2/VP8/VP9 seems to work well at 24fps, but skips frames at 60fps trying to output thru x11. The OpenGL ES playback is slower (--vo=gpu --gpu-api=opengl --opengl-es=yes), so there might still be work to be done to hand decoded frames to the GPU. I will run a few more tests using youtube-dl.

Share this post


Link to post
Share on other sites

Well, `mpv --vo=gpu --hwdec=yes --hwdec-codecs=all -v` shows no HW decoding for a MPEG2 video, so there might still be something missing:

Quote

[vd] Using underlying hw-decoder 'mpeg2_v4l2m2m'                                                                                                            
[ffmpeg/video] mpeg2_v4l2m2m: driver 'hantro-vpu' on card 'rockchip,rk3399-vpu-dec'                                                                         
[ffmpeg/video] mpeg2_v4l2m2m: driver 'hantro-vpu' on card 'rockchip,rk3399-vpu-enc'                                                                         
[ffmpeg/video] mpeg2_v4l2m2m: driver 'rockchip-rga' on card 'rockchip-rga'                                                                                  
[ffmpeg/video] mpeg2_v4l2m2m: Could not find a valid device                                                                                                 
[ffmpeg/video] mpeg2_v4l2m2m: can't configure decoder                                                                                                       
[vd] Could not open codec.                                                                                                                                  
[vd] Falling back to software decoding.

Same for a VP8 video. I will have to see if I can get gstreamer to go further.

Share this post


Link to post
Share on other sites
2 hours ago, jerryg said:

VPU is implemented via video4linux2

For all mainline v4l2 supported devices hardware accelerated video pipelines already work with the gstreamer1 framework. I.e. using a gstreamer based media player will make use of v4l2 codecs and other components like e.g scalers.
The mainline ffmpeg unfortunately does not have full v4l2 support so far. There is this patch set where several patches already landed in ffmpeg master but some have still comments and don't apply any longer cleanly. Thus, all user space programs that rely on ffmpeg codec support will not be able to use the v4l2 hardware acceleration correctly.

2 hours ago, jerryg said:

there might still be work to be done to hand decoded frames to the GPU

In SOC world the GPU is usually not much involved at video pipelines. GPU's are for graphic acceleration while VPU's are the video accelerators. And those ones are nowadays exposed by mainline kernel via v4l2 with dmabuf support for zero copy.

Share this post


Link to post
Share on other sites

Which of this boxes would you recommend for Armbian?

Ugoos AM6 is out of my budget, I would prefer one of this list, better the cheaper ones under 50€.

1. X96 Air 4/64 (S905X3) 38€ - Powerful and cheap but not sure if 4G/64G version has gigabit ethernet

2. A95XF3 4/64 (S905X3) 40€ - Powerful and cheap and the seller says it has gigabit - I might get this one

3. Magicsee N6 MAX 4/32 (RK3399) 98€ - I see there is a media script to install mesa and VPU drivers. also for the other chips?

4. Beelink GT King 4/64 (S922X) 97€ - It is the fastest and has voice remote and air mouse.

 

Does RK3399 have a lot better multimedia support or the Amlogic cpus can also have mesa and VPU drivers in armbian with panfrost? In LE and coreelec they work fine I think.

Can I compile Kodi 18 in armbian or are there any repository where I can get it with dependencies?

Do you know if integrated BT and wifi works/will work soon in armbian in these models?

Do Netflix, HBO, and Prime Video work in chromium with any of these models?

Thank you!!

 

 

Share this post


Link to post
Share on other sites
On 12/30/2019 at 2:44 PM, usual user said:

For all mainline v4l2 supported devices hardware accelerated video pipelines already work with the gstreamer1 framework. I.e. using a gstreamer based media player will make use of v4l2 codecs and other components like e.g scalers.

Yes, but it seems the hantro_vpu module is a little too barebones at this point in time. Gstreamer will auto-detect what is available, and so far in kernel 5.5-rc2, we only have JPEG encoding supported. Stay tuned for further modules appearing as support improves.

jerryg@arm:~$ gst-inspect-1.0 --plugin /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvideo4linux2.so
Plugin Details:
  Name                     video4linux2
  Description              elements for Video 4 Linux
  Filename                 /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvideo4linux2.so
  Version                  1.16.1
  License                  LGPL
  Source module            gst-plugins-good
  Source release date      2019-09-23
  Binary package           GStreamer Good Plugins (Ubuntu)
  Origin URL               https://launchpad.net/distros/ubuntu/+source/gst-plugins-good1.0

  v4l2jpegenc: V4L2 JPEG Encoder
  v4l2deviceprovider: Video (video4linux2) Device Provider
  v4l2radio: Radio (video4linux2) Tuner
  v4l2sink: Video (video4linux2) Sink
  v4l2src: Video (video4linux2) Source

  5 features:
  +-- 4 elements
  +-- 1 device providers

Cranking the verbosity shows that the decoders are not yet providing a format that GStreamer can use:

0:00:10.653199799  8177 0xaaaac7b94200 LOG                     v4l2 gstv4l2.c:92:gst_v4l2_probe_template_caps: description: 'H.264 Parsed Slice Data'
0:00:10.653231882  8177 0xaaaac7b94200 LOG                     v4l2 gstv4l2.c:93:gst_v4l2_probe_template_caps: pixelformat: S264
0:00:10.653267756  8177 0xaaaac7b94200 DEBUG                   v4l2 gstv4l2object.c:1556:gst_v4l2_object_v4l2fourcc_to_bare_struct: Unsupported fourcc 0x34363253 S264
0:00:10.653383255  8177 0xaaaac7b94200 LOG                     v4l2 gstv4l2.c:92:gst_v4l2_probe_template_caps: description: 'MPEG-2 Parsed Slice Data'
0:00:10.653413588  8177 0xaaaac7b94200 LOG                     v4l2 gstv4l2.c:93:gst_v4l2_probe_template_caps: pixelformat: MG2S
0:00:10.653446838  8177 0xaaaac7b94200 DEBUG                   v4l2 gstv4l2object.c:1556:gst_v4l2_object_v4l2fourcc_to_bare_struct: Unsupported fourcc 0x5332474d MG2S
0:00:10.653556795  8177 0xaaaac7b94200 LOG                     v4l2 gstv4l2.c:92:gst_v4l2_probe_template_caps: description: 'VP8 Frame'
0:00:10.653586253  8177 0xaaaac7b94200 LOG                     v4l2 gstv4l2.c:93:gst_v4l2_probe_template_caps: pixelformat: VP8F
0:00:10.653618919  8177 0xaaaac7b94200 DEBUG                   v4l2 gstv4l2object.c:1556:gst_v4l2_object_v4l2fourcc_to_bare_struct: Unsupported fourcc 0x46385056 VP8F

So we will have to wait until the module provides H264, VP80, and MPG2 pixelformats or until GStreamer learns to use S264, MG2S and VP8F formats.

Share this post


Link to post
Share on other sites

Hi all,

 

I use STB s905x2 with 4GB RAM (meson-g12a-sei510.dtb), but show/recognize only 3.2GB

Welcome to Armbian Bionic with Linux 5.5.0-rc4-aml-g12
Memory usage:  6 % of 3257MB
CPU temp:      40°C
Usage of /:    6% of 28G

              total        used        free      shared  buff/cache   available
Mem:           3.2G        189M        2.8G        7.9M        221M        3.0G
Swap:          1.0G          0B        1.0G

 others work perfect, thanks for great job

Share this post


Link to post
Share on other sites
(edited)
5 hours ago, jerryg said:

hantro_vpu module is a little too barebones

According to the commit log there should be much more, e.g. see here.

Better check with "v4l2-ctl --device=/dev/videoX --all". X has to be replaced by the proper number.

Oh, wait, now you're talking about encoding, whereas before it was about decoding.

Edited by usual user
Recognized switch from decoding to encoding.

Share this post


Link to post
Share on other sites

I was actually looking at both encoding and decoding. For decoding, the kernel state can be found here:

https://github.com/torvalds/linux/blob/v5.5-rc2/drivers/staging/media/hantro/rk3399_vpu_hw.c#L64

Notice the .fourcc is: V4L2_PIX_FMT_MPEG2_SLICE

While GStreamer will expect V4L2_PIX_FMT_MPEG2 (notice the missing _SLICE)

Here: https://github.com/GStreamer/gst-plugins-good/blob/66351255f7491a066ac69c49bf6f3bff6d35cd88/sys/v4l2/gstv4l2object.c#L1413

 

I see similar differences for H264 and VP8 decoding.

 

My guess at this point is that the hantro_vpu driver is providing low-level support for decoding, and that the full decoding that used to be found in the firmware blobs is yet to be submitted. See this thread for other interesting bits: https://forum.armbian.com/topic/4806-the-vpu-driver/

 

Share this post


Link to post
Share on other sites

Interestingly, @Kwiboo's ffmpeg v4l2-request-hwaccel-4.0.4 branch seems to be all about using these new v4l2 features. I will try using that tomorrow. Need to compile his ffmpeg and mpv branches though...

Share this post


Link to post
Share on other sites
(edited)

@jerryg for hantro driver on RK3399 (or RK3328) I would recommend you to try the patches from https://github.com/Kwiboo/linux-rockchip/compare/v4l2-5.4-from-5.5-v5.4...v4l2-5.4-work-in-progress-v5.4, those add support for decoding of field encoded content and adds a hw variant for RK3399 on top of all hantro patches merged for 5.5.

 

For ffmpeg I have two active branches that adds required bits for v4l2 stateless decoding: v4l2-request-hwaccel-4.0.4 (for use with ffmpeg in libreelec/kodi) and v4l2-request-hwaccel-master (for use with ffmpeg master), see https://github.com/FFmpeg/FFmpeg/compare/master...Kwiboo:v4l2-request-hwaccel-master for patches, build ffmpeg with --enable-v4l2-request --enable-libdrm --enable-libudev

I plan on having these ffmpeg branches updated with latest stateless support until it can be upstreamed once the required private kernel headers have moved to uapi.

 

mpv and kodi-gbm should be able to use the hw decoders as long as ffmpeg have been compiled with v4l2 request api enabled.

Edited by Kwiboo

Share this post


Link to post
Share on other sites
On 1/2/2020 at 10:13 AM, Kwiboo said:

v4l2-request-hwaccel-master (for use with ffmpeg master)

That was what I am looking for to see if zero copy will work. But

0001-avutil-add-av_buffer_pool_flush.patch
0002-Add-common-V4L2-request-API-code.patch
0003-Add-V4L2-request-API-mpeg2-hwaccel.patch
0004-Add-V4L2-request-API-h264-hwaccel.patch
0005-Add-V4L2-request-API-hevc-hwaccel.patch
0006-Add-V4L2-request-API-vp8-hwaccel.patch
0007-Add-and-use-private-linux-headers-for-V4L2-request-A.patch
0008-hwcontext_drm-do-not-require-drm-device.patch
0009-avcodec-h264-parse-idr_pic_id.patch
0010-avcodec-h264-parse-ref_pic_marking_size_in_bits-and-.patch
0011-HACK-add-dpb-flags-for-reference-usage-and-field-pic.patch
0012-WIP-v4l2-request-rolling-timestamps.patch

do not apply cleanly against current master:

Spoiler

+ echo 'Patch #100 (0001-avutil-add-av_buffer_pool_flush.patch):'
Patch #100 (0001-avutil-add-av_buffer_pool_flush.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file libavutil/buffer.c
Hunk #1 succeeded at 273 (offset 1 line).
patching file libavutil/buffer.h
+ echo 'Patch #101 (0002-Add-common-V4L2-request-API-code.patch):'
Patch #101 (0002-Add-common-V4L2-request-API-code.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file configure
Hunk #3 succeeded at 1802 (offset 1 line).
Hunk #4 succeeded at 1857 (offset 1 line).
Hunk #5 succeeded at 2895 (offset 4 lines).
Hunk #6 succeeded at 6327 (offset 7 lines).
Hunk #7 succeeded at 6427 (offset 8 lines).
Hunk #8 succeeded at 6512 (offset 8 lines).
patching file libavcodec/Makefile
patching file libavcodec/hwaccel.h
patching file libavcodec/v4l2_request.c
patching file libavcodec/v4l2_request.h
+ echo 'Patch #102 (0003-Add-V4L2-request-API-mpeg2-hwaccel.patch):'
Patch #102 (0003-Add-V4L2-request-API-mpeg2-hwaccel.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file configure
Hunk #1 succeeded at 2955 (offset 4 lines).
Hunk #2 succeeded at 6515 (offset 8 lines).
patching file libavcodec/Makefile
patching file libavcodec/hwaccels.h
patching file libavcodec/mpeg12dec.c
Hunk #2 succeeded at 2950 (offset -1 lines).
patching file libavcodec/v4l2_request_mpeg2.c
+ echo 'Patch #103 (0004-Add-V4L2-request-API-h264-hwaccel.patch):'
Patch #103 (0004-Add-V4L2-request-API-h264-hwaccel.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file configure
Hunk #1 succeeded at 2913 (offset 4 lines).
Hunk #2 succeeded at 6517 (offset 8 lines).
patching file libavcodec/Makefile
patching file libavcodec/h264_slice.c
patching file libavcodec/h264dec.c
patching file libavcodec/hwaccels.h
patching file libavcodec/v4l2_request_h264.c
+ echo 'Patch #104 (0005-Add-V4L2-request-API-hevc-hwaccel.patch):'
Patch #104 (0005-Add-V4L2-request-API-hevc-hwaccel.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file configure
Hunk #1 succeeded at 2929 (offset 4 lines).
Hunk #2 succeeded at 6520 (offset 8 lines).
patching file libavcodec/Makefile
patching file libavcodec/hevcdec.c
Hunk #4 succeeded at 3606 (offset 7 lines).
patching file libavcodec/hwaccels.h
patching file libavcodec/v4l2_request_hevc.c
+ echo 'Patch #105 (0006-Add-V4L2-request-API-vp8-hwaccel.patch):'
Patch #105 (0006-Add-V4L2-request-API-vp8-hwaccel.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file configure
Hunk #1 succeeded at 2993 (offset 4 lines).
Hunk #2 succeeded at 6524 (offset 8 lines).
patching file libavcodec/Makefile
patching file libavcodec/hwaccels.h
patching file libavcodec/v4l2_request_vp8.c
patching file libavcodec/vp8.c
+ echo 'Patch #106 (0007-Add-and-use-private-linux-headers-for-V4L2-request-A.patch):'
Patch #106 (0007-Add-and-use-private-linux-headers-for-V4L2-request-A.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file configure
Hunk #1 succeeded at 2913 (offset 4 lines).
Hunk #2 succeeded at 2929 (offset 4 lines).
Hunk #3 succeeded at 2993 (offset 4 lines).

patching file libavcodec/h264-ctrls.h
patching file libavcodec/hevc-ctrls.h
patching file libavcodec/mpeg2-ctrls.h
patching file libavcodec/v4l2_request_h264.c
patching file libavcodec/v4l2_request_hevc.c
patching file libavcodec/v4l2_request_mpeg2.c
patching file libavcodec/v4l2_request_vp8.c
patching file libavcodec/vp8-ctrls.h
+ echo 'Patch #107 (0008-hwcontext_drm-do-not-require-drm-device.patch):'
Patch #107 (0008-hwcontext_drm-do-not-require-drm-device.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file libavutil/hwcontext_drm.c
+ echo 'Patch #108 (0009-avcodec-h264-parse-idr_pic_id.patch):'
Patch #108 (0009-avcodec-h264-parse-idr_pic_id.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file libavcodec/h264_slice.c
patching file libavcodec/h264dec.h
patching file libavcodec/v4l2_request_h264.c
+ echo 'Patch #109 (0010-avcodec-h264-parse-ref_pic_marking_size_in_bits-and-.patch):'
Patch #109 (0010-avcodec-h264-parse-ref_pic_marking_size_in_bits-and-.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file libavcodec/h264_slice.c
patching file libavcodec/h264dec.h
patching file libavcodec/v4l2_request_h264.c
+ echo 'Patch #110 (0011-HACK-add-dpb-flags-for-reference-usage-and-field-pic.patch):'
Patch #110 (0011-HACK-add-dpb-flags-for-reference-usage-and-field-pic.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file libavcodec/h264-ctrls.h
patching file libavcodec/v4l2_request_h264.c
+ echo 'Patch #111 (0012-WIP-v4l2-request-rolling-timestamps.patch):'
Patch #111 (0012-WIP-v4l2-request-rolling-timestamps.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
patching file libavcodec/v4l2_request.c
patching file libavcodec/v4l2_request.h

and the build fails later on with an error. I guess at least a rebase is required.

Oh, by the way, it is "--enable-libudev". "--enable-udev" fails as unknown.

Share this post


Link to post
Share on other sites

@usual user thanks, I have updated the ffmpeg branch and updated my post to reflect the correct --enable-libudev

 

https://github.com/FFmpeg/FFmpeg/compare/master...Kwiboo:v4l2-request-hwaccel-master.patch should apply clean on latest FFmpeg master,

there may be some v4l2 commits in v5.5 that may be required for the ffmpeg branch to compile on linux v5.4, I forgot about them.

 

https://github.com/LibreELEC/LibreELEC.tv/blob/master/projects/Allwinner/patches/linux/0001-backport-from-5.5.patch or

https://github.com/LibreELEC/LibreELEC.tv/blob/master/projects/Rockchip/patches/linux/default/linux-0011-v4l2-from-5.5.patch

should contain the patches needed for build on v5.4, the Allwinner patch is less intrusive, for Rockchip I picked every possible related v4l2 patch.

Share this post


Link to post
Share on other sites
On 12/30/2019 at 1:22 PM, balbes150 said:

Added kernel-5.5-s9xx version for s905 s905x s912 with HDMI. The sound doesn't work in this version.

Maybe, you have to change the name of the card in the g12_sound.sh script.

On a x96 max, I had to change the name to card=G12AX96MAX.

A command like aplay -l can help.

g12_sound.sh

Share this post


Link to post
Share on other sites

Armbian_19.11.4_Arm-64_buster_current_5.4.1_20191228.img on KM8 P

 

Boots fine, installs to eMMC fine, two issues:

 

1) No HDMI sound (haven't tried analog) and no pulseaudio to delete. Running the script does nothing. speaker-test runs but no sound, and it cannot see AMLGX or AMLG12 as device names.

2) The BOOT partition is extremely crammed for space - there is no room for update-initramfs to create a backup copy.

 

On another note: I made the grave mistake of buying the H96 Mini H6 which is (as you can guess) Allwinner H6 based. If there is anything Armbian wise i can test on it, let me know.

 

 

Share this post


Link to post
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...
49 49