Linux에서 dummy plug 없이 가상 디스플레이 출력을 얻는 방법

발행: (2026년 1월 10일 오전 06:53 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

참고: 이 가이드는 Xorg에 초점을 맞추고 있습니다. Wayland에서는 같은 결과를 더 쉽게 얻을 수 있는 방법이 있으며, 예를 들어 KDE의 가상‑모니터 구현인 Krfb가 있습니다.

Source:

Method #1 – 기존 출력 중 하나를 포기하기

  1. 사용 가능한 출력 확인

    xrandr
  2. 다음 글의 첫 번째 부분을 따라하기
    How to Create a Virtual Display for Sunshine on Arch Linux – Anton Ždanov ()
    Sunshine‑전용 섹션 전에 멈춥니다.

    팁: EDID 파일은 xrandr로 나중에 추가할 수 있으므로 원하는 사양과 정확히 일치하는 파일을 고를 필요는 없습니다.

Step 1 – EDID 파일 얻기

EDID(Extended Display Identification Data) 파일은 모니터를 시뮬레이션합니다.
v4l‑utils 저장소에서 미리 만든 파일을 다운로드하고 해상도와 기능(예: 4K, HDR)이 필요한 것과 일치하는 파일을 선택합니다.

Step 2 – EDID 파일 배치하기

sudo mkdir -p /usr/lib/firmware/edid
sudo cp samsung-q800t-hdmi2.1 /usr/lib/firmware/edid/

(다운로드한 파일 이름이 samsung-q800t-hdmi2.1이 아니라면 해당 이름으로 바꾸세요.)

Step 3 – 커널 파라미터 설정하기

  1. 사용 가능한 HDMI 또는 DP 출력 찾기

    for p in /sys/class/drm/*/status; do
        con=${p%/status}
        echo -n "${con#*/card?-}: "
        cat "$p"
    done

    출력 이름을 확인합니다(예: HDMI‑A‑1).

  2. 커널 파라미터 추가 (자세한 내용은 Arch Wiki와 EndeavourOS 가이드를 참고)

    drm.edid_firmware=HDMI-A-1:edid/samsung-q800t-hdmi2.1 video=HDMI-A-1:e

    확인한 출력 이름으로 HDMI-A-1을 교체합니다.

  3. mkinitcpio.conf 업데이트

    FILES=(/usr/lib/firmware/edid/samsung-q800t-hdmi2.1)
  4. initramfs 재생성

    sudo mkinitcpio -P
  5. 재부팅

    재부팅 후, 데스크톱의 디스플레이 설정에서 새 디스플레이를 활성화해야 할 수도 있습니다.

Method #2 – Using the EVDI Linux Driver (before adding kernel parameters)

EVDI – Extensible Virtual Display Interface – 은 사용자‑공간 프로그램이 가상 화면을 관리할 수 있게 해 주는 커널 모듈입니다. 주로 DisplayLink 장치에 사용되지만 하드웨어 없이 가상 출력을 만들기 위해 재활용할 수 있습니다.

Background

  • ArchWiki: Extreme Multihead – Using a virtual output
  • Stack‑Exchange discussion: Unable to add a VIRTUAL display to Xorg
  • Etam Software – Virtual screen (clear step‑by‑step guide)

Caveat: 순수 EVDI 솔루션은 데스크톱 환경의 화면 관리자(예: KDE의 KScreen2)와 잘 통합되지 않습니다. 해당 서비스들을 수동으로 비활성화해야 할 수도 있습니다.

Install the EVDI Kernel Module

git clone https://github.com/DisplayLink/evdi.git
cd evdi/module
make && sudo make install          # or
sudo make install_dkms

Load the Module at Boot

# /etc/modules-load.d/local.conf
evdi

Set the Desired Number of Virtual Outputs

# /etc/modprobe.d/local.conf
options evdi initial_device_count=1   # 필요에 따라 숫자를 변경

Activate the Module

Warning: 다음 명령을 실행하면 현재 Xorg 세션이 멈출 수 있습니다.
파일을 편집한 뒤 재부팅하는 것이 안전하며, 아니면 가상 콘솔(Ctrl+Alt+F3)로 전환한 뒤 명령을 실행하십시오.

sudo modprobe evdi

재부팅 후 xrandr 명령을 실행하면 새로운 DVI 출력(예: DVI‑1)이 표시됩니다.
만약 모드가 없으면 xrandr --newmode / --addmode 명령으로 직접 추가하십시오.

이제 Method #1의 단계에 따라 EDID 파일을 연결하고 가상 디스플레이를 활성화할 수 있습니다.

새로 만든 가상 출력 사용하기

  • 스크린‑공유 – VNC, RDP 또는 기타 원격‑데스크톱 솔루션을 사용해 가상 모니터를 노출할 수 있습니다. VNC 트래픽은 기본적으로 암호화되지 않으니 기억하세요.
  • Android 기기 – 지연 시간을 줄이고 고정 IP 주소 설정을 피하려면 ADB reverse 사용을 고려하세요.
adb reverse tcp:5900 tcp:5900   # example for VNC on port 5900

참고 문헌

  • Krfb virtual monitor
  • Anton Ždanov article
  • v4l‑utils EDID repository
  • Arch Wiki – Kernel parameters
  • EndeavourOS systemd‑boot guide
  • EVDI GitHub
  • Etam Software – Virtual screen

행복한 가상‑디스플레이 해킹!

[Virtual screen](https://etam-software.eu/blog/2021-01-09-virtual-screen.html):

4) (optional) Attach Android device through USB cable

    adb reverse tcp:5900 tcp:5900

Now you can point your VNC client application, such as [MultiVNC](https://f-droid.org/packages/com.coboltforge.dontmind.multivnc/), to `localhost:5900`.
Back to Blog

관련 글

더 보기 »

불규칙한 Xfce4 검은 화면 (WIP)

Linux Xfce4에서 발생하는 불규칙한 검은 화면 문제! “An erratic Xfce4 Black Screen WIP” 표지 이미지 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=co...