NVMe Boot for Old PC

一些老旧的电脑BIOS无法识别NVMe硬盘,通过PCIe扩展槽插入的NVMe硬盘在操作系统引导后可以使用,但不能直接从NVMe盘启动。

解决这个问题一个比较优雅的方法,是直接将NVMe启动代码加入到BIOS中,然而这个方法实现难度较大。我的GA-N3150M-D3P,尝试将NVMe代码加入BIOS,Gigabyte的BIOS写入程序会因为校验不对,拒绝刷入BIOS。强行刷BIOS对一般人来说难度有点大。

如果主板支持UEFI启动,有简单的方法,可以达到跟直接从NVMe盘启动几乎一样的效果。网上有不少教程,基本都是采用Clover或者OpenCore实现,但是这两个主要为黑苹果设计的软件,功能复杂,学习难度较大,只是为了从NVMe盘启动,有点小题大做了。我采用rEFInd Boot Manager,可以达到同样的效果,更简单直接。

电脑除了PCIe插槽的NVMe,还需要有一块SATA的硬盘。在SATA硬盘上建立一个EFI分区,不用很大,200M就可以(安装黑苹果通常建议200M)。从前面的链接下载rEFInd,配置好,安装到这个EFI分区。可以用rEFInd启动多个操作系统。直接使用rEFInd还是不能识别NVMe硬盘的,需要安装驱动程序。rENInd通常安装在EFI->refind文件夹下,驱动安装在EFI->refind->drivers_x64中(这个文件夹名称取决于电脑的架构)。rEFInd启动的时候会自动从这个驱动文件夹中读取驱动加载,但直接下载的驱动文件夹中没有NVMe的驱动,还需要手动添加上去。我用的NVMe驱动文件名叫NvmExpressDxe.efi,是从OpenCore中拷贝出来的。从Github下载OpenCore,在X64->EFI->OC->Drivers文件夹中拷贝出来NVMe的驱动。有了驱动,rEFInd就可以引导NVMe硬盘上的系统了。具体rEFInd的使用细节可以参考官方网站。

{ Add a Comment }

AMD GPU Linux 显示器无法休眠问题

升级VX2722-4K-pro显示器后,我的Ubuntu电脑HDMI版本太老,无法支持4K@60Hz,所以最近升级了一下显卡。某鱼买了一块RX560,支持4K60 HDR都没有问题,但是很快发现了一个问题,Ubuntu下显示器无法真正休眠!具体现象如下:因为Ubuntu运行Jellyfin Server,所以设置电脑不进入休眠,只是5分钟后关闭显示器。但在关闭显示器过程中,显示器没有进入休眠,而是在很短一段时间后,进入一种黑屏,但是在线的状态,屏幕上只剩下鼠标还有显示。这样只要打开了电脑和显示器,就算不在用电脑,显示器永远都是开着无法休眠,白白在耗电。

经过一番折腾加搜索网络,发现问题出在AMD GPU的Linux Driver与桌面环境的配合上。当显示器打开自动搜索信号时,会向电脑定时发送信号,AMD GPU驱动上报这个hotplug event,导致屏幕无法休眠。这个Bug存在很久了,数年都没有修复,参见:https://gitlab.freedesktop.org/drm/amd/-/issues/662。我尝试了各种Kernel启动参数,如amdgpu.runpm=0,新的6.1 kernel等等,都没有效果。目前只有采取一些Workaround方法。

  1. 关闭显示器的自动搜索输入功能。我的显示器有这个开关,确实可以解决问题,但是会带来其它问题。我有两台电脑,一旦设定在某个输入上,当另外一台电脑打开时,无法自动切换输入。VX2722-4K-pro还有一个问题,当目前设定的输入没有信号时,屏幕不会点亮,这时候用控制键无法调出屏幕菜单,无法手动切换输入,要折腾半天才能把输入切换过去。我还没有找到能迅速调出菜单的办法,导致使用体验很差,所以这个解决方案不行
  2. 关闭Linux桌面环境监测显示器的服务。不同的桌面环境设置的方法不同,前面链接里面提到Xfce上如何设置,受这个启发,我在网上找到了Cinnamon环境的设置方法。把Ubuntu缺省的GDM3/GNOME环境换成Cinnamon,在System Settings中找到Startup Applications,把其中的Cinnamon Settings Daemon – xrandr选项关闭掉(也可以修改其命令行参数,添加 –exit-time=5,设置一个时间,在启动后不久自动退出)。这样可以解决问题,但带来另外一个问题,如果在打开Ubuntu电脑的时候,没有开启显示器,那么以后再打开显示器,也不会有显示了。这虽然也不是完美的解决方案,比上一个方案好点,目前也就只能这样了。

