NVIDIA에서 Gentoo 찢어짐 문제를 어떻게 처리합니까?

NVIDIA에서 Gentoo 찢어짐 문제를 어떻게 처리합니까?

바라보다Linux에서 비디오 찢어짐이 발생하는 이유는 무엇입니까?우선 찢어짐이 문제가 되는 이유와 일반적으로 제안되는 "트릭"(예: "합성 비활성화", GLXVBlank true)이 종종 작동하지 않는 이유는 무엇입니까?

이 질문은 더 구체적이지만 여전히 많은 사용자에게 충분히 일반적입니다. NVIDIA 기반 그래픽 카드를 사용하여 젠투에서 티어링을 어떻게 처리합니까?

"처리"란 순수한 무차별 대입을 통해 달성된 매우 구체적인 설정을 사용하여 제거하는 방법, 또는 최소한 영향을 최소화하는 방법을 의미합니다.

저는 독점 및 무료 드라이버, 다양한 버전, 다양한 커널, 다양한 X 구성 및 드라이버 옵션을 사용해 보았습니다. 아직 다른 창 관리자를 사용해 본 적이 없습니다. 왜냐하면 이것저것 만질 시간이 없기 때문입니다.

바퀴를 재발명하는 대신 Wayland가 더 많은 견인력을 얻기를 기다리는 동안 누군가가 이러한 부작용을 최소화할 수 있는 좋은 설정을 이미 알고 있을 수도 있습니다. kirill-a가 다른 질문에서 제안한 것처럼 "따라서 화면 잘림 문제는 다른 드라이버를 사용해보고 구성하면 해결될 수 있습니다."

창 관리자, 드라이버, 커널(중요한 특정 커널 옵션을 언급해 주세요), X 구성 및 미디어 플레이어의 어떤 조합이 최상의 결과를 제공합니까?

답변1

저는 Arch에서 NVidia를 사용하면서 많은 찢김을 경험했습니다. 나는 제안을 시도했다이 답변당신이 연결 한 질문에. 나를 위해 그것을 완전히 제거했습니다.

이것은 최신 독점 NVidia 드라이버를 사용하고 있습니다. 그 이후로 Mate(marco)나 LXDE(openbox)에서 눈에 띄는 찢어짐을 본 적이 없습니다.

(내 시스템/설정에 대해 더 자세한 내용을 알고 싶으면 알려주시기 바랍니다.)

답변2

귀하의 의견에서 요청하신 정보를 제공할 수 없으므로 다음과 같습니다.

하드웨어

$ sudo lshw -C system
bedroom-gentoo            
    description: Desktop Computer
    product: M68M-S2P ()
    vendor: Gigabyte Technology Co., Ltd.
    width: 64 bits
    capabilities: smbios-2.4 dmi-2.4 vsyscall32
    configuration: boot=normal chassis=desktop uuid=31433646-3635-3539-3430-3543FFFFFFFF 

$ sudo lshw -C video
  *-display               
       description: VGA compatible controller
       product: GF116 [GeForce GTX 550 Ti]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:02:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:26 memory:f8000000-f9ffffff memory:d0000000-d7ffffff memory:dc000000-dfffffff ioport:ac00(size=128) memory:fa000000-fa07ffff

$ sudo lshw -C memory
  *-firmware              
       description: BIOS
       vendor: Award Software International, Inc.
       physical id: 0
       version: FC
       date: 08/25/2010
       size: 128KiB
       capacity: 960KiB
       capabilities: pci pnp apm upgrade shadowing cdboot bootselect socketedrom edd int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb ls120boot zipboot biosbootspecification
  *-cache:0
       description: L1 cache
       physical id: 8
       slot: Internal Cache
       size: 128KiB
       capacity: 128KiB
       capabilities: synchronous internal write-back
  *-cache:1
       description: L2 cache
       physical id: a
       slot: External Cache
       size: 1MiB
       capacity: 1MiB
       capabilities: synchronous internal write-back
  *-cache
       description: L1 cache
       physical id: 4
       slot: Internal Cache
       size: 128KiB
       capacity: 128KiB
       capabilities: synchronous internal write-back
  *-memory:0
       description: System Memory
       physical id: 1f
       slot: System board or motherboard
       size: 4GiB
     *-bank:0
          description: DIMM 800 MHz (1.2 ns)
          physical id: 0
          slot: A0
          size: 2GiB
          width: 64 bits
          clock: 800MHz (1.2ns)
     *-bank:1
          description: DIMM 800 MHz (1.2 ns)
          physical id: 1
          slot: A1
          size: 2GiB
          width: 64 bits
          clock: 800MHz (1.2ns)

