FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

gnome-shell-3.18.1 듀얼 모니터 티어링 패치와 몇가지 추가 패치 파일입니다.

게시판 자료실 gnome-shell-3.18.1 듀얼 모니터 티어링 패치와 몇가지 추가 패치 파일입니다.

  • This topic has 0개 답변, 1명 참여, and was last updated 5 years, 2 months 전에 by 난해주님. This post has been viewed 19 times
  • 만든이
    게시글
  • #18920
    난해주님
    참가자
    • 게시글114
    • 댓글337
    • 총합451
    • ★★
    @workman729

    우선 먼저 밝혀 두어야 할 점은 저는 Nvidia 640 카드와 듀얼 모니터를 이용하고 있습니다.
    제 컴에선 패치 후 정상 동작을 확인 하였으나 다른 사양의 하드웨어를 이용하신 다면 이용시 에러가 발생할 수 있으므로
    이점을 먼저 밝혀 두고 비슷한 환경에서만 이용 하시기 바랍니다.

    아래 두개의 패치 파일에 대해 설명하도록 하겠습니다.

    먼저 load-shell-fix.patch 파일은 gnome-shell의 준비 동작시(로딩시) Activate를 실행하지 않은 상태
    즉 쉘에 대한 아무런 동작이 없는 상태에서 듀얼 모니터 이용시 발생하는 티어링에 대한 패치 입니다.

    준비동작에 Meta.disable_unredirect_for_screen(global.screen)를 추가하였습니다.

    대략적으로 사무실의 nvidia-645, nvidia-750의 그래픽 카드에서 로딩시 unredirect 기능이 없는 경우
    티어링이 발생해서 한번 추가해 보았습니다.

    따로 패치를 적용한 이유는 아래 설명하는 패치가 필요 없으신 분도 계실 것으로 보고
    단순히 티어링 패치를 적용하시고자 한다면 이전에 올려 드린 patch 파일과 함께 적용하여 빌드에 반영하시길 바라기 때문입니다.

    redirect-fix-mod 패치 파일은 기존의 티어링 문제에 대한 패치와 함께
    loginDialog.js 파일에서 듀얼 모니터 사용시 gdm에서 쉘이 로딩 될 때 greeter와의 sync가 딜레이 되는 부분을 아래와 같이 수정 하였습니다.

    +this._greeter.call_start_session_when_ready_sync(serviceName, true, null);
    +},

    두번째는 magnifier.js 파일에서 쉘이 엑티브 상태가 아닐 때와 액티브 상태일 때
    unredirect 기능을 서로 바꾸었습니다. 전적으로 저의 추측에 의한 변경 입니다. (왠지 그래야 할 것 같습니다.)

    if (activate) {
    -Meta.disable_unredirect_for_screen(global.screen);
    +Meta.enable_unredirect_for_screen(global.screen);
    this.startTrackingMouse();
    } else {
    -Meta.enable_unredirect_for_screen(global.screen);
    +Meta.disable_unredirect_for_screen(global.screen);
    this.stopTrackingMouse();
    }

    세번째는 panel.js에서 activate 버튼을 클릭했을 때 Overview 화면에서 animation 추가 실행시 glich가 생기는 부분에 대한 패치입니다.

    네번째는 windowManager.js 파일에선 풀스크린 윈도우 이용시와 풀스크린을 해제 했을 때의 듀얼 모니터에서 animation 실행시
    에러가 발생하는 부분에 대한 패치입니다. 프리징 현상이 있어 git의 commit를 확인 후 반영 하였습니다.

    보다 자세한 사항은 패치 파일과 연계하여 소스를 확인해 보시거나 git의 commit를 확인해 보시기 바라며
    저는 사용에 약간 불편함이 있어 패치를 적용하였지만 위험 부담은 스스로 부담하셔야 할 것 입니다. (사용시 문제점은 아직 발견 하지 못했습니다.)

    아직 페도라 23의 그놈이 preview 버전이라 약간 불안정 한 것 같습니다.
    정식으로 3.18이 나오면 nvidia의 gl_sync 기능 버그를 패치한다는 기사를 확인했는 데 지금 보다는 나아지리라 봅니다.

    참고 하십시오.

  • 답변은 로그인 후 가능합니다.