Cloud Phone
How to Configure the Encoding Card Type?
- Change the value of the ENCODECARD variable in the cfct_config file.The options of the variable are as follows:
- 0: NETINT encoding card
- 1: Quadra encoding card
- 2: Vastai encoding card
- 3: CPU (software encoding)
- After changing the encoding card type, confirm the following information:
- For the NETINT encoding card, verify that the chip nodes in the NETINT0 and NETINT1 variables are correctly set.

- For the Vastai encoding card, verify the HANBO_ENCODERS variable value.

- For the NETINT encoding card, verify that the chip nodes in the NETINT0 and NETINT1 variables are correctly set.
- In the default.prop file, modify the encoding card type and encoding mode as required.
cp DemoVideoEngine/vendor/default.prop ./

- After the modification, restart the container.
How to Create a Video Stream Image?
- Create a Kbox image.
Obtain the dependency component android.tar of the Kbox container from a specified path, and run the following commands to create a Kbox image and view Docker images:
docker import android.tar kbox:latest docker images
The image is created successfully if information similar to the following is displayed:
1 2
REPOSITORY TAG IMAGE ID CREATED SIZE kbox latest 9073b3bb886f 6 seconds ago 1.49GB
- Create a video stream image.
Obtain the DemoVideoEngine.tar.gz and NETINT.tar.gz dependency components from a specified path and save them to the same directory.
- Extract the Dockerfile and image build script from DemoVideoEngine.tar.gz and grant the execute permission.
tar -xvf DemoVideoEngine.tar.gz Dockerfile make_image.sh chmod +x Dockerfile make_image.sh
- Use the Kbox image as the base image to create a video stream image.
./make_image.sh kbox:latest video:latest
- View images.
docker images
The image is created successfully if information similar to the following is displayed:
1 2
REPOSITORY TAG IMAGE ID CREATED SIZE video latest 5ef9ad43e8ac 30 minutes ago 2.31GB
- Extract the Dockerfile and image build script from DemoVideoEngine.tar.gz and grant the execute permission.
How to Specify the Storage Path of the Cloud Phone Data Volume?
Change the value of the USERDATA variable in the cfct_config file to a desired storage path. The following figure shows the default value /home/mount of the variable. You can change it as required.

How to Configure a Test to Use Only 3 GPUs?
- If only two GPUs are required, you can change the value of the VIDEO_GPU_MAP_AMD2 variable in the cfct_config file, as shown in the following figure:

- If three or more GPUs are required, you can change the value of the VIDEO_GPU_MAP_AMD1 variable in the cfct_config file, as shown in the following figure:

Fill in the information according to the test requirements.
For example, if four AMD GPUs are inserted into the server and the first three need to be tested, the configuration is as follows:

How to Modify the CPU Core Binding Mode of a Cloud Phone?
Currently, cloud phones support two core binding modes: NUMA nodes and CPU cores.
You can change the value of the CPU_BIND_MODE variable in the cfct_config file to change the CPU core binding mode. The options of the variable are as follows:
- 0: CPU core binding
- 1: NUMA node binding


