我的计算机正在运行 Arch,我想通过 DisplayPort 使用单个显示器。该配置与 HDMI 电缆配合使用效果良好,但在 3840x2160 分辨率下仅限于每秒 30 帧。
运行 Windows 时,包括使用 DisplayPort 电缆连接的屏幕在内的硬件工作正常,因此我不考虑硬件问题。
使用 HDMI 电缆,一切都可以开箱即用:我登录到我的系统,然后exec startplasma-x11
通过.xinitrc
.如果我连接 DisplayPort 电缆,然后启动并登录,我会从登录窗口开始闪烁,并且在登录桌面后不久,屏幕将变黑。
我确实找到了一种通过 DP 连接显示器的方法:连接 HDMI 登录,使用 打开单独的虚拟控制台Ctrl+Alt+F2
,更改电缆,然后执行xrandr --auto
,然后改回 X 登录会话。这样,输出有点稳定,但我仍然在屏幕的最上部闪烁(特别是在使用 Discord 或 Chrome 等 Electron 应用程序时,很奇怪)。
xrandr 在此解决方法中选择的配置是我希望默认使用的配置,但不会闪烁,也无需进行电缆切换。
在此配置中,我通过提取所需的模型行cvt 3840 2160
来写入条目xorg.conf.d/10-monitor.conf
:
Section "Monitor"
Identifier "DisplayPort-1"
Modeline "3840x2160_60.00" 712.75 3840 4160 4576 5312 2160 2163 2168 2237 -hsync +vsync
Option "PreferredMode" "3840x2160_60.00"
EndSection
Section "Screen"
Identifier "Screen0"
Monitor "DisplayPort-1"
DefaultDepth 24
SubSection "Display"
Modes "3840x2160_60.00"
EndSubSection
EndSection
Section "Device"
Identifier "Device0"
Driver "radeon"
EndSection
我还添加了这一行
xrandr --output DisplayPort-1 --primary --mode 3840x2160 --rate 60.00
给我的.xinitrc
。
尽管如此,我还没有摆脱启动时的问题。
我怎样才能解决这个问题?我正在寻找一种方法,让我的屏幕在启动时自动通过 DisplayPort 连接。有一个更好的方法吗?
编辑:我的journalctl -r
日志如下所示(摘录):
Jul 29 09:25:36 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Emitting configChanged()
Jul 29 09:25:36 my_arch kded5[641]: bluedevil: ObexAgent registered
Jul 29 09:25:36 my_arch kded5[641]: bluedevil: ObexManager operational changed true
Jul 29 09:25:35 my_arch kded5[641]: Registering ":1.36/StatusNotifierItem" to system tray
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Output 86 : connected = true , enabled = true
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandROutput 86 update
m_connected: 0
m_crtc XRandRCrtc(0x557123179780)
CRTC: 79
MODE: 91
Connection: 0
Primary: true
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Output 85 : connected = false , enabled = false
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandROutput 85 update
m_connected: 1
m_crtc QObject(0x0)
CRTC: 0
MODE: 0
Connection: 1
Primary: false
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Output 86 : connected = true , enabled = true
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandROutput 86 update
m_connected: 0
m_crtc XRandRCrtc(0x557123179780)
CRTC: 79
MODE: 91
Connection: 0
Primary: true
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Output 85 : connected = false , enabled = false
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandROutput 85 update
m_connected: 1
m_crtc QObject(0x0)
CRTC: 0
MODE: 0
Connection: 1
Primary: false
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Subpixel Order: 1
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Connection: "Connected"
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Rotation: "Rotate_0"
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Mode: 91
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: CRTC: 79
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Output: 86
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: RRNotify_OutputChange
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Subpixel Order: 1
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Connection: "Disconnected"
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Rotation: "Rotate_0"
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Mode: 0
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: CRTC: 0
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Output: 85
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: RRNotify_OutputChange
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: SizeMM: 1016 571
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Size: 3840 2160
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Size ID: 0
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Rotation: "Rotate_0"
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Root: 1731
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Window: 44040197
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: RRScreenChangeNotify
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Subpixel Order: 1
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Connection: "Connected"
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Rotation: "Rotate_0"
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Mode: 91
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: CRTC: 79
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Output: 86
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: RRNotify_OutputChange
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Subpixel Order: 1
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Connection: "Disconnected"
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Rotation: "Rotate_0"
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Mode: 0
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: CRTC: 0
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: Output: 85
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xcb.helper: RRNotify_OutputChange
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandR::setConfig done!
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: RRSetOutputPrimary
New primary: 86
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandROutput 86 update
m_connected: 0
m_crtc XRandRCrtc(0x557123179780)
CRTC: 79
MODE: 91
Connection: 0
Primary: true
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Result: 0
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: RRSetCrtcConfig (change output)
Output: 86 ( "DisplayPort-1" )
CRTC: 79
Pos: QPoint(0,0)
Mode: 91 KScreen::Mode(Id: "91" , Size: QSize(3840, 2160) @ 59.9809 )
Rotation: 1
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Enable outputs: false
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: (86)
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Change outputs: true
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Disable outputs: false
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Change Screen Size: false
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Old: 85
New: 86
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Actions to perform:
Primary Output: true
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Needed CRTCs: 1
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: Requested screen size is QSize(3840, 2160)
Jul 29 09:25:35 my_arch kscreen_backend_launcher[764]: kscreen.xrandr: XRandR::setConfig
我想知道为什么我的监视器显示速度为59.9809
第一。这会是一个问题吗?