비디오 테어 링을 중지하려면 어떻게합니까? (Nvidia prop 드라이버, 비 합성 창 관리자)


35

독점적 인 Nvidia 드라이버를 사용하는 많은 사람들이 겪는 것처럼 보이는 문제가 있습니다.

비디오 찢기 : 비디오 에 패닝 또는 동작이 많을 때 미세한 수평선 (일반적으로 디스플레이 상단 근처).

(참고 : 존재하지 않는 전원 관리로 인해 배터리가 몇 배 더 빨리 소모되므로 기본 nouveau 드라이버로 다시 전환하는 것은 옵션이 아닙니다)

나는 Totem, Parole 및 VLC를 시도했지만 모두가 찢어집니다. 가장 좋은 결과는 X11 outputVLC에서 사용 하는 것이었지만, 상대적으로 적당한 동작으로 여전히 찢어짐이 있습니다.

하드웨어 : MacBook Air 3,2-Nvidia GeForce 320M.

Nvidia prop 드라이버로 찢어짐에 대한 두 가지 일반적인 수정 사항이 있습니다.

  1. Nvidia 독점 드라이버는 일반적으로 Linux에서 컴 포지 팅 창 관리자와 잘 어울리지 않기 때문에 컴 포지 팅 기능을 해제하십시오 (Compiz는 예외입니다). 그러나 나는 합성 (또는 멋진 효과)조차 할 수없는 매우 가벼운 창 관리자 (Awesome Window Manager)를 사용합니다. 또한 Xfce 에서이 문제가 발생하여 합성을 비활성화했습니다.

  2. VBlank에 동기화 사용 이를 가능하게하기 위해 옵션을 설정 nvidia-settings한 다음 nvidia-settings -l다른 자동 시작 프로그램과 마찬가지로 자동 시작합니다. 내가 실행하면 다음과 같은 이점이 있기 때문에 작동하는 것 같습니다 glxgears.

    $ glxgears
     Running synchronized to the vertical refresh.  The framerate should be
    approximately the same as the monitor refresh rate.
    303 frames in 5.0 seconds = 60.500 FPS
    300 frames in 5.0 seconds = 59.992 FPS
    

    그리고 다음을 사용하여 새로 고침 빈도를 확인하면 nvidia-settings:

    $ nvidia-settings -q RefreshRate
    Attribute 'RefreshRate' (wampum:0.0; display device: DFP-2): 60.00 Hz.
    

    이 모든 것은 VBlank와의 동기화 활성화 되었음을 나타냅니다 . 내가 알기로, 이것은 찢어짐을 멈추도록 정확하게 설계되었으며 많은 사람들의 문제는 심지어 glxgears올바른 정보를 출력하는 것과 같은 것을 얻고 있습니다. 왜 그것이 효과가 없는지 이해할 수 없습니다.

xorg.conf : http://paste.ubuntu.com/992056/

관찰 된 인 열의 예 : :비디오 찢기


xbin.conf 파일을 pastebin.com 할 수 있습니까? Option "TripleBuffer" "1"xorg.conf 파일에서 실험 했습니까 ?
fossfreedom

TripleBuffer를 시도했습니다. 조금 도움이되는 것처럼 보이지만 별로는 아닙니다. 내 pastebin xorg.conf합니다.
Chan Chan Ho

듀얼 모니터를 사용하고 있습니까?
Alistair Buxton 1

브라우저에서 Flash와 함께 12.10에서 동일한 문제가 발생하지만 VLC에서 눈물이 나지 않고 창을 드래그 할 때도 마찬가지입니다. 그 이후로 해결책을 찾았습니까?
Bleep Bloop

답변:


18

한 가지 시도해 볼 있습니다. 엔비디아 설정을 열고 파워 마이저 섹션으로 이동하십시오. 드롭 다운에서 "최대 성능"을 선택하면 파워 마이저 레벨이 가장 빠른 속도로 점프하는 것을 볼 수 있습니다.

그런 다음 비디오를 사용해보십시오.

과거에는 nvidia 카드가 가장 느린 파워 마이저 설정에있을 때 vsync가 작동하지 않는 것으로 나타났습니다.


