다른 모니터에서 다른 하위 픽셀 렌더링 설정

다른 모니터에서 다른 하위 픽셀 렌더링 설정

저는 듀얼 모니터를 사용하고 있는데 그 중 하나가 90도 회전되어 있습니다. 회전된 모니터에서 글꼴 앤티앨리어싱이 제대로 보이지 않습니다(즉, 문자 주위에 무지개색 테두리가 나타남).

나는 이것이 X가 두 모니터 모두에서 동일한 하위 픽셀 렌더링 순서를 사용하고 있기 때문이라고 생각합니다. 각 모니터에 대해 서로 다른 하위 픽셀 렌더링 순서를 구성하는 방법이 있습니까? (즉, 모니터 1 = RGB, 모니터 2 = vRGB).

답변1

공유 데스크톱이 아닌 별도의 X 화면으로 디스플레이를 구성해야 합니다. 그런 다음 Ubuntu에서는 개별 X 화면의 하위 픽셀 순서를 조정할 수 있습니다.

그렇지 않으면 하위 픽셀 순서가 다른 두 개의 디스플레이 장치에 걸쳐 있는 창에서는 어떻게 될까요? 또는 더 까다로운 것은 물리적 순서(RGB 대 BGR)가 서로 다른 복제 모드의 두 디스플레이입니다.

이는 현재 모든 운영 체제에 대해 알려진 제한 사항이며 이를 해결하려면 대대적인 재설계가 필요합니다. 렌더링을 수행하는 라이브러리는 사용자가 현재 있는 화면을 알고 동적으로 조정해야 하기 때문에 동적 조정이 가능하지 않습니다. 또한 한 화면에 창의 절반이 있고 다른 화면에 절반이 있다고 가정하면 어느 화면을 선택해야 할지 알 수 없습니다.

여러 X 화면 설정:

  1. X를 부팅하고 재구성합니다. sudo dpkg-reconfigure -phigh xserver-xorg 기본 디스플레이를 설정하는 단계를 따릅니다. (CLI에서 이 특정 단계를 수행하는 방법을 모르겠습니다)
  2. 터미널을 열면
    lspci
    장치 목록과 버스 ID가 표시됩니다. 그래픽 카드를 찾아 버스 ID를 적어둡니다.
  3. xorg.conf어쩌면 복사본을 만들어서 xorg.conf.orig열어보세요:sudo vi /etc/X11/xorg.conf
  4. 이것을 읽어보세요 전에원하는 만큼 맞춤설정할 수 있는지 확인하세요.
  5. 이제 두 개의 Device섹션을 만들고 BusID공유할 카드 목록을 나열하고 다음과 같이 드라이버도 나열하십시오.

    Section "Device"
        Identifier  "nvidia0"
        # Your preferred driver
        Driver      "nvidia"
        # Edit the BusID with the location of your graphics card
        BusID       "PCI:2:0:0"
        Screen      0
    EndSection
    
    Section "Device"
        Identifier  "nvidia1"
        # Your preferred driver
        Driver      "nvidia"
        # Edit the BusID with the location of your graphics card
        BusId       "PCI:2:0:0"
        Screen      1
    EndSection
    
  6. 이제 다음과 같이 두 개의 Screen섹션을 만듭니다(물론 선택한 매개변수를 사용하여 Device이 섹션의 섹션과 Identifier이전 섹션의 섹션만 일치해야 함).

    Section "Screen"
        Identifier  "Screen0"
        Device      "nvidia0"
        Monitor     "Monitor0"
        DefaultDepth 24
        Subsection "Display"
            Depth       24
            Modes       "1600x1200" "1024x768" "800x600" "640x480" 
        EndSubsection
    EndSection
    
    Section "Screen"
        Identifier  "Screen1"
        Device      "nvidia1"
        Monitor     "Monitor1"
        DefaultDepth 24
        Subsection "Display"
            Depth       24
            Modes       "1600x1200" "1024x768" "800x600" "640x480" 
        EndSubsection
    EndSection
    
  7. 이제 Monitor각 모니터에 대한 섹션을 다음과 같이 만듭니다.

    Section "Monitor"
        Identifier "monitor name here"
    EndSection
    
    Section "Monitor"
        Identifier "monitor name here"
        # Rotate as you want (your question says one is rotated)
        Rotate "left"
    EndSection
    
  8. 마지막으로 두 섹션을 ServerLayout모두 사용하고 배치하도록 섹션을 업데이트합니다 Screen.

    Section "ServerLayout"
        ...
        Screen         0 "Screen0" 
        Screen         1 "Screen1" leftOf "Screen0"
        ...
    EndSection
    
  9. X를 다시 시작하고 손가락을 교차시키세요! 작동한다면 원하는 만큼 미세 조정을 진행하세요.

이제 서브픽셀 렌더링 순서를 살펴보겠습니다.또는 /etc/X11/font.conf` font.conf에서 이 변경을 수행하십시오 . ~/font.confbgr

답변2

또 다른 해결책은 모든 LCD 화면의 픽셀 방향이 더 이상 동일하지 않은 경우 앤티앨리어싱을 하위 픽셀 대신 회색조로 설정하는 것입니다.

저는 gnome-tweaks -> 글꼴 -> 앤티앨리어싱 -> 표준을 사용하여 그렇게 했습니다. 나에게는 괜찮습니다. 선명도를 원하는 경우 "없음"으로 설정할 수도 있습니다.

관련 정보