※ 환경: Raspberry Pi 4B + Debian GNU/Linux 12
Pi OS는 WayLand를 Display Protocol(Server)로 사용한다.
그러므로, 부팅시 모니터에서 지원하는 특정한 해상도 및 주사율을 설정하기 위해서는 wayland 명령어를 이용한다.
즉, GUI를 통한 해상도 설정은 내부적으로 WayLand 명령어를 통해서 이루어진다.

현재 연결된 모니터의 가능한 해상도및 주사율을 확인하기 위해서는 아래 명령어를 사용한다.
$ wlr-randr
HDMI-A-1 "Samsung Electric Company SAMSUNG 0x01000E00 (HDMI-A-1)"
Physical size: 1420x800 mm
Enabled: yes
Modes:
720x400 px, 70.082001 Hz
640x480 px, 59.939999 Hz
640x480 px, 60.000000 Hz
640x480 px, 66.667000 Hz
640x480 px, 72.808998 Hz
640x480 px, 75.000000 Hz
720x480 px, 59.939999 Hz
720x480 px, 60.000000 Hz
720x576 px, 50.000000 Hz
800x600 px, 60.317001 Hz
800x600 px, 72.188004 Hz
800x600 px, 75.000000 Hz
832x624 px, 74.551003 Hz
1024x768 px, 60.004002 Hz
1024x768 px, 70.069000 Hz
1024x768 px, 75.028999 Hz
1280x720 px, 50.000000 Hz
1280x720 px, 59.939999 Hz
1280x720 px, 60.000000 Hz
1280x720 px, 60.000000 Hz
1152x864 px, 75.000000 Hz
1280x800 px, 59.910000 Hz
1440x900 px, 59.901001 Hz
1280x1024 px, 60.020000 Hz
1280x1024 px, 75.025002 Hz
1600x900 px, 60.000000 Hz
1680x1050 px, 59.882999 Hz
1920x1080 px, 23.976000 Hz
1920x1080 px, 24.000000 Hz
1920x1080 px, 25.000000 Hz
1920x1080 px, 29.969999 Hz
1920x1080 px, 30.000000 Hz
1920x1080 px, 50.000000 Hz
1920x1080 px, 59.939999 Hz
1920x1080 px, 60.000000 Hz
1920x1080 px, 60.000000 Hz (current)
2560x1440 px, 59.951000 Hz
3840x2160 px, 23.976000 Hz
3840x2160 px, 24.000000 Hz
3840x2160 px, 25.000000 Hz
3840x2160 px, 29.969999 Hz
3840x2160 px, 30.000000 Hz
4096x2160 px, 23.976000 Hz
4096x2160 px, 24.000000 Hz
4096x2160 px, 29.969999 Hz
4096x2160 px, 30.000000 Hz
3840x2160 px, 30.000000 Hz (preferred)
Position: 0,0
Transform: normal
Scale: 1.000000
연결된 모니터의 해상도 및 주사율을 변경하는 명령어는 아래와 같다.
(1920x1080 해상도 + 60Hz 주사율)
$ wlr-randr --output "HDMI-A-1" --mode "1920x1080@60"
1920x1080 해상도에서 지원하는 주사율 中,
가장 높은 주사율을 선택하는 Bash Script는 아래처럼 작성한다. (파일 이름: ~/set-best-resolution.sh)
#!/bin/bash
# 디스플레이 이름
OUTPUT="HDMI-A-1"
# 타겟 해상도
RESOLUTION="1920x1080"
# wlr-randr 출력에서 1920x1080 해상도 중 Hz 추출 → 내림차순 정렬 → 가장 높은 주사율 추출
BEST_MODE=$(wlr-randr --output "$OUTPUT" | \
grep "$RESOLUTION px" | \
awk '{ print $3 }' | \
sort -nr | \
head -n 1)
# 확인 및 적용
if [ -n "$BEST_MODE" ]; then
echo "Applying best mode: $RESOLUTION@$BEST_MODE"
wlr-randr --output "$OUTPUT" --mode "$RESOLUTION@$BEST_MODE"
else
echo "No matching resolution $RESOLUTION found."
fi
每 부팅마다 해당 설정이 자동으로 적용되기 위해서는 service로 등록한다.
아래 명령어로 set-resolution.desktop 파일을 만들고,
mkdir -p ~/.config/autostart
vim ~/.config/autostart/set-resolution.desktop
set-resolution.desktop 파일은 다음과 같이 작성한다.
[Desktop Entry]
Type=Application
Exec=/home/YOUR_USERNAME/set-best-resolution.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Auto Set Resolution
Comment=Auto selects highest Hz for 1920x1080
※ 참고 및 출처
https://raspberrypi.stackexchange.com/questions/144876/forcing-hdmi-output-on-bookworm
'Linux > RaspberryPi Server' 카테고리의 다른 글
| [NextCloud] Media Server 구축 (0) | 2025.10.09 |
|---|---|
| [RaspberryPi] Network Manager 고정 IP 설정 (0) | 2024.02.04 |
| [RaspberryPi] SWAP Size 지정 (0) | 2024.02.04 |
| [NAS서버 만들기][#7] DLNA 설정 (삼성 TV 접속)(OMV6) (0) | 2024.02.04 |
| [NAS서버 만들기][#6] SFTP 설정 (외부 접속)(OMV6) (0) | 2024.02.04 |