고맙습니다! 이것은 아치 리눅스에서 독점적 인 nvidia 드라이버 (310.19)를 사용하여 나를 위해 일했습니다. 나는 이것을 꽤 오랫동안 해결하려고 노력했다. 그런 이상한 문제.
리드

명령 행에서이 설정을 제어 할 수 있습니까? 비디오 플레이어를 시작할 때 활성화하고 플레이어를 닫은 후에 비활성화 할 수 있습니까?
panzi

1
nvidia-settings -a GPUPowerMizerMode=1성능과 nvidia-settings -a GPUPowerMizerMode=2자동으로 설정합니다 .
panzi

11

듀얼 모니터를 사용하는 경우 nvidia 드라이버는 정확히 동일한 화면 주사율을 사용하지 않는 한 디스플레이 중 하나의 vblank에만 동기화 할 수 있습니다. 그리고 나는 정확히 의미 합니다 . 두 모니터가 모두 동일한 유형이 아닌 한 효과적으로 불가능합니다. nvidia 드라이버가 잘못된 디스플레이와 동기화하는 경우 (예 : 외부 TV에서 영화를 보려고 할 때 내장 디스플레이와 동기화) 선택을 무시할 수 있습니다. nvidia 드라이버 설명서에서 :

TwinView와 함께 __GL_SYNC_TO_VBLANK를 사용하는 경우 OpenGL은 디스플레이 장치 중 하나에 만 동기화 할 수 있습니다. 이로 인해 OpenGL이 동기화되지 않는 디스플레이 장치가 찢어 질 수 있습니다. 환경 변수 __GL_SYNC_DISPLAY_DEVICE를 사용하여 OpenGL을 동기화 할 디스플레이 장치를 지정할 수 있습니다. 이 환경 변수를 디스플레이 장치 이름으로 설정해야합니다. 예를 들어 "CRT-1"입니다. 존재하는 디스플레이 장치 목록과 이름을 보려면 X 로그 파일에서 "Connected display device (s) :"행을 찾으십시오.

나는 이것을 / etc / environment에 영구적으로 설정했습니다-새로운 줄에 다음과 같이 추가하십시오 :

__GL_SYNC_DISPLAY_DEVICE="DFP-0"


안녕하세요 Alistair. 제안 해 주셔서 감사하지만 단일 디스플레이 만 사용합니다.
찬찬 호

7

저도 인텔 샌드 브리지 프로세서에서 비디오가 찢어졌습니다. 이것은 나를 위해 일했습니다. "/ etc / environment"에 다음 줄을 넣었습니다.

CLUTTER_PAINT = 사용 중지 된 다시 그리기 : 사용 불가 컬링
CLUTTER_VBLANK = 참

그리고 효과가있었습니다. 끝에서 Enter 키를 누르고이 행을 복사하여 붙여 넣습니다. 다시 시작해야 할 수도 있습니다. 시도 해봐.


2
제안 해 주셔서 감사하지만 Gnome3 환경 변수 (예 : Gnome Shell에서 사용)입니다. 나는 최소한의 창 관리자를 사용하므로 나에게 적용되지 않습니다. 또한 Sandy Bridge 프로세서가 없습니다.
Chan Chan Ho

이 솔루션은 13.04의 Cinnamon 데스크톱 (Mutter window manager) 및 nvidia 313 드라이버에서 겪는 인열 문제를 해결했습니다. 오래된 게시물을 부딪쳐서 죄송합니다. 감사합니다.
askuhn

4

