Linux Programmer

intel 13th gen (i5-1340p)의 리눅스 화면 끊김, 멈춤 증상 본문

컴퓨터 관련/리눅스 데스크탑

intel 13th gen (i5-1340p)의 리눅스 화면 끊김, 멈춤 증상

sunyzero 2023. 2. 15. 19:33

Intel 11th gen인 타이거레이크(Tiger Lake)이 탑재된 랩탑을 쓰다가, 13세대인 랩터 레이크(Raptor Lake)로 교체한 뒤에 X 윈도우(GNOME) 화면이 뚝뚝 끊기는 증상이 발생했다. 심지어 마우스 커서를 이동시키면 뚝뚝 화면 멈춤이 발생해서 커서의 정확한 위치를 알 수 없었다. 도저히 그냥 사용할 수 없을 정도였다.

 

우선 인텔 12세대부터 추가된 E코어(효율 코어) 때문일거라 생각해서 E코어 작동원리를 의심했다. 하지만 화면 반응이 느려지기는 것에 비해 프로그램 수행 속도는 빨랐다. 그래서 단지 화면 갱신 문제라고 추측하였다. 혹시 내가 커스텀 환경으로 설정한 프로그램 문제인가 싶어서 Fedora 37 Live USB로도 부팅해봤는데, 끊김 현상이 같았다. 이로써 디스플레이 모듈인 i915의 문제라는 심증을 갖게 되었다.

 

1. 원인 (PSR)

결론부터 말하자면 화면 끊김의 원인은 PSR기능이었다.[1] PSR이란 Panel Self Refresh 이라는 절전을 위해 화면의 변화가 없을때 패널 갱신을 줄이는 기능이라고 한다. 문제는 이게 기본 설정에서 리눅스와 호환이 잘 안되는건지 화면 갱신이 잘 안됐다. 갱신이 느리거나 잘 안되다보니 뚝뚝 끊김이 발생한다는 것이다. 13세대에서만 생기는 것은 아닌것 같고, 옛날 8세대, 9세대 CPU에서 발생하는 것을 보니 CPU특징보다는 패널 설계에 따른 것 같다.

 

* PSR이 범인인지도 모르고 한 삽질들

처음에는 intel_iommu=on 혹은 intel_iomm=off도 해봤는데 전혀 고쳐지지 않았다. 그 외에 i915.mitigations=off 나 i915.request_timeout_ms=60000 도 해봤는데 전혀 나아지는게 없었다.

i915 커널 모듈 옵션 문서를 보니 /etc/modprobe.d/i915.conf 파일에 options i915 enable_guc=3이나 enable_fbc=1도 추가 하라고 해서 해봤는데 이것도 아무 소용이 없었다.

그러다가 PSR 설정인 i915.enable_psr=1을 커널 파라메터로 설정하니까 거짓말 같이 끊김이 사라졌다. 속쓰림이 사라졌습니다~

속쓰림이 나았습니다

 

 

2. PSR 커널 파라메터 설정 방법

RedHat 계열(CentOS, Fedora, Alma ...) 등은 grubby를 이용하면 쉽게 설정할 수 있다. 

root 명령으로 grubby --args="i915.enable_psr=1" --update-kernel=ALL 을 명령하자. 확인을 위해 grubby --info=0로 설정이 잘 되어있는지 확인해보면 된다.

# grubby --args="i915.enable_psr=1" --update-kernel=ALL

# grubby --info=0
index=0
kernel="/boot/vmlinuz-6.1.10-200.fc37.x86_64"
args="ro rootflags=subvol=root rhgb quiet $tuned_params i915.enable_psr=1"
root="UUID=a0cd36ac-b213-4b57-9af9-4ed1b095ff29"
initrd="/boot/initramfs-6.1.10-200.fc37.x86_64.img $tuned_initrd"
title="Fedora Linux (6.1.10-200.fc37.x86_64) 37 (Workstation Edition)"
id="f7d8771f090a4e25ba7810ff21ff7515-6.1.10-200.fc37.x86_64"

 

설정이 다 되었으면 재부팅해보면 된다. 

 

* 데비안 계열 (Ubuntu, Mint ...등등)

데비안 계열 리눅스에는 grubby가 없으므로 vi로 /etc/default/grub 파일을 직접 편집한다. 해당 파일의 GRUB_CMDLINE_LINUX 항목에 i915.enable_psr=1를 추가하여 저장한다. 그 다음에 update-grub 명령을 실행하면 된다.

 

[1] PSR기능을 아시나요, geek절스, http://www.hwbattle.com/bbs/board.php?bo_table=4kboard&wr_id=5167 

 

PSR 기능을 아시나요? 노트북 화면이 멈춰 고통받고 계신 분들을 위해... > 디스플레이, 노트북, 사

PSR 기능을 아시나요? 노트북 화면이 멈춰 고통받고 계신 분들을 위해... > 디스플레이, 노트북, 사운드, 카메라 게시판 - 하드웨어 배틀(Hardware Battle)

www.hwbattle.com

[2] Hard freezing on Fedora 36 with the new 12th gen system, https://community.frame.work/t/tracking-hard-freezing-on-fedora-36-with-the-new-12th-gen-system/20675/63

 

반응형
Comments