Package: src:linux Version: 7.1.3-1 Severity: normal Tags: patch upstream Dear Maintainer,
The riscv64 kernel configuration (debian/config/riscv64/config: shipped as /usr/src/linux-config-7.1/config.riscv64_none_riscv64.xz) has # CONFIG_DRM_AST is not set As a result, systems whose only display output is an on-board ASPEED BMC graphics controller (AST2000/2100/2200/2300/2400/2500/2600, PCI vendor 1A03) have no usable console/GNOME on the physical head or KVM-over-IP. This is very common on server-class riscv64 boards (e.g. SpacemiT-based platforms) that inherit BMC hardware from the server world. For comparison, DRM_AST is enabled as a module on every other Debian architecture that has PCI (amd64, arm64, ppc64el, s390x, ...), so this appears to be an oversight rather than a deliberate omission specific to riscv64. Please enable CONFIG_DRM_AST as a module in the riscv64 kernel config. -- Reproducer ----------------------------------------------------- Hardware: SpacemiT riscv64 board with on-board ASPEED AST2600 BMC Kernel: 7.1.3+deb14-riscv64 (linux 7.1.3-1) Userland: Debian forky/sid, GNOME on Wayland $ lspci -nn | grep -i aspeed 0001:02:00.0 VGA compatible controller [0300]: ASPEED Technology, Inc. ASPEED Graphics Family [1a03:2000] (rev 52) $ lspci -k -s 0001:02:00.0 0001:02:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 52) Subsystem: ASPEED Technology, Inc. ASPEED Graphics Family (no "Kernel driver in use:" line) $ modinfo ast modinfo: ERROR: Module ast not found. $ grep DRM_AST /boot/config-$(uname -r) # CONFIG_DRM_AST is not set $ ls /sys/class/drm/ version (no card0; no /dev/dri/card0; no /dev/fb0) Result: gdm3/GNOME has no output on the physical KVM head. -- Verification that the driver works when built ----------------- Rebuilding the in-tree driver as an out-of-tree module against the shipped headers is sufficient: # apt-get install linux-headers-$(uname -r) linux-source-7.1 \ build-essential bc $ mkdir -p ~/ast-build && cd ~/ast-build $ tar -xf /usr/src/linux-source-7.1.tar.xz --wildcards \ 'linux-source-7.1/drivers/gpu/drm/ast/*' $ cd linux-source-7.1/drivers/gpu/drm/ast $ make -C /lib/modules/$(uname -r)/build M=$(pwd) modules \ CONFIG_DRM_AST=m # cp ast.ko /lib/modules/$(uname -r)/kernel/drivers/gpu/drm/ast/ # depmod -a && modprobe ast Dmesg after loading: ast 0001:02:00.0: Using default configuration ast 0001:02:00.0: AST 2600 detected ast 0001:02:00.0: [drm] Using analog VGA ast 0001:02:00.0: [drm] Registered 1 planes with drm panic [drm] Initialized ast 0.1.0 for 0001:02:00.0 on minor 0 ast 0001:02:00.0: [drm] fb0: astdrmfb frame buffer device /dev/dri/card0 and /dev/fb0 appear, and GNOME comes up normally. All required deps (drm, drm_kms_helper, drm_shmem_helper, drm_client_lib, i2c-algo-bit, ttm) are already shipped in linux-image-7.1.3+deb14-riscv64, so enabling DRM_AST=m has no new dependency implication. -- Suggested patch (against debian/config/riscv64/config) -------- --- a/debian/config/riscv64/config +++ b/debian/config/riscv64/config @@ -# CONFIG_DRM_AST is not set +CONFIG_DRM_AST=m (Filenames in the source package may differ slightly; the change is to flip the DRM_AST line for the riscv64 flavour, matching amd64 /arm64.) -- System Information -------------------------------------------- Debian Release: forky/sid Architecture: riscv64 (riscv64) Kernel: Linux 7.1.3+deb14-riscv64 (SMP w/80 CPU threads; PREEMPT) Locale: LANG=zh_CN.UTF-8, LC_CTYPE=zh_CN.UTF-8 (charmap=UTF-8) Shell: /bin/bash Versions of packages linux-image-7.1.3+deb14-riscv64 depends on: (as reported by `apt-cache policy` / `dpkg -s`) -- no debconf information Thank you for your work on the Debian kernel. Regards, Wenbin Zheng This message and any attachment are confidential and may be privileged or otherwise protected from disclosure. If you are not an intended recipient of this message, please delete it and any attachment from your system and notify the sender immediately by reply e-mail. Unintended recipients should not use, copy, disclose or take any action based on this message or any information contained in this message. Emails cannot be guaranteed to be secure or error free as they can be intercepted, amended, lost or destroyed, and you should take full responsibility for security checking. 本邮件及其任何附件具有保密性质,并可能受其他保护或不允许被披露给第三方。如阁下误收到本邮件,敬请立即以回复电子邮件的方式通知发件人,并将本邮件及其任何附件从阁下系统中予以删除。如阁下并非本邮件写明之收件人,敬请切勿使用、复制、披露本邮件或其任何内容,亦请切勿依本邮件或其任何内容而采取任何行动。电子邮件无法保证是一种安全和不会出现任何差错的通信方式,可能会被拦截、修改、丢失或损坏,收件人需自行负责做好安全检查。