NVIDIA GeForce G102M을 사용하여 ASUS K50IN 노트북에서 비디오의 vsync 문제를 해결하는 방법은 다음과 같습니다 . 카드가 다르기 때문에 마일리지가 다를 수 있음을 알고 있지만 시도해 볼 수 있습니다 ... 나에게 대한 속임수는 베어 본 MPlayer (MPlayer2 아님)를 사용하는 것이 었습니다. 다른 플레이어와는 작동하지 않습니다.

  1. ccsm에서 일반적인 compiz 마술을하십시오

    • 컴포지트에서 새로 고침 빈도 감지를 끄고 모니터의 현재 모니터를 수동으로 입력하십시오.
    • '텍스처에 복사'를 켰는데 이것이 도움이되는지 확실하지 않습니다.
    • OpenGL에서 : 텍사스 필터-최상
    • VBlank와 동기화가 켜져 있습니다.
    • Unity 플러그인 : (이것이 도움이되었는지는 확실하지 않지만 속도를 향상시키는 것으로 보입니다) Panel Opacity-1.0000, Launcher Opacity와 동일합니다. 대시 블러-정적
  2. 일반적인 엔비디아 설정 마법을 수행하십시오.

    • XVideo 및 OpenGL 설정 모두에서 VBlank에 동기화 활성화
    • OpenGL 설정에서 이미지 설정을 고품질로 설정
    • 디스플레이 구성에서 해상도를 수동으로 설정 한 다음 새로 고침 빈도를 자동에서 현재 새로 고침 빈도로 설정하십시오.
  3. mplayer와 vdpau 설치

    • 패키지 : mplayer libvdpau1 vdpau-va-driver
  4. MPlayer를 설정하십시오 (저는 gnome-mplayer도 시도했지만 시도한 것과 같은 결과를 얻지 못했습니다)

    • ~ / .mplayer / config 파일을 열거없으면 파일을 만드십시오. .mplayer 폴더를 만들어야 할 수도 있습니다 . 다음을 포함해야합니다.
[default]
ao=pulse
vo=vdpau

펄스 오디오를 제거한 경우 ao를 alsa로 변경하십시오.

로그 아웃 / 다시 로그인하여 X를 다시 시작하십시오.

언제나처럼 YMMV를 사용해보십시오. 특히 LTS가 아닌 릴리스 또는 베타 드라이버의 경우 비디오 코덱에 따라 더 이상 작동하지 않을 수 있습니다.


1

이것은 ATI 라데온 드라이버에서 저에게 효과적이므로 다음과 같이 효과가 있습니다.

구성 파일 추가 (예 : /etc/X11/xorg.conf.d/20-nouveau.conf)

이것으로 구성 :

Section "Device"
    Option      "EXAVsync"  "True"
    Option      "GLXVBlank" "True"
    Identifier  "Nvidia card"
    Driver      "nouveau"
EndSection

EXA는 비디오 합성을위한 프레임 워크입니다. 기본적으로 vsnc가 아닌 것 같습니다.

비디오를 재생하기 위해 다른 소프트웨어 (예 : vlc)를 사용해 보는 것도 좋습니다.


1
필자가 언급했듯이 기본 드라이버로 전환하는 것은 옵션이 아닙니다.
찬찬 호

1

이것이 당신에게 도움이 될지 확실하지 않지만 그것은 나를 위해 일했습니다. 엔비디아 설정을 열고 빈도를 자동에서 60으로 변경 한 다음 적용을 누릅니다. 이것은 비디오 찢어짐과 일반적인 바탕 화면 깜박임과 관련된 문제를 해결했습니다. 슬프게도 다시 시작할 때 마다이 작업을 수행해야합니다.


1
내 게시물에서 설명했듯이 디스플레이 새로 고침 빈도 60Hz입니다. 문제에 관해서는 이 대답을 따르십시오 .
Chan Chan Ho

1

나는 비디오 똑같은 문제가 발생했습니다. 제 경우에는 풀 스크린 모드에서만 티어 다운이 발생한다는 것을 알았습니다. 문제는 비디오를 전체 화면으로 조정하는 것 같습니다. 재생되는 비디오의 원래 크기와 화면 해상도 비율이 일치하지 않을 때마다 비디오가 찢어집니다. smplayer에서 종횡비를 디스플레이 종횡비로 설정하면 문제가 해결되었습니다.

예를 들어 1280x714 크기의 비디오를 전체 화면으로 재생하고 있었는데 비디오가 찢어졌습니다. 비디오의 가로 세로 비율을 16 : 9로 강제 설정하면 재생이 매끄 럽습니다.

나는 문제의 근본 원인이 거기에 머물러 있고 성가신 것에 주목해야합니다. 종횡비가 원래대로 유지되지 않기 때문에 비디오에 약간의 변형이 생깁니다. 그러나 눈물없이 보는 것이 좋습니다.)


