【每周学习摘要02(23/09/30-23/10/5)】

GLX/DRM

暂时使用llvmpipe渲染

source:Switching to llvmpipe on a Temporary Basis
Solution

LIBGL_ALWAYS_SOFTWARE=1 [application] [arguments ...]

XFCE4 安装

sudo apt install xfce4 xfce4-goodies xorg

然后发现如果用dmutux那个Allwinner-H616 Build的fork仓库,是不支持panfrost的,但刚好也证明了,只要有drm(显示模块非gpu)的驱动,利用llvmpipe(安装xorg自带的,可以看到llvm也被安装了)也是可以运行桌面的。而且通过配置Xorg的配置文件,甚至可以在fbdev上面运行桌面。可以看下这篇文章,但是有点老了不一定符合现在的Xorg软件配置,但可以参考怎么配置/etc/X11/xorg.conf:Re: Using framebuffer in Xorg (i.MX27 ADS)Re: How to setup Xorg and display drivers?
然后貌似听说新版本的Xorg不需要这些配置,可以自动推断,也不知道是怎么实现的。。

而且好像说是,Xorg通过libmali调用Gpu,是直接用fbdev操控显示屏的

dri模块的位置

/usr/lib/aarch64-linux-gnu/dri/

如何使用fbi?(framebuffer image)

sudo fbi -T 1 -d /dev/fb0

-T 是设置Virtual Terminal,不知道什么意思

查看glx,egl 信息

glxinfo,eglinfo,kmscube,glmark2-drm,modetest
其中modetest(由libdrm提供,隶属于mesa,除非是proprietary libdrm)可以打印色条(modetest -M (驱动,比如rockchip,tinydrm,...))
从eglinfo我可以得知,在联想Y9000P上跑,在最底下会出现三个Device platform:Device #0:vendor NVIDIA;#1::vendor
其中,kmscube,modetest,glmark2-drm只能跑Mesa里面有驱动的程序,比如说i915,nouveau,等等,因此在Nvidia proprietery的驱动下
是检测不到的。对于我的笔记本,可以换到i915下进行测试(在BIOS里选择集显)
当然在nv驱动下,glmark2是可以跑的,因为相当于通过glx套了一层通用接口。
其中一篇针对rk3399平台的文章值得借鉴:
RK3399探索之旅 / Display子系统 / 从modetest 到 DRM
非常地道的一篇介绍fbdev/drm区别的文章:
RK3399 探索之旅 / Display 子系统 / 基础概念

modetest显示彩条
modetest -M rockchip -s 93@64:#1

其中93是一个connector,64是crtc, #1是该crtc下的一个plane(不知道应该是什么专业术语反正可以通过modetest查看,就在crtc条目的下面一行)
切换到i915后启动效果:

关于nouveau和NV驱动能否共存的问题

如何切换到nouveau

Linux

arm启动流程

ARM Linux Boot Sequence
先从arch下的启动文件,再到init下的main.c里面的start_kernel

如何用VSCode插件在linux内核源码中跳转?

How to use the Visual Studio Code to navigate Linux kernel source

AllwinnerH616 Debian Build 如何更改初始package?

其实也适用于任何基于armbian build的项目
路径: Allwinner-H616.bak/external/config/cli/bullseye/main/config_cli_standard
其中bullseye代表了debian版本11,jammy是Ubuntu 2204 focal 是 Ubuntu 2004
然后在packages.additional中添加想要安装的包,记住不要添加错了否则build后会中断下载

RKNN2/RKNPU2


关于驱动更新:
直接把新的librknnrt.so/librknn_api.so放在/usr/lib下面就行

全志H616

H616 Yuzuki SBC

EMAC的问题

  1. GMAC是千兆以太网控制器
  2. MACPHY之间通过RMII/RGMII/MII/GMII 连接
  3. 全志H616的EMAC1是通过直接内部连接到了芯片上集成的一个100M EPHY,所以集成度很高,然后EMAC0 如果要使用得外接PHY芯片(淘宝那种),但是EPHY(EMAC1)需要连接以太网隔离变压器,可能是电平的缘故

Leave a Reply

Your email address will not be published. Required fields are marked *