Linux mint 를 사용 중인 노트북에서 HDMI 포트로 외장모니터를 사용하려니 모니터에 맞는 해상도가 없었다.

 

처음 보는 상황이라 Linux mint 에서 원하는 해상도를 추가하는 방법을 찾아보았다.

 

내가 사용하는 모니터는 '한성 TFG34Q14W 1500R' 고, 21:9 비율 울트라와이드 모니터다. 

 

https://forums.linuxmint.com/viewtopic.php?t=389338

 

Ultrawide resolution not working [SOLVED] - Linux Mint Forums

Forum rules Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation. thimor Level 1 Posts: 2 Joined: Fri Jan 13, 2023 11:49 am Post by thimor » Fri Jan 13, 2023 12:05 pm Just upgraded from linux mint 18

forums.linuxmint.com

mint 커뮤니티를 돌아다니던 중 위 게시글을 찾게 되었다. 여기서 찾은 정보는 다음과 같다.

xrandr --newmode "2560x1080_60.00" 230.00 2560 2720 2992 3424 1080 1083 1093 1120 -hsync +vsync
xrandr --addmode HDMI-2 "2560x1080_60.00"
1. 관련 질문자가 자기 device 정보를 남길 때 'inxi -Fxxxrz' 라는 명령어를 사용한다.
- Inxi is a command line tool that can be used to find the complete system and hardware details such as;
Hardware,CPU,Drivers,Xorg,Desktop,Kernel,GCC version,Processes,RAM usage,and other useful information.
- CPU / Drivers / Xorg / Desktop / Kernel ... 등 하드웨어와 전체 시스템 정보를 찾기위해 사용하는 툴
2. xrandr 라는 명령어로 화면 해상도를 설정하는 듯 보인다.
- Xrandr is used to set the size, orientation and/or reflection of the outputs for a screen. It can also set the screen size. ( 화면 크기, 방향 등 설정 명령어 ) 

 

나머지는 대충 알겠는데 '230.00 2560 2720 2992 3424 1080 1083 1093 1120 -hsync +vsync' 이 부분이 뭔지 모르겠다. 

 

https://itslinuxfoss.com/set-custom-resolution-using-xrandr/

 

How to Set Custom Resolution Using xrandr?

The “xrandr” is a built-in command line tool to customize screen resolution, orientation, and refresh rates and fix monitor-related bugs. This tool is also beneficial for setting a system-supported custom...

itslinuxfoss.com

 

위 링크로 들어가보면 원하는 해상도를 설정하고 적용하는 방법을 알 수 있다.

 

위에서 궁금했던 부분에 대해서도 알 수 있는데 ... '새 모드에 대한 해상도와 타이밍' 등을 나타낸다고 한다. 

 

이는 다음 명령어로 확인할 수 있다. (General Transfer Format의 약자다.)

 

gtf 3440 1440 60 

3440 1440 은 내 모니터 해상도고 60은 refresh rate 다. 내 모니터는 144hz 까지 지원하지만 노트북에 내장그래픽이라 그냥 60으로 했다. 실행하면 다음 사진처럼 결과가 나온다.

 

 

여기서 Modeline 뒤에서부터 "3440 ... +Vsync" 까지 복사하고 다음 명령어에 사용한다. 여기까지 완료하면 실질적으로 해상도 추가는 완료된다. (두번째 명령어에서 나는 HDMI-1 를 사용했는데 inxi 명령어로 사용할 포트가 어떤건지 확인하고 입력하자)

xrandr --newmode "3440x1440_60.00" 419.11 3440 3688 4064 4688 1440 1441 1444 1490 -HSync +Vsync
xrandr --addmode HDMI-1 "3440x1440_60.00"

 

아마 여기까지만해도 Display 설정에 추가된 해상도가 보일테지만 제대로 적용이 안된다. 이후 로그아웃 했더니 잘 동작했다. 어떤 것이든 설정 후에 뭔가가 안되면 로그아웃을 해보자...

 

아무 인자 없이 xrandr를 실행해보면 아래 HDMI-1 항목에 3440x1440 이 추가된 것을 볼 수 있다. 

 

 

 

 

 

(추가) 로그아웃 / 리부팅 이후 Display Resolution 삭제되는 현상 

처음 설정에서 제대로 적용이 되지 않아서 logout을 해보라고 했었다. 이 땐 로그아웃 이후에도 설정이 유지되어서 원래 그런줄 알았는데 시간이 지나고보니 설정이 삭제되어 있었다. 아무래도 추가한 설정이 유지되지 않는 모양이다. 바로 위에 링크해두었던 페이지에 설정을 저장할 수 있는 방법이 설명되어있다. 다만 나의 경우 zsh를 사용하므로 좀 다르게 설정해야했다. 

 

일단 기본적인 방법은 본인 쉘 설정 파일에 아래와 같은 코드를 추가하는 것이다. 보면 아시겠지만 앞에서 설정할 때 사용한 명령어 두줄이다. 본인의 상황에 맞게 입력해주면 된다. 

xrandr --newmode "3440x1440_60.00"  419.11  3440 3688 4064 4688  1440 1441 1444 1490  -HSync +Vsync
xrandr --addmode HDMI-1 "3440x1440_60.00"

 

첫 번째 경우 : bash 사용자 

위 링크에서 설명하는대로 "~/.profile" 파일에 xrandr 명령어를 추가한다. 

"~/.bash_profile" 이 존재하는 경우에는 이 파일에 추가한다.

 

두 번째 경우 : zsh 사용자 (내 경우다)

"~/.zshrc" 파일에 자신의 xrandr 명령어 두 줄을 추가한다.

 

파일의 변경사항을 저장한 후 로그아웃/리부팅 하면 추가한 설정이 없어지지 않고 유지되어있다.

 

 

 

 

 

* 주의 사항 *

1. HDMI를 연결해도 모니터가 켜지지 않을때 : 아무리 뺐다껴도 반응이 없더니 inxi 명령어를 사용한 후 모니터카 켜졌다. ( 켜지고나니 해상도가 달라서 이 글을 작성하게 되었지만... ) 디바이스 정보를 표시하기위해 refresh 하면서 켜지는거 아닌가... 싶다.

2. 본인이 사용할 디스플레이 포트를 잘 확인하자 : 첫 번째 링크에서는 HDMI-2, 두 번째 링크에서는 wayland0 라고 표시되어있다. 나 같은 경우 inxi -Fxxxrz 명령어로 확인해보니 외장모니터용으로 HDMI-1 포트를 사용 중이었기 때문에 xrandr 명령어의 인자로 HDMI-1 을 사용했다.

 

 

 

생각해보니 똑같은 모니터를 사용하는 데스크탑에서도 똑같은 버전을 사용중인데 왜 노트북에서만 이런건지 잘 모르겠다.. 다른 글도 보다보니 같은 4.x 커널 안에서도 이전버전에서는 해상도가 지원되었다가 다음 버전에서 해상도가 지원이 안되는 경우도 있는걸 보면 자주 있는 일 같기는 하다.

+ Recent posts