1

Ubuntu 12.04LTS 64 비트를 사용하고 nvidia gtx 660ti가 있습니다.

해결책을 찾을 때까지 한 달 동안 비디오가 찢어졌습니다.

nvidia x 서버 설정 -> PowerMizer- > PowerMizer 설정 (하단 근처)을 열고 "선호하는 모드"에서 설정을 적응 에서 최대 성능 선호로 변경하십시오 .



0

듀얼 모니터를 사용하지 않는 경우 다른 가능성이 있습니다. vblank와 동기화에는 XVideo 용과 OpenGL 용의 두 가지 종류가 있습니다. nvidia 설정에서 하나는 "X Server XVideo 설정"에 있고 다른 하나는 "OpenGL / 설정"에 있습니다. 실제로 비디오 재생 소프트웨어에 영향을주는 것은 사용중인 출력 플러그인에 따라 다릅니다.


VLC에는이 두 출력에 대한 옵션이 있으며 두 가지 모두를 시도했습니다.
Chan Chan-Ho

0

나는 당신이 실제로 눈물을 흘리고 있는지 여부를 당신의 설명에서 확신하지 못합니다. 일반적으로 찢기는 부분이 일치하지 않는 그림이 두세 섹션으로 가로로 나뉘어 진 것처럼 보입니다. 이것은 영상의 상단 부분과 하단 부분이 비디오의 동일한 프레임에서 나오지 않기 때문에 발생합니다. 위키 백과는 좋은 시뮬레이션이 예제화면 찢어 . 디인터레이싱이 좋지 않아 인공물을 빗질 하는 것처럼 미세한 수평선이 다르게 들리지만 설명하기는 어렵습니다.

해상도, 인코딩, 인터레이스 또는 프로그레시브 및 VLC에서 디인터레이싱이 켜져 있는지 여부와 같이보고자하는 비디오의 세부 사항은 언급하지 않습니다. 비디오 처리가 GPU 로 오프로드 되는지 또는 CPU가 모든 작업을 수행하는지 여부를 확인하는 것이 좋습니다. 다른 하드웨어 또는 OS X을 사용하는 MacBook에서 동일한 비디오를 볼 수 있음을 확인 했습니까?

XFCE에서 컴 포지 팅을 비활성화하고 시도했지만 추가를 시도해도 아프지 않을 것입니다.

Section "Extensions"
    Option "Composite" "Disable"
EndSection

확실하게 /etc/X11/xorg.conf에 또한 지금까지 언급되지 않은 다른 제안은 다음을 추가하는 것입니다.

Option "UseEvents" "True"

xorg.conf의 장치 또는 화면 섹션으로 이동하십시오.

최신 정보:

첨부 된 스크린 샷은 분명히 찢어짐을 보여줍니다! 플레이어가 다른 방식으로 비디오 디코딩을 유지하는 경우 (즉, 말더듬 속도 저하, 끊김 방지) CPU 또는 GPU가 디코딩을 수행하는지 여부는 중요하지 않습니다. VLC에는 환경 설정의 비디오 설정 페이지에 "가속 비디오 출력"을 켜거나 끄는 옵션이 있습니다. 켜져 있으면 GPU를 사용하여 디코딩해야합니다. top비디오를 재생하는 동안 VLC에서 해당 설정을 토글 하고 터미널에서 실행 하면 두 설정간에 CPU 사용량에 차이가 있습니다. VLC에서 디인터레이싱을 해제하여 차이가 있는지 확인할 수도 있습니다.

두 가지 다른 제안이 있습니다.

xorg.conf에 분명히 잘못된 것이 보이지는 않지만 vblank 설정과 동기화 (X Server XVideo 설정 및 OpenGL 설정 모두)가 .nvidia-settings-rc에 올바르게 저장되어 있는지 다시 확인할 수 있습니다. 어떤 사람들은 nvidia 설정을 루트로 실행하거나 gksudo를 사용하여 (/etc/X11/xorg.conf를 업데이트 할 수 있음) 설정이 ~ /가 아닌 /root/.nvidia-settings-rc에 저장 될 수 있습니다. 엔비디아 설정 rc. 자신의 사본을 가져와야하지만 의심을 피하기 위해 nvidia 설정을 실행할 때 vblank 설정을 모두 확인해야합니다. 설정의 맨 아래 페이지에서 "현재 구성 저장"을 누르는 것을 잊지 마십시오. 당신이 실행하는 경우 :