소프트웨어 및 드라이버

$ eix nvidia-drivers
[I] x11-drivers/nvidia-drivers
     Available versions:  [M]96.43.23^msd [M]173.14.39^msd [M]173.14.39-r1^msd[1] 304.125^msd 331.113^msd 340.76^msd 343.36^msd 346.72^msd (~)346.82^msd 349.16^msd (~)352.21^msd {+X acpi custom-cflags gtk gtk2 gtk3 kernel3-13 kernel3-14 +kernel3-17 multilib pax_kernel (+)tools uvm KERNEL="FreeBSD linux"}
     Installed versions:  352.21^msd(03:35:53 PM 06/21/2015)(X acpi gtk2 gtk3 multilib tools -pax_kernel -uvm KERNEL="linux -FreeBSD")
     Homepage:            http://www.nvidia.com/
     Description:         NVIDIA Accelerated Graphics Driver

$ eix gentoo-sources
[?] sys-kernel/gentoo-sources
     Available versions:  
     (3.4.106) ~3.4.106^bs
     (3.4.107) ~3.4.107^bs
     (3.4.9999) **3.4.9999^bs
     (3.10.77) 3.10.77^bs
     (3.10.79) ~3.10.79^bs
     (3.10.80) ~3.10.80^bs
     (3.10.81) ~3.10.81^bs
     (3.12.44) 3.12.44^bs
     (3.12.9999) **3.12.9999^bs
     (3.14.41) 3.14.41^bs
     (3.14.42) ~3.14.42^bs
     (3.14.43) ~3.14.43^bs
     (3.14.44) ~3.14.44^bs
     (3.14.45) ~3.14.45^bs
     (3.18.16) 3.18.16^bs
     (3.19.8) ~3.19.8^bs
     (4.0.4) ~4.0.4^bs
     (4.0.5) 4.0.5^bs
     (4.0.6) ~4.0.6^bs
     (4.1.0) ~4.1.0^bs
       {build deblob experimental symlink}
     Installed versions:  3.17.7(3.17.7)^bs(10:31:35 AM 01/23/2015)(-build -deblob -experimental -symlink) 4.0.5(4.0.5)^bs(09:21:14 AM 07/19/2015)(-build -deblob -experimental -symlink)
     Homepage:            http://dev.gentoo.org/~mpagano/genpatches
     Description:         Full sources including the Gentoo patchset for the 4.1 kernel tree

$ eix qt-meta
* dev-qt/qt-meta
     Available versions:  (4) 4.8.5
       {+dbus examples kde openvg +qt3support +webkit}
     Homepage:            https://www.qt.io/
     Description:         Cross-platform application development framework (metapackage)

