모니터가 계속 꺼지지 않아요

모니터가 계속 꺼지지 않아요

서버와 워크스테이션으로 실행되는 컴퓨터가 있습니다. 즉, 최대 절전 모드가 아니어야 하지만 그래픽 데스크톱도 활성화되어 있어야 합니다.

이를 달성하기 위해 다음 값을 설정했습니다./etc/gdm3/greeter.dconf-defaults

sleep-inactive-ac-timeout=5
# - What to do after sleep-inactive-ac-timeout
#   'blank', 'suspend', 'shutdown', 'hibernate', 'interactive' or 'nothing'
sleep-inactive-ac-type='blank'

또한 shutdown:sleep:idle:handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switchsystemd를 사용하여 억제제를 추가했습니다.

거의 작동하는 것 같지만 문제는 컴퓨터 화면이 계속 켜져 있고 절전 모드로 들어가지 않는다는 점입니다. 절전 기능이 활성화되면 즉시 다시 켜십시오. 아래 영상을 시청해주세요:

영상

https://i.imgur.com/LvuI26V.gifv

이 상황을 디버깅하려면 wayland도 비활성화 /etc/gdm3/daemon.conf한 다음 실행했습니다.

sleep 3; xset dpms force off

같은 행동을 합니다.

모니터가 꺼지지 않는 문제를 해결하는 방법은 무엇입니까?

디스플레이 드라이버는

$ lspci -k | grep -EA3 'VGA|3D|Display'
00:02.0 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
    DeviceName: Onboard IGD
    Subsystem: ASUSTeK Computer Inc. AlderLake-S GT1
    Kernel driver in use: i915

i915커널 드라이버 의 경우 다음이 있습니다.

$ sudo modinfo -p i915
modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int)
enable_dc:Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6; 3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO) (int)
enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)
lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)
panel_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int)
vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int)
reset:Attempt GPU resets (0=disabled, 1=full gpu reset, 2=engine reset [default]) (uint)
vbt_firmware:Load VBT from specified file under /lib/firmware (charp)
error_capture:Record the GPU state following a hang. This information in /sys/class/drm/card<N>/error is vital for triaging and debugging hangs. (bool)
enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool)
enable_psr:Enable PSR (0=disabled, 1=enable up to PSR1, 2=enable up to PSR2) Default: -1 (use per-chip default) (int)
psr_safest_params:Replace PSR VBT parameters by the safest and not optimal ones. This is helpful to detect if PSR issues are related to bad values set in  VBT. (0=use VBT parameters, 1=use safest parameters) (bool)
enable_psr2_sel_fetch:Enable PSR2 selective fetch (0=disabled, 1=enabled) Default: 0 (bool)
force_probe:Force probe options for specified supported devices. See CONFIG_DRM_I915_FORCE_PROBE for details. (charp)
disable_power_well:Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int)
enable_ips:Enable IPS (default: true) (int)
fastboot:Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int)
load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool)
force_reset_modeset_test:Force a modeset during gpu reset for testing (default:false). For developers only. (bool)
invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to [email protected], if your machine needs it. It will then be included in an upcoming module version. (int)
disable_display:Disable display (default: false) (bool)
memtest:Perform a read/write test of all device memory on module load (default: off) (bool)
mmio_debug:Enable the MMIO debug code for the first N failures (default: off). This may negatively affect performance. (int)
verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool)
nuclear_pageflip:Force enable atomic functionality on platforms that don't have full support yet. (bool)
edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int)
enable_guc:Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto [default], 0=disable, 1=GuC submission, 2=HuC load) (int)
guc_log_level:GuC firmware logging level. Requires GuC to be loaded. (-1=auto [default], 0=disable, 1..4=enable with verbosity min..max) (int)
guc_firmware_path:GuC firmware path to use instead of the default one (charp)
huc_firmware_path:HuC firmware path to use instead of the default one (charp)
dmc_firmware_path:DMC firmware path to use instead of the default one (charp)
enable_dp_mst:Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool)
enable_dpcd_backlight:Enable support for DPCD backlight control(-1=use per-VBT LFP backlight type setting [default], 0=disabled, 1=enable, 2=force VESA interface, 3=force Intel interface) (int)
enable_gvt:Enable support for Intel GVT-g graphics virtualization host support(default:false) (bool)
request_timeout_ms:Default request/fence/batch buffer expiration timeout. (uint)
lmem_size:Set the lmem size(in MiB) for each region. (default: 0, all memory) (uint)
lmem_bar_size:Set the lmem bar size(in MiB). (uint)
mitigations:Selectively enable security mitigations for all Intel® GPUs in the system.

  auto -- enables all mitigations required for the platform [default]
  off  -- disables all mitigations

Individual mitigations can be enabled by passing a comma-separated string,
e.g. mitigations=residuals to enable only clearing residuals or
mitigations=auto,noresiduals to disable only the clear residual mitigation.
Either '!' or 'no' may be used to switch from enabling the mitigation to
disabling it.

Active mitigations for Ivybridge, Baytrail, Haswell:
  residuals -- clear all thread-local registers between contexts

답변1

문제에 대한 해결책은 운영 체제나 드라이버가 아닌 모니터 자체인 것으로 밝혀졌습니다.

모니터에는 2개의 HDMI 입력 포트가 있으므로 절전 모드로 전환되면 검색을 시작한 다음 다시 켜집니다.

HDMI-1 포트만 수동으로 선택하고 자동 스캔을 비활성화하면 모니터가 정상적으로 절전 모드로 들어가기 시작합니다.

이것이 특정 모니터의 버그인지 아니면 스택의 다른 위치에 있는 버그인지는 확실하지 않지만 현재로서는 이 솔루션이 작동하는 것 같습니다.

답변2

"출력 선택"에 도달할 때까지 모니터의 버튼을 누르고 이를 "자동"에서 "HDMI 1"로 변경하고 저장하고 종료하는 등 모니터 자체에서 설정을 조정해야 했습니다. 모니터가 자동 스캔 모드로 전환되어 절전 모드가 해제되어 Wayland가 모니터를 끄지 않는 문제가 해결되었습니다.

관련 정보