10SDV-TLN4F主板ASPEED Graphics集成显卡所埋下的坑
10SDV-TLN4F是超微公司出品的英特尔®至强®处理器D-1541低功耗微型服务器(8核,2,1GHz, 16线程,14nm工艺,超线程,45W,三级缓存12M,单插槽FCBGA 1667接口),内存支持128GB ECC RDIMM DDR4 2400MHz(或64GB ECC / non-ECC UDIMM)。不过有其集成的显卡为ASPEED Graphics性能有些低,在高显示分辨率情况下,可能会明显刷新延迟现象,导致使用体验感觉很不好。以下是基于驱动重装和基于独立显卡两种方式进行的折腾过程,希望为碰到相关问题的其他人提供相应的思路。
一、集成显卡驱动折腾
1. 查询显卡类别:
labmed@liumwei:~$ lspci | grep VGA
07:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)
2. GPU固件ast_dp501_fw.bin下载:从https://rpmfind.net/linux/rpm2html/search.php?query=firmware(将附件中的ast_dp501_fw.txt下载后改名为ast_dp501_fw.bin即可)下载固件包:kernel-firmware-20180525-lp150.2.3.1.noarch.rpm(更新:kernel-firmware-20190118-1.1.noarch.rpm)
解压该固件包,将ast_dp501_fw.bin拷贝至/lib/firmware/下
说明:GPU固件不下载复制到指定位置,可能会出现这样的错误:W: Possible missing firmware /lib/firmware/ast_dp501_fw.bin for module ast
3. 驱动安装两种方式
1). 基于deb驱动安装:xserver-xorg-video-ast
labmed@liumwei:~$sudo apt-get install xserver-xorg-video-ast
2). 基于官方驱动程序包安装
A. 下载驱动(https://www.aspeedtech.com/support.php,选择ASPEED Graphics Linux/FreeBSD/Solaris Package),随即解压,然后进入v10902_linux_freebsd_solaris/LinuxXorg/Drv下解压lxdrv.tar.gz。然后进入Drv/lxdrv下运行
B. 安装驱动:labmed@liumwei:~$./auto-update.sh
注意:来自官方的驱动包,可能会更新
4. 基于 MintDriver安装驱动
从这里下载MintDriver,安装后打开MintDriver,如下,看看能否找到相应驱动:
当然,如果你使用Deepin Linux系统,也可以试试其自带的显卡驱动管理程序。
4. 内核重建及系统重启
labmed@liumwei:~$sudo update-initramfs -u
labmed@liumwei:~$sudo reboot
5. 重建xorg.conf
Aspeed驱动的加载在Debian/Ubuntu下还需要/etc/X11/xorg.conf配置文件。不过,目前的Debian/Ubuntu已经没有该文件,那么可以采用如下的过程来重建:
- 首先切换到终端模式:Ctrl+Alt+F1
-
停止X Server:
sudo service lightdm stop
-
重建 xorg.conf文件:
sudo X -configure
新创建的xorg.conf.new
file默认在root目录下. -
移动文件到/etc/X11,并重新改名:
sudo mv /root/xorg.conf.new /etc/X11/xorg.conf
-
重新回到图形桌面:
sudo Service lightdm start
计算显示器对应分辨率的配置参数,并将其写入xorg.conf文件中
:
labmed@liumwei:~$gtf 1920 1080 60
# 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
编辑/etc/X11/xorg.conf,加入代码行:
6. 驱动加载情况查询
1) inix查看驱动是否加载正常:
labmed@liumwei:~$ sudo apt-get install inxi && inxi -Gx
Graphics: Card-1: ASPEED Graphics Family driver: ast v: kernel bus ID: 07:00.0
Display: x11 server: X.Org 1.20.0 driver: modesetting unloaded: fbdev,vesa
resolution: 1920x1080~60Hz
OpenGL: renderer: llvmpipe (LLVM 6.0 256 bits) v: 3.3 Mesa 18.0.4 direct render: Yes
2) lspci查看驱动
labmed@liumwei:~$ lspci | grep VGA
07:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)
labmed@liumwei:~$ lspci -v -s 07:00.0
07:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30) (prog-if 00 [VGA controller])
Subsystem: Super Micro Computer Inc ASPEED Graphics Family
Flags: bus master, medium devsel, latency 0, IRQ 18, NUMA node 0
Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
Memory at fb000000 (32-bit, non-prefetchable) [size=128K]
I/O ports at d000
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/4 Maskable- 64bit+
Kernel driver in use: ast
Kernel modules: ast
3) xrandr查看
labmed@liumwei:~$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 1920 x 2048
VGA-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
1920x1080 60.00*+
1600x1200 60.00
1680x1050 59.95
1280x1024 75.02 60.02
1440x900 59.89
1024x768 75.03 70.07 60.00
800x600 72.19 75.00 60.32 56.25
640x480 75.00 72.81 66.67 59.94 3.
二、换装独立显卡
如果上述工程依然无法解决问题,最好的思路是安装独立显卡。不过需要注意的是,这款主板需要进行两个方面的设置,方能让独立显卡正常使用起来,不然主板可能会报如下的错误:
iKVM doesn't support add-on VGA device. Please change the D-SUB connector to Add-on VGA device…
当然出现这个问题后,通过搜索引擎,我们可能会找到超微官方相应的页面,如https://www.supermicro.com/support/faqs/faq.cfm?faq=30002。但很显然,完全没有更进一步的价值。也可能找到 https://the0demiurge.blogspot.com/2017/11/solved-supermicro-cannot-connect-to-vga.html这样的网页信息,但它提供的并不是独立显卡正常使用的解决思路。不过,它们同时提到主板中关于VGA显卡的设置(off board和on board),独立显卡和集成显卡方式。很显然,如果要使用独立显卡,需要将主板中的该设置选为off board。而且,通过查看该主板的说明书(浏览PDF)时,可以看到,主板上的显卡设置还有物理跳针。需要同时进行物理跳针设置后,独立显卡方能正常使用。以下是具体的操作过程:
1. 进入BIOS,设置主板中的AGP为Off board,如下:
2.显卡物理跳线JPG1设置
该主板默认使用1-2跳线以支持板载显卡。
若要支持外置独立显卡,将跳线设置为2-3。经过这个过程,可以将独立显卡(如RX560 双HDMI 双4K 60HZ 4G )插到PCI-e上即可正常使用了。
参考
http://scm.zoomquiet.top/data/20090728100253/index.html
https://www.jianshu.com/p/eb1d74582a8d
https://ubuntuforums.org/showthread.php?t=1130582