Differences

This shows you the differences between two versions of the page.

Link to this comparison view

odroid-c4:os_images:ubuntu:minimal:20210906 [2021/09/09 00:12] (current)
mdrjr created
Line 1: Line 1:
 +====== Release Note of Ubuntu Minimal 20.04.3 LTS (v1.4) =====
 +----
 +===== Summary =====
 +|| Release Date | 2021-09-06 ||
 +|| Release Type | Update ||
  
 +File name : ubuntu-20.04-4.9-minimal-odroid-**<​color #​ed1c24>​c4-hc4</​color>​**-20210906.img.xz
 +
 +===== Download from below servers =====
 +  * Official US West Coast: [[http://​odroid.in/​ubuntu_20.04lts]]
 +  * Official US East Coast: [[http://​east.us.odroid.in/​ubuntu_20.04lts]]
 +  * Official EU Germany: [[http://​de.eu.odroid.in/?​directory=.%2Fubuntu_20.04lts%2F]]
 +  * Official Korea/Asia Mirror: [[https://​dn.odroid.com/​S905X3/​ODROID-C4/​Ubuntu/​]]
 +
 +===== Features =====
 +  * Support for ODROID-HC4
 +  * The latest Ubuntu 20.04.3
 +  * libsdl2 (2.0.10) with Mali GPU support
 +  * Mali GPU driver for framebuffer(fbdev):​ %%OpenGL%%-ES 1.1, 2.0, 3.0, 3.1 and 3.2 with %%OpenCL%%-1.2 and 2.0.
 +  * A lot of [[https://​github.com/​hardkernel/​linux/​commits/​odroidg12-4.9.y|Kernel patches]]
 +<WRAP round important>​
 +  The RootFS Auto-resize feature has changed!!! ​
 +  No need for power cycling, resize will happen on background in the first booting process.
 +</​WRAP>​
 +
 +===== Known issues and Tips=====
 +  * Tons of issues undocumented. :-x
 +  * 4K video playback is problematic due to audio issues.
 +  * [[odroid-c4:​troubleshooting:​overclocking|How to Overclock and Underclock]]
 +
 +===== Access Credentials =====
 +|| Username || Password ||
 +|| root || odroid || 
 +
 +===== PPSSPP =====
 +  * Install PPSSPP for PSP emulation to test the OpenGL-ES2 performance,​ source code will be on the same folder: <code bash target>
 +/​root/​install_ppsspp.sh
 +cd /​root/​ppsspp
 +./PPSSPPSDL
 +</​code>​
 +
 +===== glmark2-es2-fbdev =====
 +   * A slightly modified version was required to work
 +   * Source code is on /​root/​glmark2-es2-fbdev-master
 +   * You can launch it running: <code bash target>​glmark2-es2-fbdev</​code>​
 +
 +===== OpenCL configuration =====
 +  * Run the following commands to start an %%OpenCL%% programming.
 +<code bash target>
 +sudo apt purge mali-fbdev
 +sudo apt install clinfo ocl-icd-libopencl1
 +cd ~
 +apt download mali-fbdev
 +ar -xv mali-fbdev_*
 +tar -xvf data.tar.xz ​
 +rm usr/​lib/​aarch64-linux-gnu/​libOpenCL.so*
 +sudo cp -r usr/* /usr/
 +mkdir -p /​etc/​OpenCL/​vendors/​
 +echo libmali.so | sudo tee /​etc/​OpenCL/​vendors/​mali.icd
 +rm ~/​control.tar.xz ~/​data.tar.xz ~/​debian-binary ~/​mali-fbdev_0.1-2_arm64.deb
 +rm -r ~/etc ~/usr
 +</​code>​
 +
 +<code bash target>
 +root@odroid:​~#​ clinfo ​  
 +                                                                     
 +Number of platforms ​                              1
 +  Platform Name                                   ARM Platform
 +  Platform Vendor ​                                ARM
 +  Platform Version ​                               OpenCL 2.0 git.c8adbf9.ad00b04c1b60847de257177231dc1a53
 +  Platform Profile ​                               FULL_PROFILE
 +  Platform Extensions ​                            ​cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp16 cl_khr_icd cl_khr_egl_image cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_create_command_queue cl_arm_core_id cl_arm_printf cl_arm_thread_limit_hint cl_arm_non_uniform_work_group_size cl_arm_import_memory cl_arm_shared_virtual_memory
 +  Platform Extensions function suffix ​            ARM
 +
 +  Platform Name                                   ARM Platform
 +Number of devices ​                                1
 +  Device Name                                     ​Mali-G31
 +  Device Vendor ​                                  ARM
 +  Device Vendor ID                                0x70930000
 +  Device Version ​                                 OpenCL 2.0 git.c8adbf9.ad00b04c1b60847de257177231dc1a53
 +  Driver Version ​                                 2.0
 +  Device OpenCL C Version ​                        ​OpenCL C 2.0 git.c8adbf9.ad00b04c1b60847de257177231dc1a53
 +  Device Type                                     GPU
 +  Device Profile ​                                 FULL_PROFILE
 +  Device Available ​                               Yes
 +  Compiler Available ​                             Yes
 +  Linker Available ​                               Yes
 +  Max compute units                               1
 +  Max clock frequency ​                            ​750MHz
 +  Device Partition ​                               (core)
 +    Max number of sub-devices ​                    0
 +    Supported partition types                     None
 +    Supported affinity domains ​                   (n/a)
 +  Max work item dimensions ​                       3
 +  Max work item sizes                             ​256x256x256
 +  Max work group size                             256
 +  Preferred work group size multiple ​             4
 +  Preferred / native vector sizes                 
 +    char                                                16 / 4       
 +    short                                                8 / 2       
 +    int                                                  4 / 1       
 +    long                                                 2 / 1       
 +    half                                                 8 / 2        (cl_khr_fp16)
 +    float                                                4 / 1       
 +    double ​                                              0 / 0        (n/a)
 +  Half-precision Floating-point support ​          ​(cl_khr_fp16)
 +    Denormals ​                                    Yes
 +    Infinity and NANs                             Yes
 +    Round to nearest ​                             Yes
 +    Round to zero                                 Yes
 +    Round to infinity ​                            Yes
 +    IEEE754-2008 fused multiply-add ​              Yes
 +    Support is emulated in software ​              No
 +  Single-precision Floating-point support ​        ​(core)
 +    Denormals ​                                    Yes
 +    Infinity and NANs                             Yes
 +    Round to nearest ​                             Yes
 +    Round to zero                                 Yes
 +    Round to infinity ​                            Yes
 +    IEEE754-2008 fused multiply-add ​              Yes
 +    Support is emulated in software ​              No
 +    Correctly-rounded divide and sqrt operations ​ No
 +  Double-precision Floating-point support ​        (n/a)
 +  Address bits                                    64, Little-Endian
 +  Global memory size                              3886776320 (3.62GiB)
 +  Error Correction support ​                       No
 +  Max memory allocation ​                          ​971694080 (926.7MiB)
 +  Unified memory for Host and Device ​             Yes
 +  Shared Virtual Memory (SVM) capabilities ​       (core)
 +    Coarse-grained buffer sharing ​                Yes
 +    Fine-grained buffer sharing ​                  No
 +    Fine-grained system sharing ​                  No
 +    Atomics ​                                      No
 +  Shared Virtual Memory (SVM) capabilities (ARM)  ​
 +    Coarse-grained buffer sharing ​                Yes
 +    Fine-grained buffer sharing ​                  No
 +    Fine-grained system sharing ​                  No
 +    Atomics ​                                      No
 +  Minimum alignment for any data type             128 bytes
 +  Alignment of base address ​                      1024 bits (128 bytes)
 +  Preferred alignment for atomics ​                
 +    SVM                                           0 bytes
 +    Global ​                                       0 bytes
 +    Local                                         0 bytes
 +  Max size for global variable ​                   65536 (64KiB)
 +  Preferred total size of global vars             0
 +  Global Memory cache type                        Read/Write
 +  Global Memory cache size                        65536 (64KiB)
 +  Global Memory cache line size                   64 bytes
 +  Image support ​                                  Yes
 +    Max number of samplers per kernel ​            16
 +    Max size for 1D images from buffer ​           65536 pixels
 +    Max 1D or 2D image array size                 2048 images
 +    Base address alignment for 2D image buffers ​  32 bytes
 +    Pitch alignment for 2D image buffers ​         64 pixels
 +    Max 2D image size                             ​65536x65536 pixels
 +    Max 3D image size                             ​65536x65536x65536 pixels
 +    Max number of read image args                 128
 +    Max number of write image args                64
 +    Max number of read/write image args           64
 +  Max number of pipe args                         16
 +  Max active pipe reservations ​                   1
 +  Max pipe packet size                            1024
 +  Local memory type                               ​Global
 +  Local memory size                               32768 (32KiB)
 +  Max number of constant args                     8
 +  Max constant buffer size                        65536 (64KiB)
 +  Max size of kernel argument ​                    1024
 +  Queue properties (on host)                      ​
 +    Out-of-order execution ​                       Yes
 +    Profiling ​                                    Yes
 +  Queue properties (on device) ​                   ​
 +    Out-of-order execution ​                       Yes
 +    Profiling ​                                    Yes
 +    Preferred size                                2097152 (2MiB)
 +    Max size                                      16777216 (16MiB)
 +  Max queues on device ​                           1
 +  Max events on device ​                           1024
 +  Prefer user sync for interop ​                   No
 +  Profiling timer resolution ​                     1000ns
 +  Execution capabilities ​                         ​
 +    Run OpenCL kernels ​                           Yes
 +    Run native kernels ​                           No
 +  printf() buffer size                            1048576 (1024KiB)
 +  Built-in kernels ​                               (n/a)
 +  Device Extensions ​                              ​cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp16 cl_khr_icd cl_khr_egl_image cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_create_command_queue cl_arm_core_id cl_arm_printf cl_arm_thread_limit_hint cl_arm_non_uniform_work_group_size cl_arm_import_memory cl_arm_shared_virtual_memory
 +
 +NULL platform behavior
 +  clGetPlatformInfo(NULL,​ CL_PLATFORM_NAME,​ ...)  ARM Platform
 +  clGetDeviceIDs(NULL,​ CL_DEVICE_TYPE_ALL,​ ...)   ​Success [ARM]
 +  clCreateContext(NULL,​ ...) [default] ​           Success [ARM]
 +  clCreateContextFromType(NULL,​ CL_DEVICE_TYPE_DEFAULT) ​ Success (1)
 +    Platform Name                                 ARM Platform
 +    Device Name                                   ​Mali-G31
 +  clCreateContextFromType(NULL,​ CL_DEVICE_TYPE_CPU) ​ No devices found in platform
 +  clCreateContextFromType(NULL,​ CL_DEVICE_TYPE_GPU) ​ Success (1)
 +    Platform Name                                 ARM Platform
 +    Device Name                                   ​Mali-G31
 +  clCreateContextFromType(NULL,​ CL_DEVICE_TYPE_ACCELERATOR) ​ No devices found in platform
 +  clCreateContextFromType(NULL,​ CL_DEVICE_TYPE_CUSTOM) ​ No devices found in platform
 +  clCreateContextFromType(NULL,​ CL_DEVICE_TYPE_ALL) ​ Success (1)
 +    Platform Name                                 ARM Platform
 +    Device Name                                   ​Mali-G31
 +
 +ICD loader properties
 +  ICD loader Name                                 ​OpenCL ICD Loader
 +  ICD loader Vendor ​                              OCL Icd free software
 +  ICD loader Version ​                             2.2.11
 +  ICD loader Profile ​                             OpenCL 2.1                              ​
 +</​code>​
 +
 +===== Video Playback =====
 +**<fs medium>​Hardware accelerated 4K video playback is possible using two players below.</​fs>​**\\
 +\\
 +**1. c2play**\\
 +   * Start playback<​code bash target>​./​c2play --help
 +./c2play [Filename]
 +</​code>​
 +**2. kplayer**\\
 +   * kplayer usage: <code bash target>
 +kplayer filename</​code>​
 +
 +===== boot.ini =====
 +   * [[https://​github.com/​mdrjr/​c4_bootini|Available here]] ​
 +
 +===== Kernel build (native) =====
 +   * [[https://​wiki.odroid.com/​odroid-n2/​software/​building_kernel#​native_compile_-_odroid-n2ubuntu|Native Kernel build Guide]]
 +
 +===== How to Update system and kernel software =====
 +<code bash target>
 +sudo apt update
 +sudo apt full-upgrade
 +sudo reboot
 +</​code>​