AMD还是不如Intel成熟,经常有些小毛病,让人头痛,比如AMD GPU在Windows上会导致Office里面的光标变成白色,很难找到,虽然也有一些Workaround,但总还是不那么方便。虽然支持了AMD不少次,但每次还是有些不爽的地方,希望以后能进一步改进吧。

{ Add a Comment }

VX2722-4K-Pro HDR 显示器简评

随着Windows HDR支持的逐渐完善,最近想入手一个HDR显示器。正好接近双十一,从京东优派显示器旗舰店购入了一台VX2722-4K-Pro。支持全阵列MiniLED背光,576分区不算多,HDR1000认证,算是一台满足基本HDR要求的显示器。价格4399,考虑到这个指标,也算是比较低了。

Viewsonic官网上的一些指标如下:

  • 面板类型: MiniLED- IPS
  • 最佳分辨率: 3840 x 2160 @144Hz
  • 对比率: 1000:1(typ);DCR:80,000,000:1 (Min)
  • 亮度: 400cd/m2(typ);1000cd/m2(峰值)
  • 响应时间: 5ms(最快)1ms(MPRT)
  • 色深: 8 bit+FRC
  • 背光灯珠数量: 2304颗,Mini-LED
  • 色域: 99%Adobe sRGB,Delta E≤2(平均值)
  • 特色功能: MiniLED 背光技术;量子点技术;HDR1000;MPRT 1ms; 出厂校色报告;DSC显示流压缩技术;Freesync ;滤蓝光不闪屏
  • 数字接口: HDMI,DP,Type-C
  • 接口频率: HDMI2.1×2(3840×2160@144Hz) ; DP1.4×1(3840×2160@144Hz);Type-C×1(3840×2160@144Hz)(90W PD)

本人电脑显卡比较老了,技嘉GTX1060 6GB,在Windows下能支持HDR的最低显卡配置了。发现HDMI接口没法支持HDR 10bit 60Hz模式,DP接口没有问题,也许是这个GTX1060显卡的问题。

整体HDR效果还是不错的,P3广色域加HDR1000高动态,看视频的体验大幅度提升。从基础能力来说,我认为购入这样一台HDR显示器是能够满足绝大部分人的需求了。但是也发现了一些问题,最严重的一点是,这台显示器在调整为HDR模式并且开启Windows HDR模式后,每当显示状态变化,比如从唤醒中恢复,屏幕颜色就错乱了!具体来说,是红色变得非常饱和,非常可能这时候显示器工作在P3模式,但是送显的信号是sRGB。我认为这个是因为目前的显示驱动程序有问题,导致显示状态变化后没有正确设置。但是这个Bug导致了这个显示器平时无法工作在Windows HDR模式下。每当需要看HDR视频或者图片的时候,需要手动切换显示器和Windows到HDR模式下,一直用到结束,然后再手动切换到SDR模式。那么这台显示器的实用性就打了一个很大的折扣。见Update)而且在SDR模式下,需要手动把色域设置成P3,关闭自动HDR,这样才能在SDR模式下正常工作。好在这种问题通常在更新驱动甚至固件后是可以解决的,只是给Viewsonic技术支持发邮件没有回音,官网也没有更新驱动,只能静等后续官方的更新了。

从1080p显示器升级到HDR 4K显示器,带来了一系列的变化。自建Jellyfin视频库里的视频一下子都显得不够清晰,想升级到4K版,但硬盘空间不足了,重新下载也花时间。平时看网页细腻了很多,写个程序也感觉更好了。但最大的愿望是将自己拍照处理的流程升级到广色域加HDR,目前还有找到合适的办法。

总结:
VX2722-4K-Pro作为HDR显示器还是不错的选择,但因为存在Windows HDR模式的Bug,目前如果不是非常急于购买,可以先等等看官网是不是更新。

Update on 2023-2-16

在Windows 11几次更新后,今天尝试打开HDR模式,发现已经没有切换模式后颜色错误的问题,看来曾经认为显示器有Bug是错误的,还是Windows 11本身的问题,随着Windows 11的不断成熟,这些问题也得到了解决。现在可以常开HDR模式,一切正常。当Linux和MacOS电脑连接的时候,因为没有开启HDR,这时候还是要手动调整到DCI-P3色域,这样都能完美支持。这台显示器如果是2个DP,1个HDMI就更好了,HDR还是通过DP口更容易实现。不知为什么,虽然我的电脑应该能支持HDMI2.1,但是用HDMI连接无法实现4K@60Hz 10bit,只能是8bit。

{ Add a Comment }