nvidia-settings -q=XVideoTextureSyncToVBlank -q=SyncToVBlank

두 설정이 모두 1로 설정되어 있어야합니다. 그러나 위의 명령을 다시 부팅하고 다시 실행하여 설정을 자동로드하는 것이 작동하는지 확인해야합니다.

시도 할 수있는 다른 방법은 nvidia 드라이버를 업그레이드 / 다운 그레이드하는 것입니다. 전에 약간의 드라이버 버전 업데이트가 찢어졌습니다. nvidia 드라이버에는 "좋은"버전과 "나쁜"버전이 있으며 최신 버전이 항상 최고는 아닙니다. X-swat PPA를 사용하여 업그레이드를 시도 할 수 있습니다.

https://launchpad.net/~ubuntu-x-swat/+archive/x-updates

12.04에서 사용 가능한 이전 버전으로 다운 그레이드 할 수 있습니다.

https://launchpad.net/ubuntu/precise/amd64/nvidia-current 또는 https://launchpad.net/ubuntu/precise/i386/nvidia-current

amd64 또는 i386 설치 여부에 따라 시도하려는 오른쪽의 버전 번호를 클릭하고 .deb 파일을 다운로드 한 후 다음을 사용하여 설치하십시오.

sudo dpkg --install <name of file>.deb

예를 들어, 관련이없는 엔비디아 버그로 인해 이것을 다운로드해야했습니다.

http://launchpadlibrarian.net/90395807/nvidia-current_290.10-0ubuntu2_amd64.deb

...에서

https://launchpad.net/ubuntu/precise/amd64/nvidia-current/290.10-0ubuntu2

다음을 사용하여 설치했습니다.

sudo dpkg --install nvidia-current_290.10-0ubuntu2_amd64.deb

하나의 다른 작은 점 : 다른 대답은 새로 고침 빈도를 자동에서 60Hz로 변경한다고 언급하고 이미 60Hz로 설정되어 있다고 말합니다. 그러나 첨부 된 xorg.conf에는 메타 모드 (화면 섹션)에 nvidia-auto-select가 있으며, 이는 수정되지 않았 음을 나타냅니다. 그러나 모니터 정의는 60.0 만 제공하므로 결과가 중요하지 않을 수 있습니다. xorg.conf를 백업 및 이동하고 nvidia-xconfig 및 nvidia-settings를 다시 실행하여 다른 구성이 있는지 확인하는 것이 흥미로울 수 있습니다.


안녕 데이비드. 내 주장 된 찢어짐의 이미지를 올렸습니다 :-) "찢어짐"과 일치하는지 알려주세요. 내가 본 모든 비디오에서 거의 발생하기 때문에 구체적인 내용을 다루는 것이 가치가 없다고 생각했습니다. 구체적으로 테스트 할 사항에 대한 제안이 있습니까? 나는 그 옵션을 시도했지만 그 후에 제거했지만 어쩌면 내가 시도해야 할 조합이 있습니까? 붙여 넣은 xorg.conf를 볼 수 있다면, 겉보기에 문제가 있는지 알려주세요. GPU가 작동하지 않는지 어떻게 확인합니까? 마지막으로, 동일한 비디오는 동일한 컴퓨터의 OS X에서 전혀 문제가 없습니다.
Chan Chan Ho

누보 드라이버는 같은 문제가없는 것 같습니다. 내가 다르게 진단 할 수있는 유일한 것은 nouveau의 경우 FPS가 추가 구성없이 약 600이라는 것입니다.
Chan Chan Ho

예, 그것은 찢어지는 것처럼 보입니다. 의심의 여지가 :-)
데이비드 에드워즈

귀하의 의견에 따라 추가 제안을 추가했습니다.
David Edwards