You can change CPU cores allocated to each container by changing the values of MODE0_CPU0, MODE0_CPU1, MODE0_CPU2...
For example, if you change ["2,3" "4,5" ...] to ["2,3,4,5" "6,7,8,9" ...], four CPU cores are allocated to each container.
How to Change the Memory, Storage Space, Frame Rate, and Resolution of a Cloud Phone?
You can change such configurations of a cloud phone by changing Table 1 in the cfct_config file.
The screen width, height, and density of the cloud phone must match each other. The matching rules are as follows: 720p (720 1280 320) and 1080p (1080 1920 480).
|
Parameter |
Description |
Default Value |
|---|---|---|
|
RAM_SIZE_GB |
Memory space size of the cloud phone. Unit: GB |
6 |
|
STORAGE_SIZE_GB |
Storage space size of the cloud phone. Unit: GB |
16 |
|
BUILD_WIDTH |
Cloud phone screen width. |
720 |
|
BUILD_HEIGHT |
Cloud phone screen height. |
1280 |
|
BUILD_DENSITY |
Cloud phone screen density. |
320 |
|
BUILD_FPS |
Cloud phone screen frame rate. |
30 |
Does the Kbox Cloud Phone Container Support ExaGear?
ExaGear has two versions: x86-to-Arm64 and Arm32-to-Arm64. The Kbox cloud phone container integrates the Arm32-to-Arm64 version.
What Processor Models Does the Kbox Cloud Phone Container Support and How to Configure?
The Kbox cloud phone container supports Kunpeng 920 7260Y/7265/7260. The following table lists the recommended basic cloud phone specifications and hardware configurations.
|
Item |
Description |
|---|---|
|
Scenario |
Mobile office/Hosting |
|
CPU core binding policy |
2 containers/2 cores |
|
Number of cores |
2 |
|
Memory |
6 GB |
|
Storage |
16 GB |
|
Resolution |
1280 x 720 |
|
Item |
Parameter |
|||
|---|---|---|---|---|
|
CPU |
2 x Kunpeng 920 7260Y processor, 64 cores@2.6 GHz |
|||
|
Memory |
16 x DDR4 RDIMM-32 GB-2933 MT/s |
|||
|
Drive |
System drive |
ES3521A V6 SSD, 1920 GB SATA, 6 Gbit/s, read-intensive |
||
|
Data drive |
2 x ES3521A V6 SSD, 1920 GB SATA, 6 Gbit/s, read-intensive |
|||
|
NIC |
Onboard |
1 x (4 x GE interface card) 1 x TM280 flexible LOM, 25GE/10GE optical port, 4 ports, SFP28 (without optical modules) |
||
|
External |
1 x Mellanox NIC (optional) |
|||
|
Riser card |
2 x x16 slot (PCIe x16) + x16 slot (PCIe x8)-riser 1&2 modules + 1 x x16 slot (PCIe x16) |
|||
|
Encoding card |
2 x NETINT T432 |
|||
|
GPU |
2 x W6800 |
|||
|
Item |
Description |
|---|---|
|
Scenario |
Mobile office/Hosting |
|
CPU core binding policy |
2 containers/3 cores |
|
Number of cores |
2 |
|
Memory |
6 GB |
|
Storage |
16 GB |
|
Resolution |
1280 x 720 |
|
Item |
Parameter |
||
|---|---|---|---|
|
CPU |
2 x Kunpeng 920 7256, 64 cores@3.0 GHz |
||
|
Memory |
16 x DDR4 RDIMM-32 GB-2933 MT/s |
||
|
Drive |
System drive |
ES3521A V6 SSD, 1920 GB SATA, 6 Gbit/s, read-intensive |
|
|
Data drive |
2 x ES3521A V6 SSD, 1920 GB SATA, 6 Gbit/s, read-intensive |
||
|
NIC |
Onboard |
1 x (4 x GE interface card) 1 x TM280 flexible LOM, 25GE/10GE optical port, 4 ports, SFP28 (without optical modules) |
|
|
External |
1 x Mellanox NIC (optional) |
||
|
Riser card |
2 x x16 slot (PCIe x16) + x16 slot (PCIe x8), riser 1&2 modules |
||
|
Encoding card |
2 x NETINT T432 |
||
|
GPU |
2 x W6800 |
||
|
Item |
Parameter |
|||
|---|---|---|---|---|
|
CPU |
2 x Kunpeng 920 7260 processor, 64 cores@2.6 GHz |
|||
|
Memory |
16 x DDR4 RDIMM-32 GB-2933 MT/s |
|||
|
Drive |
System drive |
ES3521A V6 SSD, 1920 GB SATA, 6 Gbit/s, read-intensive |
||
|
Data drive |
2 x ES3521A V6 SSD, 1920 GB SATA, 6 Gbit/s, read-intensive |
|||
|
NIC |
Onboard |
1 x (4 x GE interface card) 1 x TM280 flexible LOM, 25GE/10GE optical port, 4 ports, SFP28 (without optical modules) |
||
|
External |
1 x Mellanox NIC (optional) |
|||
|
Riser card |
2 x x16 slot (PCIe x16) + x16 slot (PCIe x8), riser 1&2 modules |
|||
|
Encoding card |
2 x NETINT T432 |
|||
|
GPU |
2 x W6800 |
|||
How to Obtain the Android Emulator Solution's Documentation?
The original Android emulator and Robox container solutions are adapted based on Ubuntu 18.04 which is incompatible with Kunpeng hardware. Therefore, the corresponding documents have been brought offline. You are advised to use the Kbox cloud phone container solution.
What Are the Rules for Comparing NETINT Firmware Versions?
Run the nvme list command on the host. The FW Rev column in the command output indicates the encoding card firmware versions. Higher numbers and later letters represent a newer version.
1 2 3 4 5 6 7 8 9 10 |
Node SN Model Namespace Usage Format FW Rev ------------- -------------------- ---------------- --------- ------------------------ ---------------- -------- /dev/nvme0n1 TA23-09-03-C76-0242A T432-8 Massif8 1 536.87 GB / 536.87 GB 512 B + 0 B 333X2017 /dev/nvme1n1 TA23-09-03-C76-0242B T432-8 Massif8 1 536.87 GB / 536.87 GB 512 B + 0 B 333X2017 /dev/nvme2n1 TA23-09-03-C76-0242C T432-8 Massif8 1 536.87 GB / 536.87 GB 512 B + 0 B 333X2017 /dev/nvme3n1 TA23-09-03-C76-0242D T432-8 Massif8 1 536.87 GB / 536.87 GB 512 B + 0 B 333X2017 /dev/nvme5n1 TA23-09-03-C76-0622A T432-8 Massif8 1 536.87 GB / 536.87 GB 512 B + 0 B 333X2017 /dev/nvme6n1 TA23-09-03-C76-0622B T432-8 Massif8 1 536.87 GB / 536.87 GB 512 B + 0 B 333X2017 /dev/nvme7n1 TA23-09-03-C76-0622C T432-8 Massif8 1 536.87 GB / 536.87 GB 512 B + 0 B 333X2017 /dev/nvme8n1 TA23-09-03-C76-0622D T432-8 Massif8 1 536.87 GB / 536.87 GB 512 B + 0 B 333X2017 |
How to Obtain the Kbox Demo Image Provided by Huawei?
You can obtain the image from here.
The official Kbox demo image provided by the Huawei mirror site does not contain the Android Kbox binary and cannot start containers. You need to download the Android Kbox binary to the local host and use the script to create an original Kbox image that can start containers properly. After mounting the original Kbox image, create a new Kbox image that integrates the NETINT codec library if hardware decoding is required. For details, see Mounting an Android Image in section "Starting and Uninstalling a Cloud Phone Instance" in the Kbox Cloud Phone Container Feature Guide.
Does the Kbox Cloud Phone Container Environment Require GPUs?
GPUs are required for deploying Kbox cloud phone containers. For details about the GPU specifications, see Hardware Environment in section "Software Deployment" in the Kbox Cloud Phone Container Feature Guide.
Can I Rent Arm Servers on Huawei Cloud to Deploy Kbox Cloud Phone Containers?
- If Huawei Cloud has a cloud phone solution that meets your requirements, you can directly rent ECSs on Huawei Cloud.
- If not, you need purchase Kunpeng hardware to deploy Kbox cloud phone containers. For details about how to purchase hardware, contact your local Kunpeng innovation center.
Which File in the ExaGear Package Is Used to Convert Mixed Arm32/Arm64 to Pure Arm64?
The ExaGear transcoding package contains three binary files: preubt_a32a64_a64, preubt_a32a64_x64, and ubt_a32a64. The latter is used to convert mixed Arm32/Arm64 to pure Arm64.