$ eix kde-meta
[I] kde-base/kde-meta
     Available versions:  (4) 4.14.3
       {accessibility aqua kdepim minimal nls sdk}
     Installed versions:  4.14.3(4)(11:31:06 PM 02/01/2015)(nls -accessibility -aqua -kdepim -minimal -sdk)
     Homepage:            http://www.kde.org/
     Description:         KDE - merge this to pull in all split kde-base/* packages

$ eix vlc
[I] media-libs/phonon-vlc
     Available versions:  0.7.2 ~0.8.2 **9999 {debug +qt4 qt5}
     Installed versions:  0.7.2(02:16:52 AM 07/20/2015)(qt4 -debug -qt5)
     Homepage:            https://projects.kde.org/projects/kdesupport/phonon/phonon-vlc
     Description:         Phonon VLC backend

[I] media-video/vlc
     Available versions:  2.1.5-r1(0/5-7) **2.1.9999(0/5-7) ~2.2.0(0/5-8) ~2.2.1(0/5-8) **2.2.9999(0/5-8) **9999(0/5-8) {+X a52 aalib alsa altivec atmo +audioqueue avahi +avcodec +avformat bidi bluray cdda cddb chromaprint dbus dc1394 debug dirac directfb directx dts dvb +dvbpsi dvd dxva2 egl +encode faad fdk +ffmpeg flac fluidsynth fontconfig +gcrypt gme gnome gnutls growl httpd ieee1394 ios-vout jack jpeg kate kde libass libav libcaca libnotify (+)libsamplerate libtar libtiger linsys lirc live lua +macosx +macosx-audio (+)macosx-dialog-provider (+)macosx-eyetv (+)macosx-qtkit (+)macosx-quartztext +macosx-vout matroska media-library modplug mp3 mpeg mtp musepack ncurses neon ogg omxil opencv opengl optimisememory opus png (+)postproc projectm pulseaudio +qt4 qt5 rdp rtsp run-as-root samba schroedinger sdl sdl-image sftp shout sid skins speex svg +swscale taglib test theora tremor truetype twolame udev upnp v4l vaapi vcdx vdpau vlm vnc vorbis vpx wma-fixed x264 x265 +xcb xml xv zeroconf zvbi CPU_FLAGS_X86="mmx sse" ELIBC="glibc"}
     Installed versions:  2.1.5-r1(02:03:10 AM 07/20/2015)(X a52 aalib alsa avcodec avformat bidi cdda cddb dbus dts dvbpsi dvd encode ffmpeg flac fluidsynth fontconfig gcrypt httpd ieee1394 jack kate kde libcaca libnotify lirc lua modplug mp3 mpeg musepack ncurses ogg opengl png postproc pulseaudio qt4 sdl speex svg swscale taglib theora truetype udev vorbis x264 xcb xml xv -altivec -atmo -audioqueue -avahi -bluray -chromaprint -dc1394 -debug -dirac -directfb -directx -dvb -dxva2 -egl -faad -fdk -gme -gnome -gnutls -growl -ios-vout -libass -libav -libsamplerate -libtar -libtiger -linsys -live -macosx -macosx-audio -macosx-dialog-provider -macosx-eyetv -macosx-qtkit -macosx-quartztext -macosx-vout -matroska -media-library -mtp -neon -omxil -opencv -optimisememory -opus -projectm -rdp -rtsp -run-as-root -samba -schroedinger -sdl-image -sftp -shout -sid -skins -test -tremor -twolame -upnp -v4l -vaapi -vcdx -vdpau -vlm -vnc -wma-fixed -zvbi CPU_FLAGS_X86="mmx sse" ELIBC="glibc")
     Homepage:            http://www.videolan.org/vlc/
     Description:         VLC media player - Video player and streamer

내 커널 소스는 더 이상 트리에 없습니다. 나는 시스템이 빌드된 커널(개인 취향)을 유지하려고 시도했으며 genkernel-next다음 conf 파일을 사용했습니다.

$ cat /etc/genkernel.conf
\# Configuration file for genkernel

# This file is sourced by genkernel at startup and determines which options
# we will be using to compile our kernel.  The order of precidence is simple,
# with the internal settings being least important, configuration file
# settings next, and command line options being most important.

# =========Common Command Line Option Defaults=========

# Should we install to $BOOTDIR?  Default is "no" because genkernel is used in
# catalyst and stage building.
INSTALL="yes"

# Run 'make oldconfig' before compiling this kernel?
OLDCONFIG="yes"

# Run 'make menuconfig' before compiling this kernel?
MENUCONFIG="yes"

# Run 'make nconfig' (ncurses 'menuconfig') before compiling this kernel?
NCONFIG="no"

# Note, that two previous lines are mutual exclusive (logically), while
# MENUCONFIG has a higher priority if both them is enabled.

# Run 'make clean' before compilation?
# If set to NO, implies MRPROPER WILL NOT be run
# Also, if clean is NO, it won't copy over any configuration
# file, it will use what's there.
CLEAN="yes"

# Run 'make mrproper' before configuration/compilation?
MRPROPER="yes"

# Override the arch detection?
#ARCH_OVERRIDE="x86"

# Mount BOOTDIR automatically if it isn't mounted?
MOUNTBOOT="yes"

# Make symlinks in BOOTDIR automatically?
#SYMLINK="no"

# Save the new configuration in /etc/kernels upon
# successfull compilation
SAVE_CONFIG="yes"

# Use Color output in Genkernel?
USECOLOR="yes"

# Clear build cache dir
CLEAR_CACHE_DIR="yes"

# Clear all tmp files and caches after genkernel has run
POSTCLEAR="1"

# Genkernel uses an independent configuration for MAKEOPTS, and does not source
# /etc/make.conf . You can override the default setting by uncommenting and
# tweaking the following line. Default setting is set up by
# ${GK_SHARE}/${ARCH_OVERRIDE}/config.sh . The recommended value for -j
# argument is: <number of processors>*<number of cores per processor>+1
MAKEOPTS="-j5"

# Add in LVM support from static binaries if they exist on the system, or
# compile static LVM binaries if static ones do not exist.
#LVM="no"

# Add in Luks support. Needs sys-fs/cryptsetup with -dynamic installed.
#LUKS="no"

# Add in GnuPG support
#GPG="no"

# Add DMRAID support.
#DMRAID="no"

# Include (or suppresses the inclusion of) busybox in the initrd or initramfs.
# If included, busybox is rebuilt if the cached copy is out of date.
BUSYBOX="yes"

# Use udev instead of mdev as the default device manager for the initramfs.
# If you use systemd and perhaps lvm, you _must_ keep this turned on.
UDEV="yes"

# Includes mdadm/mdmon binaries in initramfs.
# Without sys-fs/mdadm[static] installed, this will build a static mdadm.
#MDADM="no"

# Specify a custom mdadm.conf.
# By default the ramdisk will be built *without* an mdadm.conf and will auto-detect
# arrays during bootup.  Usually, this should not be needed.
#MDADM_CONFIG="/etc/mdadm.conf"

# Add Multipath support.
#MULTIPATH="no"

# Add iSCSI support.
#ISCSI="no"

# Add e2fsprogs support.
E2FSPROGS="yes"

# Enable copying of firmware into initramfs
#FIRMWARE="no"
# Specify directory to pull from
#FIRMWARE_DIR="/lib/firmware"
# Specify specific firmware files to include. This overrides FIRMWARE_DIR
#FIRMWARE_FILES=""

# Add new kernel to grub?
BOOTLOADER="grub2"

# Enable splashutils in early space (initrd). Default is "no".
#SPLASH="yes"

# Use this splash theme. If commented out - the "default" name theme is used.
# Also, SPLASH="yes" needs to be enabled for this one to one work.
# This supersedes the "SPLASH_THEME" option of /etc/conf.d/splash (in early space).
#SPLASH_THEME="gentoo"

# Installs, or not, plymouth into the initramfs. If "splash" will be
# passed at boot, plymouth will be activated.
PLYMOUTH="yes"

# Embeds the given plymouth theme into the initramfs.
PLYMOUTH_THEME="solar"

# =========Keymap Settings=========
#
# Force keymap selection at boot
#DOKEYMAPAUTO="yes"


# Disables keymap selection support
#KEYMAP="0"


# =========Low Level Compile Settings=========
#
# GNU Make to use for kernel.  See also the --kernel-make command line option.
#KERNEL_MAKE="make"

# Compiler to use for the kernel (e.g. distcc).  See also the --kernel-cc
# command line option.
#KERNEL_CC="gcc"

# Assembler to use for the kernel.  See also the --kernel-as command line
# option.
#KERNEL_AS="as"

# Linker to use for the kernel.  See also the --kernel-ld command line option.
#KERNEL_LD="ld"

# GNU Make to use for the utilities.  See also the --utils-make command line
# option.
#UTILS_MAKE="make"

# Compiler to use for the utilities (e.g. distcc).  See also the --utils-cc
# command line option.
#UTILS_CC="gcc"

# Assembler to use for the utilities.  See also the --utils-as command line
# option.
#UTILS_AS="as"

# Linker to use for the utilities.  See also the --utils-ld command line
# option.
#UTILS_LD="ld"

# =========GENKERNEL LOCATION CONFIGURATION============
# Variables:
#   %%ARCH%%  - Final determined architecture
#   %%CACHE%% - Final determined cache location

# Set genkernel's temporary work directory.  Default is /var/tmp/genkernel
#TMPDIR="/var/tmp/genkernel"

# Set the boot directory, default is /boot
#BOOTDIR="/boot"

# Default share directory location
GK_SHARE="${GK_SHARE:-/usr/share/genkernel}"

# Location of the default cache
CACHE_DIR="/var/cache/genkernel"
# Location of DISTDIR, where our source tarballs are stored
DISTDIR="/var/lib/genkernel/src"
# Log output file
LOGFILE="/var/log/genkernel.log"
# Debug Level
LOGLEVEL=5

# =========COMPILED UTILS CONFIGURATION============
#
# Default location of kernel source
DEFAULT_KERNEL_SOURCE="/usr/src/linux"
# Default kernel config (only use to override using
# arch/%%ARCH%%/kernel-config-${VER}.${PAT} !)
#DEFAULT_KERNEL_CONFIG="${GK_SHARE}/arch/%%ARCH%%/kernel-config"

# Specifies a user created busybox config
#BUSYBOX_CONFIG="/path/to/file"
#BUSYBOX_APPLETS="[ ash sh mount uname echo cut cat"

# NOTE: Since genkernel 3.4.41 the version of
#   busybox, lvm, mdadm, .. have been moved to
#   /usr/share/genkernel/defaults/software.sh in order to
#   reduce the merging you have to do during etc-update.
#   You can still override these settings in here.


# =========MISC KERNEL CONFIGURATION============
#
# Tag the kernel and ramdisk with a name:
# If not defined the option defaults to
# 'genkernel'
#KNAME="genkernel"


# This option is only valid if kerncache is
# defined. If there is a valid kerncache no checks
# will be made against a kernel source tree
#KERNEL_SOURCES="0"


# Build a static (monolithic kernel)
#BUILD_STATIC="1"


# Make and install kernelz image (PowerPC)
#GENZIMAGE="1"


# File to output a .tar.bz2'd kernel contents
# of /lib/modules/ and the kernel config
# NOTE: This is created before the callbacks
# are run!
#KERNCACHE="/path/to/file"


# Prefix to kernel module destination, modules
# will be installed in <prefix>/lib/modules
# (.conf equivalent of --module-prefix=<dir>)
#INSTALL_MOD_PATH=""


# =========MISC INITRD CONFIGURATION============
#
# Copy all kernel modules to the ramdisk
#ALLRAMDISKMODULES="1"


# Don't copy any modules to the ramdisk
#RAMDISKMODULES="0"


# File to output a .tar.bz2'd kernel and ramdisk:
# No modules outside of the ramdisk will be
# included...
#MINKERNPACKAGE="/path/to/file.bz2"


# File to output a .tar.bz2'd modules after the
# callbacks have run
#MODULESPACKAGE="/path/to/file.bz2"


# Directory structure to include in the initramfs,
# only available on >=2.6 kernels
#INITRAMFS_OVERLAY=""


# Build the generated initramfs into the kernel instead of
# keeping it as a separate file
#INTEGRATED_INITRAMFS="1"


# Compress generated initramfs
#COMPRESS_INITRD="yes"
# Types of compression: best, xz, lzma, bzip2, gzip, lzop, fastest
# "best" selects the best available compression method
# "fastest" selects the fastest available compression method
#COMPRESS_INITRD_TYPE="best"


# Create a self-contained env in the initramfs
#NETBOOT="1"


# =========MISC BOOT CONFIGURATION============
#
# Specify a default for real_root=
#REAL_ROOT="/dev/one/two/gentoo"

Breaking Bad 및 Oblivion의 모든 시즌과 Chromium Stable의 콘텐츠를 기다리는 Doctor Who Wait의 Hulu 구독과 같이 독점 드라이버가 있거나 없는 여러 DVD에서 찢어짐 vlc이 발생하지 않았습니다. 또한 온보드 그래픽을 비활성화하고 대신 나열된 그래픽 카드의 AGP 버전을 사용했습니다. 몇 번의 하드 드라이브 업그레이드와 무선 카드 교체 외에는 3년 동안 별다른 작업을 하지 않았습니다.nvidianouveau

관련 정보