图形化桌面

注意事项

图形化桌面会修改DTB中的“hi1910B-vdp.dtsi”和对应的dts文件,所以使能图形化桌面后,会导致Demo参考1Demo参考2的功能不可用。

前提条件

操作步骤

  1. 登录准备环境所搭建Linux服务器。
  2. 执行如下命令,切换至root用户。

    su - root

  3. 使用WinSCP工具或其他工具,将下载软件包获取的源码包“Ascend310B-source tar.gz”上传至root用户属组目录下,例如“/opt”。工具使用方法请参见使用WinSCP传输文件
  4. 执行如下命令,进入源码包所在目录“/opt”。

    cd /opt

  5. 执行如下命令,解压源码包“Ascend310B-source.tar.gz”。

    tar -xzvf Ascend310B-source.tar.gz

  6. 修改dts文件。按照整机环境配置对应的dts文件,参见DTB文件中的表格。以下以“hi1910B-asic-M100-B51.dts”文件为例进行修改。

    1. 执行如下命令,进入配置文件所在目录。

      cd Ascend310B-source/dtb/dts/hi1910b/hi1910BL

    1. 执行如下命令,打开“hi1910B-asic-M100-B51.dts”文件。

      vim hi1910B-asic-M100-B51.dts

    2. 将/include/"base/hi1910B-vdp.dtsi"修改为/include/"base/hi1910B-drm.dtsi"。
    3. 修改“hi1910B-asic-M100-B51.dts”的“bootargs”。
      修改“console”“cma”“rootfstype”参数的值,如下代码加粗字体所示(在原有基础上修改,不可全部复制替换)。如没有对应参数,请按照如下加粗字体新增即可。
      bootargs = "console=ttyAMA0,115200 console=tty1 log_redirect=0x1fc000@0x22741000 root=/dev/mmcblk0p2 rw rdinit=/sbin/init rodata=off syslog earlycon=pl011,mmio32,0xC4010000 initrd=0x2BA00000,300M rootwait mpam=of enable_ascend_share_pool ascend_enable_all enable_sp_multi_group_mode init_all_gicr enable_fpga no_console_suspend fbcon=map:6 cma=256M rootfstype=ext4 selinux=0";
    4. 配置完成后,按“Esc”键,再执行:wq!保存修改,并按“Enter”键退出。
    5. 执行如下命令,返回“Ascend310B-source”目录。

      cd /opt/Ascend310B-source

  7. 执行如下命令,编译DTB文件。

    bash build.sh dtb

    出现如下回显,且生成“dt.img”文件表示编译内核DTB文件成功。

    generate /opt/Ascend310B-source/output/dt.img success! 
    sign /opt/Ascend310B-source/output/dt.img success!

    编译后的dt.img文件会自动存放于“Ascend310B-source/output”目录下。

  8. 生效DTB文件,参见生效DTB文件
  9. 登录整机(整机已有NPU驱动),找到驱动安装目录。

    • Ubuntu的驱动安装目录:/usr/lib/aarch64-linux-gnu/
    • openEuler的驱动安装目录:/usr/lib64/

    在驱动安装目录下查找libdrm.so.2.4.0,将其放在整机的“/usr/lib64”目录下后更名为“libdrm.so.2”。

  10. 登录整机环境,执行如下命令,切换至root用户。

    su - root

  11. 插入图形化桌面驱动(每次重启后需要重新插入驱动)。

    1. 执行如下命令,插入驱动。

      insmod /var/davinci/driver/ascend_vdp_drm.ko

    2. 每次重新插入后,执行如下命令,查看dri下是否存在by-path和card0文件。若不存在需重新插入驱动。

      ls /dev/dri/

  12. 安装桌面管理环境。

    用户可选择其他安装方式,以下以开源Gnome桌面插件为例,进行安装。

    • Ubuntu 22.04
      1. 执行如下命令,进行安装。

        apt-get install -y gdm3 gnome-shell gnome-session gnome-terminal

      2. 执行如下命令,查询进程是否为“activce”。

        systemctl status gdm3

        systemctl status display-manager.service

        若回显如下,需执行3

        Active: inactive (dead)
      3. 执行如下命令,将进程使能为“active”。

        systemctl start gdm3

        systemctl start display-manager.service

    • openEuler 22.03
      1. 执行如下命令,进行安装。

        dnf install gdm gnome-shell gnome-session gnome-terminal

      2. 执行如下命令,重启进程。

        systemctl restart gdm

        systemctl restart display-manager.service

  13. 配置图形化桌面加载开关。

    图形化桌面加载开关由用户自定义实现,实现思路可参考以下步骤。

    1. 将桌面驱动拷贝到系统驱动默认搜索路径“/lib/modules/5.10.0+”
    2. 在配置文件中添加并定义“开”和“关”的标志符。
    3. 实现一个脚本,读取开关标志符。如果“开”的标志为1,则加载桌面驱动,否则不执行操作。

  14. 使用HwHiAiUser用户名和密码登录整机,进入主界面如图1 图形化桌面所示。

    图1 图形化桌面