===================== Using Ubuntu on Genio ===================== This page covers nuances when using Ubuntu on Genio. .. contents:: Topics :local: Limitations of Ubuntu on Genio Platform ======================================= The following are the limitations of Ubuntu Desktop on the Genio platform: * The Genio platform only supports **OpenGL ES**. Therefore, desktop programs depending on the **OpenGL** API are not supported. * Native support for X11 and glx is not available. Instead, X11 applications are supported through the XWayland framework. This may lead to compatibility issues due to Wayland restrictions * Currently, video hardware acceleration on the Genio platform is provided by the GStreamer framework and the V4L2 (Video4Linux 2) subsystem. Consequently, applications that depend on VAAPI cannot utilize hardware video acceleration. * Ubuntu on Genio does not provide support for the integrated ISP (Image Signal Processor) in Genio SoCs, and lacks support for MIPI-CSI sensor interfaces. Default Login Name ================== You may login to UART (``ttyS0``) console .. code-block:: text Ubuntu 22.04.2 LTS mtk-genio ttyS0 mtk-genio login: The default user name and password are both ``ubuntu``. If the system asks you to change the default password, follow the prompted instructions to change the password. Cloud Init ========== During the first boot, ``Cloud-init`` will create the account and initialize the system. Please stay tuned. It may take a few minutes to finish the initialization. Use the following command to make sure ``clooud-init`` has been completed: .. prompt:: bash cloud-init status --wait Package Update ============== After cloud init, update the package index with: .. prompt:: bash sudo apt update In addition, if you'd like to enable hardware video codec and AI/ML accelerators, please follow the steps in :doc:`bsp-installation`. Set Ethernet MAC Address Temporarily ==================================== You can use the following commands to **temporarily** override the on-board ethernet port's MAC address: .. prompt:: bash $ auto $ sudo ifconfig eth0 down # Replace 00:55:7b:b5:7d:f7 to your own unique MAC address $ sudo ip link set dev eth0 address 00:55:7b:b5:7d:f7 $ sudo ifconfig eth0 up # Check if the MAC address has been properly updated $ ifconfig Please note that this is a temporary setting and will be cleared after reboot. Set Ethernet MAC Address from Boot Firmware =========================================== If you need to change the MAC address stored in boot firmware, modify the boot firmware file ``u-boot-initial-env`` and add the following line: .. code-block:: text ethaddr=00:55:7b:b5:7d:f7 Please change the MAC address ``00:55:7b:b5:7d:f7`` to a unique MAC address that is allowed in your local area network, and update the U-boot environment partition with ``genio-flash``: .. prompt:: genio-flash mmc0boot1 The command writes the ``mmc0boot1`` partition, which stores U-Boot environment variables of boot firmware. It keeps other partitions intact. The boot firmware would override the MAC address assigned in the device tree binary when booting into Linux kernel. UART Terminal Console Size ========================== You may find that the ``ttyS0`` console window size is incorrect, resulting in strange line-breaking and page-scrolling behavior. To remedy this you could install the ``xterm`` package: .. prompt:: sudo apt install xterm and run ``resize`` command every time you change the UART console's window size in your host PC terminal application: .. prompt:: resize Display Device Configuration ============================ All Genio EVK boards are configured to output to the onboard **DSI panel** by default. In addition, * Genio 700 EVK, Genio 510 EVK, and Genio 1200 EVK support HDMI external monitor by default. * Genio 700 EVK, Genio 510 EVK, and Genio 1200 EVK disables DPoC (DisplayPort over USB Type-C) by default. * Genio 350 EVK disables HDMI output by default. The onboard Ethernet port is mutually exclusive to the HDMI port. Each EVK have alternative display output configurations and can be changed by loading different DTBO(device tree blob for overlay) files in the U-Boot environment. For example, to use DPoC output and disable HDMI & DSI output on Genio 1200 EVK, modify the boot firmware file ``u-boot-initial-env`` and modify the following line: .. code-block:: text list_dtbo= gpu-mali.dtbo video.dtbo apusys.dtbo and append dtbo file name ``display-dp.dtbo`` to the line: .. code-block:: text list_dtbo= gpu-mali.dtbo video.dtbo apusys.dtbo display-dp.dtbo Save the file, and then run ``genio-flash`` on you host PC: .. prompt:: genio-flash If you need the list of default dtbo files, please refer to :doc:`customization/dtbo-config`. The file ``u-boot-initial-env`` is converted to a binary file ``u-boot-env.bin`` by ``genio-flash`` tool and write to the ``mmc0boot1`` hardware partition. Note that the U-boot environment variables in ``mmc0boot1`` partition are file paths that reference the actual device tree binaries stored in another partition, ``firmware``. The ``firmware`` partition content is stored in the partition image file ``firmware.vfat`` and it is a FAT32 file system, as described in the :ref:`partition-layout` section. Therefore, if you need to read or replace the actual device tree binary files, you can mount the ``firmware.vfat`` partition image in each boot firmware package by following the steps :ref:`here `.