불행히도, 운이 없다. 누보에 문제가 없는지 궁금하지만 Nvidia가 GeForce 320M에 대한 지원을 개선 할 때까지 기다리는 것이 유일한 방법이라고 생각합니다.
Chan Chan Ho

0

David 이전 게시물 외에도 X-swat PPA를 사용하여 최신 NVidia 독점 드라이버를 설치하려는 경우 apt 소스에 추가 할 수도 있습니다.

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current

그러면 최신 버전이 설치되고 배송과 관련된 최신 정보가 유지됩니다.


0

죄송합니다.이 답변은 Ubuntu가 아닌 openSuSE에 대한 것이지만 마침내 이러한 변경 사항을 적용했습니다.

  • 일시적으로 합성 / 창 효과 비활성화 (openSuSE에서 Alt + Shift + F12)
  • "비디오"설정이 "OpenGL 비디오 출력 (실험)"으로 설정된 상태에서 VLC를 사용하십시오. "가속 비디오 출력 (오버레이)"도 확인됩니다. 중요한 경우 VLC 2.1.1을 사용하고 있습니다.
  • mjnichol의 답변과 같이 PowerMizer 설정을 성능으로 설정하십시오.
  • Amir Dizdarević의 답변에서와 같이 OpenGL 설정을 높음으로 설정하십시오.

그것이 도움이되기를 바랍니다! 컴 포지 팅과 함께 작동하도록 설정하는 것이 있다고 생각하지만 적어도 테스트를 위해 컴 포지 팅을 비활성화하는 것이 좋습니다. 내 설정은 4K 모니터 및 GTX 650 그래픽 카드입니다.


0

비디오 출력을 "OpenGL GLX"로 변경하여 VLC에 대해이 문제를 해결할 수 있습니다.


0

64 비트 Elementary OS Luna (Ubuntu 12.04 LTS 기반)를 실행 중이며 동일한 문제가 있습니다. 주변을 둘러 보면 마침내 작동하는 방법을 찾았으며 다른 많은 사람들이 이미 말했듯이 "Powermizer settings to Performance"솔루션이 포함되어 있습니다.

문제는 다시 시작한 후 이러한 설정이 기본 "자동"설정으로 복원되고 Nvidia-Settings 응용 프로그램이 Powermizer의 새 설정을 올바르게 저장하지 않는 것입니다. 걱정 마세요!!!

아래 지침을 따르십시오. 너무 간단합니다.

http://ubuntu.aspcode.net/view/635400140124705175636416/nvidia-settings-powermizer-performance-mode-on-12044-64-bit

기사에서 알 수 있듯이 시작 응용 프로그램을 작성하면 좋습니다 !!!! 저를 신뢰하십시오 !!! 솔루션을 제공 한 Nvidia Customer Care의 Mike에게 이것을 게시 해준 Aquablue에게 감사드립니다.

참고로, Phenom II X4, 8GB DDR3 RAM, Corsair SSD, GTX 650, Elementary Luna 64 비트가 있습니다.


0

커서로 창을 선택하고 창을 움직여서 찢어짐을 수정했습니다. X의 콜백 문제처럼 보입니다.

나를 위해 vlc 수정은 다음과 같습니다.

vlc-> 도구-> 환경 설정-> 비디오-> '출력'드롭 다운에서 x11 video output(XCB)


-2

가벼운 창 관리자 (아마도 openbox)를 실행하고있는 것 같습니다. 이 경우 xcompmgr을 복합 관리자로 사용하여 그림자, 투명도 등과 같은 데스크탑 효과를 얻을 수 있습니다. 제 경우에는 xcompmgr을 끄면 같은 문제가 해결되었습니다. HD (CPU를 많이 사용함). 분명히, 오랫동안 버린 프로젝트 인 xcompmgr의 버그로 인해 찢어짐이 발생했습니다. xcompmgr을 끄려면 "killall xcompmgr"을 실행할 수 있습니다. 작동합니다. 그것이 도움이되기를 바랍니다! 살루 도스! 파블로


내 게시물을 매우 신중하게 읽는 것처럼 보이지 않습니다. 또한, 당신은 죽일 필요가 없습니다 xcompmgr. 처음부터 시작하지 마십시오.
찬찬 호
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.