我购买了 Dasung HD-F 2019 电子墨水显示器。默认屏幕分辨率是 2200x1650 @ 40。Dasung 还支持 1600x1200 @ 60,我想使用它。不幸的是,Fedora 34 中的屏幕没有完全填满。我的笔记本电脑配备了 Intel UHD Graphics 620。
我不知道问题出在哪里,但我的猜测是系统认为Dasung的尺寸是20x15厘米。事实上,它是 27x20 厘米。填充区域正好是 20x15 厘米。
我完全不知道如何在 Linux 中以高级方式配置监视器。我花了很多时间阅读并尝试不同的方法。
我做了什么(使用一些教程):我制作了 edid 的十六进制转储,并将 20x15 厘米替换为 27x20 厘米(偏移量 0x15 和 0x16)。将偏移 0x7f 更改为新的校验和。将文件复制到 /lib/firmware/edid/ Correct-edid.bin。创建 Dracut 配置 /etc/dracut.conf.d/00-dasung-hdf-edid.conf 以将新的 EDID 复制到 initramfs 中:
install_items+=" /lib/firmware/edid/ Correct-edid.bin "
使用 Dracut 重新生成 initramfs:sudo dracut -f。将 drm.edid_firmware=HDMI-A-1:edid/ Correct-edid.bin 添加到 /etc/default/grub 中 GRUB_CMDLINE_LINUX_DEFAULT 的末尾。最后: sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
不幸的是它没有帮助。
xrandr --verbose 的结果:
Screen 0: minimum 320 x 200, current 2200 x 2730, maximum 16384 x 16384
eDP-1 connected primary 1920x1080+0+1650 (0x47) normal (normal left inverted right x axis y axis) 309mm x 174mm
Identifier: 0x42
Timestamp: 242415
Subpixel: unknown
Gamma: 1.0:1.0:1.0
Brightness: 1.0
Clones:
CRTC: 0
CRTCs: 0 1 2
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
_MUTTER_PRESENTATION_OUTPUT: 0
EDID:
00ffffffffffff0006af3d3200000000
101c0104a51f117802fc15a055509b27
0c505400000001010101010101010101
010101010101143780b8703824401010
3e0035ae100000180000000f00000000
00000000000000000020000000fe0041
554f0a202020202020202020000000fe
004231343048414e30332e32200a00bd
scaling mode: Full aspect
supported: Full, Center, Full aspect
Colorspace: Default
supported: Default, RGB_Wide_Gamut_Fixed_Point, RGB_Wide_Gamut_Floating_Point, opRGB, DCI-P3_RGB_D65, BT2020_RGB, BT601_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, BT2020_CYCC, BT2020_YCC
max bpc: 12
range: (6, 12)
Broadcast RGB: Automatic
supported: Automatic, Full, Limited 16:235
panel orientation: Normal
supported: Normal, Upside Down, Left Side Up, Right Side Up
link-status: Good
supported: Good, Bad
CONNECTOR_ID: 95
supported: 95
non-desktop: 0
range: (0, 1)
1920x1080 (0x45) 141.000MHz -HSync -VSync +preferred
h: width 1920 start 1936 end 1952 total 2104 skew 0 clock 67.02KHz
v: height 1080 start 1083 end 1097 total 1116 clock 60.05Hz
<HERE LONG LIST OF RESOLUTIONS OF MY NOTEBOOK MONITOR>
HDMI-1 connected 2200x1650+0+0 (0x7b2) normal (normal left inverted right x axis y axis) 200mm x 150mm
Identifier: 0x43
Timestamp: 242415
Subpixel: unknown
Gamma: 1.0:1.0:1.0
Brightness: 1.0
Clones:
CRTC: 1
CRTCs: 0 1 2
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
_MUTTER_PRESENTATION_OUTPUT: 0
EDID:
00ffffffffffff001263010000000000
0a1d0103801b14782a08a5a2574fa228 <--- 1b14 (27 x 20 cm) is my own change
0f505400000001010101010101010101 using custom edid file, before
010101010101c13e98a880722e603820 it was 140f (20 x 15 cm)
3600c8960000001e0000001000000000
00000000000000000000000000fc0050
617065726c696b6520482044483f4030
62b0324040c013006d552100001e00c5
HDCP Content Type: HDCP Type0
supported: HDCP Type0, HDCP Type1
Content Protection: Undesired
supported: Undesired, Desired, Enabled
max bpc: 12
range: (8, 12)
content type: No Data
supported: No Data, Graphics, Photo, Cinema, Game
Colorspace: Default
supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater
aspect ratio: Automatic
supported: Automatic, 4:3, 16:9
Broadcast RGB: Automatic
supported: Automatic, Full, Limited 16:235
audio: auto
supported: force-dvi, off, auto, on
link-status: Good
supported: Good, Bad
CONNECTOR_ID: 103
supported: 103
non-desktop: 0
range: (0, 1)
2200x1650 (0x7b2) 160.650MHz +HSync +VSync *current +preferred
h: width 2200 start 2256 end 2288 total 2368 skew 0 clock 67.84KHz
v: height 1650 start 1653 end 1659 total 1696 clock 40.00Hz
1600x1200 (0x7b3) 162.000MHz +HSync +VSync
h: width 1600 start 1664 end 1856 total 2160 skew 0 clock 75.00KHz
v: height 1200 start 1201 end 1204 total 1250 clock 60.00Hz
edid解码的结果 < /sys/class/drm/card0-HDMI-A-1/edid:
edid-decode (hex):
00 ff ff ff ff ff ff 00 12 63 01 00 00 00 00 00
0a 1d 01 03 80 1b 14 78 2a 08 a5 a2 57 4f a2 28 <--- 1b14 (27 x 20 cm) is my own change
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 using custom edid file, before
01 01 01 01 01 01 c1 3e 98 a8 80 72 2e 60 38 20 it was 140f (20 x 15 cm)
36 00 c8 96 00 00 00 1e 00 00 00 10 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 fc 00 50
61 70 65 72 6c 69 6b 65 20 48 20 44 48 3f 40 30
62 b0 32 40 40 c0 13 00 6d 55 21 00 00 1e 00 c5
----------------
Block 0, Base EDID:
EDID Structure Version & Revision: 1.3
Vendor & Product Identification:
Manufacturer: DSC
Model: 1
Made in: week 10 of 2019
Basic Display Parameters & Features:
Digital display
Maximum image size: 27 cm x 20 cm <--- before my changes it was 20x15
Gamma: 2.20
DPMS levels: Off
RGB color display
First detailed timing is the preferred timing
Color Characteristics:
Red : 0.6328, 0.3398
Green: 0.3105, 0.6328
Blue : 0.1582, 0.0605
White: 0.3134, 0.3291
Established Timings I & II: none
Standard Timings: none
Detailed Timing Descriptors:
DTD 1: 2200x1650 40.001 Hz 4:3 67.842 kHz 160.650 MHz (200 mm x 150 mm)
Hfront 56 Hsync 32 Hback 80 Hpol P
Vfront 3 Vsync 6 Vback 37 Vpol P
Dummy Descriptor:
Display Product Name: 'Paperlike H D'
DTD 2: 1600x1200 60.000 Hz 4:3 75.000 kHz 162.000 MHz (621 mm x 341 mm)
Hfront 64 Hsync 192 Hback 304 Hpol P
Vfront 1 Vsync 3 Vback 46 Vpol P
Checksum: 0xc5
在 Windows 10 中一切正常。
我将感谢您的帮助。
答案1
我收到了大成的回复:
但与 Windows 或 macOS 不同的是,Windows 或 macOS 会将任何分辨率放大到 22001650 用于输出,Linux(使用 X 或 Wayland)具有不同的行为:当您选择 1600 时1200,显示驱动程序将仅输出1600个水平像素和1200个垂直像素,没有任何缩放。而在 Paperlike 系列中,由于我们将接收到的每个像素都按 1:1 进行映射来显示,因此接收到的 1600 个水平像素无法填满整个屏幕,因此出现了您刚才看到的“白色边框”。
因此,我们始终建议您在任何 Linux 发行版下仅为 Paperlike HD 选择原始分辨率(2200@40Hz)。如果您对 UI 元素的显示大小有任何问题,可以使用 Ubuntu 20.04 中的分数缩放,类似于 Windows DPI 缩放