NVIDIA (Português) - ArchWiki

Jump to content
From ArchWiki

Este artigo ou esta seção precisa de tradução.

Notas: Only half of the page is translated. (Discuta em Talk:NVIDIA (Português)#)
Status de tradução: Esse artigo é uma tradução de NVIDIA. Data da última tradução: 2022-07-29. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Related articles

- NVIDIA/Tips and tricks
- NVIDIA/Troubleshooting
- Nouveau
- NVIDIA Optimus
- PRIME
- Bumblebee
- nvidia-xrun
- Xorg
- Vulkan

Este artigo cobre o driver de placa gráfica proprietário da NVIDIA. Para o driver de código aberto, consulte Nouveau. Se você têm um laptop com gráficos hiblidos intel/NVIIDA, consulte NVIDIA Optimus.

## Instalação

Atenção: Evite instalar o driver NVIDIA através do pacote disponibilizado no site da NVIDIA. Instalação utilizando o pacman (Português) permite atualizar o driver junto com o restante do sistema.

Estas instruções são para aqueles que usam o pacote linux ou linux-lts. Para configurar um kernel customizado, pule para a próxima subseassão.

1. Se você não sabe qual placa gráfica possui, descubre com o comando:

      $ lspci -k | grep -A 2 -E "(VGA|3D)"

2. Determine a versão do driver necessária para a sua placa:

  - Visitando o site de download de driver da NVIDIA e use as listas suspensas.
  - Encontre o codinome (ex. NV50, NVC0, etc.) na página de codinomes do wiki da nouveau ou no GitLab do nouveau, em seguida buscando o nome na lista de placas legadas da NVIDIA: se sua placa não estiver lá, você pode usar o driver mais recente.

3. Instale o driver apropriado para a sua placa:

Nota:

- Ao instalar dkms, consulte Dynamic Kernel Module Support (Português)#Instalação
- nvidia não inicializa no Linux 5.18 em sistemas com CPUs Intel devido a FS#74886/FS#74891. Até que isso seja corrigido, uma solução alternativa é desabilitar a função de segurança indirect branch tracking da CPU, setando `ibt=off` Kernel parameters (Português) no gerenciador de boot. Esta função de segurança é responsável por mitigar uma classe de técnicas de exploração, mas é considerado seguro como uma solução temporária. Alternativamente você pode tentar nvidia-open e continuar usando IBT.
- nvidia-open não funciona em sistemas que possuem GPUs integradas da AMD devido a questão nvidia-open #282.

  - Para a família Maxwell (NV110/GMXXX) ou mais recente, install o pacote nvidia (para uso com o kernel linux) ou nvidia-lts (para usar com o kernel linux-lts).
    - Se estes pacotes não funcionarem, nvidia-betaAUR pode oferecer suporte a novas versões de driver.
  - Alternativamente para a família Turing (NV160/TUXXX) ou mais recente, o pacote nvidia-open pode ser instalado para módulos de kernel de código aberto no linux linux (em outros kernels, nvidia-open-dkms deve ser usado).
    - No momento estamos na qualidade alfa em placas de desktop, portanto, poderá haver problemas.
  - Para a família Kepler (NVE0/GKXXX), install o pacote nvidia-470xx-dkmsAUR.
  - Para a família Fermi (NVC0/GF1XX), install o pacote nvidia-390xx-dkmsAUR.
  - Para placas mais antigas, dê uma olhada em #Drivers não suportados.

4. Para suportar aplicativos de 32-bits, tambem instale o pacote lib32 correspondente através do repositório multilib (ex. lib32-nvidia-utils).

5. Reinicie. O pacote nvidia possui um arquivo que adiciona o módulo `nouveau` na lista negra, então a reinicializaçãao se faz necessária.

Uma vez que o driver foi instalado, continue para #Configurações do Xorg ou #Wayland.

### Drivers não suportados

Se você têm uma placa antiga, a NVIDIA não suporta mais ativamente o driver para a sua placa. Isso significa que estes driver não suportam oficialmente o a verão atual do Xorg. Assim pode ser mais fácil usar o driver nouveau, que suporta placas antigas com o XOrg atual.

No entanto, os drivers legados da NVIDIA ainda estão disponíveis e podem fornecer melhor desempenho 3D e estabilidade.

- Para a família Tesla (NV50/G80-90-GT2XX), install o pacote nvidia-340xx-dkmsAUR package.
- Para a família Curie (NV40/G70) e mais antigas, os drivers não são mais empacotados para o Arch Linux.

### Kernel customizado

Se estiver usando um kernel customizado, a compila¸~ao dos modulos de kernel da NVIDIA podem ser automatizados com DKMS. Instale o pacote nvidia-dkms (ou uma branch específica).

Certifique-se que seu kernel tenha `CONFIG_DRM_SIMPLEDRM=y` e, se está usando `CONFIG_DEBUG_INFO_BTF` isso é necessário no PKGBUILD (desde o kernel 5.16):

    install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids

O módulo NVIDIA irá ser reconstruido após cada atualização do pacote NVIDIA ou do kernel, graças ao pacman hook do DKMS.

### Configuração do modo DRM no kernel

Para habilitar o DRM (Direct Rendering Manager) kernel mode setting, adicione o `nvidia-drm.modeset=1` Kernel parameters (Português).

Nota:

- O driver NVIDIA não fornece um driver `fbdev` para o console de alta resolução para o modulo `vesafb` compilado no kernel. No entanto, o módulo `efifb` compilado pelo kernel suporta um console de alta resolução em sistemas EFI. Este método requer o GRUB ou rEFInd e está descrito em NVIDIA/Tips and tricks#Fixing terminal resolution.[1][2][3].
- Drivers NVIDIA anteriores a versão 470 (ex. nvidia-390xx-dkmsAUR) não suportam aceleração de hardware Xwayland, fazendo com que aplicativos não nativos do Wayland sofram de baixo desempenho em sessões Wayland.

#### Carregamento antecipado

Para um funcionamento básico, somente adicionando o parametro no kernel deve ser o suficiente. Se você quiser garantir que ele seja carregado o mais antecipado possível, ou estiver percebendo problemas de inicialização (Como o modulo `nvidia` do kernel sendo carregado após o display manager) você pode adicionar `nvidia`, `nvidia_modeset`, `nvidia_uvm` e `nvidia_drm` no initramfs.

##### mkinitcpio

Se você usa mkinitcpio initramfs, siga mkinitcpio#MODULES para adicionar os módulos.

Se adicionado ao initramfs, não esqueça de executar mkinitcpio toda vez que um driver nvidia for atualizado. Consulte #pacman hook para automatizar esses passos.

##### Booster

Se você usa Booster, Siga Booster#Early module loading.

##### pacman hook

Para evitar a possibilidade de esquecer de atualizar o initramfs após uma atualização do driver NVIDIA, você talvés queira usar um pacman hook:

    /etc/pacman.d/hooks/nvidia.hook

    [Trigger]
    Operation=Install
    Operation=Upgrade
    Operation=Remove
    Type=Package
    Target=nvidia
    Target=linux
    # Change the linux part above and in the Exec line if a different kernel is used

    [Action]
    Description=Update NVIDIA module in initcpio
    Depends=mkinitcpio
    When=PostTransaction
    NeedsTargets
    Exec=/bin/sh -c 'while read -r trg; do case $trg in linux) exit 0; esac; done; /usr/bin/mkinitcpio -P'

Tenha certeza que o pacote setado no `Target` neste hook é o que você instalou no passo anterior (ex. `nvidia`, `nvidia-dkms`, `nvidia-lts` ou `nvidia-ck-something`).

Nota: A complicação na linha `Exec` acima é para evitar executar mkinitcpio várias vezes se `nvidia` e `linux` forem atualizados. Caso isso não o incomode, as linhas `Target=linux` e `NeedsTargets` podem ser descartadas, e a linha `Exec` pode ser reduzida a simplesmente `Exec=/usr/bin/mkinitcpio -P`.

### Decodificação de vídeo acelerada por hardware

A decodificação de vídeo acelerada com VDPAU é compatível com placas da família GeForce 8 e mais recentes. A decodificação de vídeo acelerada com NVDEC é suportada em placas Fermi (família ~400) e mais recentes. Consulte Hardware video acceleration para obter detalhes.

### Codificação de vídeo acelerada por hardware com NVENC

NVENC requer o modulo `nvidia_uvm` e a criação de nós de dispositivos relacionados em `/dev`.

O pacote de driver mais recente fornece uma udev rule que cria nós de dispositivo automaticamente, portanto, nenhuma ação adicional é necessária.

Se você está usando um driver antigo (ex. nvidia-340xx-dkmsAUR), você precisa criar nós de dispositivo. Invocando o utilitário `nvidia-modprobe` os cria automaticamente. Você pode criar `/etc/udev/rules.d/70-nvidia.rules` para executá-lo automaticamente:

    /etc/udev/rules.d/70-nvidia.rules

    ACTION=="add", DEVPATH=="/bus/pci/drivers/nvidia", RUN+="/usr/bin/nvidia-modprobe -c0 -u"

## Configurações do Xorg

O driver gráfico proprietário da NVIDIA não precisa qualquer arquivo de configuração do servidor Xorg. Você pode start X para ver se o servidor do Xorg irá funcionar coretamente sem o arquivo de configuração . No entanto, se faz necessário criar um arquivo de configuração (preferencialmente `/etc/X11/xorg.conf.d/20-nvidia.conf` do que `/etc/X11/xorg.conf`) para ajustar várias configurações. Estas configurações podem ser geradas pela ferramenta de configuração do Xorg da NVIDIA, ou isso pode ser criado manualmente. Se criadomanualmente, pode ser uma configuração mínima (no sentido de que passará apenas as opções básicas para o servidor Xorg), ou pode incluir várias configurações que podem ignorar as opções auto-descobertas ou pré-configuradas do Xorg.

Dica: Para mais opções de configuração , consulte NVIDIA/Troubleshooting.

### Configuração automática

O pacote NVIDIA uma ferramenta de configuração automática para criar um arquivo de configuração do servidor Xorg (`xorg.conf`) e pode ser executado pelo comando:

    # nvidia-xconfig

Este comando irá auto detectar e criar (ou editar, se já existente) o arquivo `/etc/X11/xorg.conf` de configuração levando em considera¸~ao o hardware atual.

Se houver instâncias de DRI, certifique-se de que sejam comentadas:

    #    Load        "dri"

Verifique novamente o arquivo `/etc/X11/xorg.conf` para garantir que sua profundidade padrão, sincronização horizontal, atualização vertical e resoluções sejam aceitáveis.

### nvidia-settings

o ferramenta nvidia-settings permite que você configure muitas opções usando CLI ou GUI. A execução de `nvidia-settings` sem nenhuma opção inicia a GUI, para opções de CLI, consulte nvidia-settings(1).

Você pode executar a CLI/GUI como um usuário sem permissões de root e salvar as configurações em `~/.nvidia-settings-rc` usando a opção Save Current Configuration na guia nvidia-settings Configuration.

Para carregar o `~/.nvidia-settings-rc` para o usuário padrão:

    $ nvidia-settings --load-config-only

Consulte Autostarting para iniciar esse comando em cada boot.

Nota:

- O Xorg poderá não iniciar ou travar na inicialização após salvar as alterações na `nvidia-settings`. Ajustar ou apagar o arquivo `~/.nvidia-settings-rc` e/ou os arquivos do Xorg deve recuperar a inicialização normal.
- O desktop Cinnamon pode sobrescrever mudanção feitas através do `nvidia-settings`. Você pode ajustar o comportamento de inicialização do Cinnamon para evitar isso.

### Configuração manual

Vários ajustes (que não podem ser ativados automaticamente ou com nvidia-settings) podem ser executados editando o arquivo de configuração. O servidor Xorg precisará ser reiniciado antes que qualquer alteração seja aplicada.

Consulte NVIDIA Accelerated Linux Graphics Driver README and Installation Guide para detalhes adicionais e opções.

#### Configurações mínimas

Um bloco de configurações básicas existe em `20-nvidia.conf` (ou depreciado em `xorg.conf`) deve se parecer com isso:

    /etc/X11/xorg.conf.d/20-nvidia.conf

    Section "Device"
            Identifier "NVIDIA Card"
            Driver "nvidia"
            VendorName "NVIDIA Corporation"
            BoardName "GeForce GTX 1050 Ti"
    EndSection

#### Desabilitar o log na inicialização

Adicione a opção `"NoLogo"` na seção `Device`:

    Option "NoLogo" "1"

#### Sobrescrever a detecçãodo monitor

A opção `"ConnectedMonitor"` na sessão `Device` permite sobrescrever a detecção do monitorenquanto o servidor X inicializa, o que pode economizar uma quantidade significativa de tempo na inicialização. As opções disponíveis são: `"CRT"` para conexões analógicas, `"DFP"` para monitores digitais e `"TV"` para televisores.

A declaração a seguir força o driver NVIDIA a ignorar as verificações de inicialização e reconhecer o monitor como DFP:

    Option "ConnectedMonitor" "DFP"

Nota: Use "CRT" para todas as conexões analógicas VGA de 15 pinos, mesmo se o monitor for de tela plana. "DFP" destina-se apenas a conexões digitais DVI, HDMI ou DisplayPort.

#### Habilitando o controle de brilho

This article or section is out of date.

Reason: Desatualizado (Discuss in [[Potencialmente obsoleto[4], pacote upstream também parece ser antigo.]])

Adicione os parametros do kernel:

    nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1

Alternativamente, adicione o seguinte na seção `Device`:

    Option "RegistryDwords" "EnableBrightnessControl=1"

Se o controle de brilho continua sem funcionar mesmo com essas opções, tente instalar o pacote nvidia-bl-dkmsAUR.

Nota: Instalando o pacote nvidia-bl-dkmsAUR irá fornecer a interface `/sys/class/backlight/nvidia_backlight/` para controle de brilho da luz de fundo, mas seu sistema pode continuar a emitir alterações de controle de luz de fundo em `/sys/class/backlight/acpi_video0/`. Uma solução neste caso case é observar as alterações, ex. `acpi_video0/brightness` com inotifywait traduzir e escrever em `nvidia_backlight/brightness` adequadamente. Consulte Backlight#sysfs modified but no brightness change.

#### Habilitando o SLI

Atenção: desde a família GTX 10xx (1080, 1070, 1060, etc), apenas SLI de 2 vias é suportado. SLI de 3 e 4 vias pode funcionar para aplicativos CUDA/OpenCL, mas provavelmente quebrará todos os aplicativos OpenGL.

Taken from the NVIDIA driver's README Appendix B: This option controls the configuration of SLI rendering in supported configurations. A "supported configuration" is a computer equipped with an SLI-Certified Motherboard and 2 or 3 SLI-Certified GeForce GPUs.

Find the first GPU's PCI Bus ID using `lspci`:

    # lspci | grep "VGA|3D controller"

    00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09)
    03:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
    04:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
    08:00.0 3D controller: NVIDIA Corporation GM108GLM [Quadro K620M / Quadro M500M] (rev a2)

Add the BusID (3 in the previous example) under section `Device`:

    BusID "PCI:3:0:0"

Note: The format is important. The BusID value must be specified as `"PCI:<BusID>:0:0"`

Add the desired SLI rendering mode value under section `Screen`:

    Option "SLI" "AA"

The following table presents the available rendering modes.

Value | Behavior
--- | ---
0, no, off, false, Single | Use only a single GPU when rendering.
1, yes, on, true, Auto | Enable SLI and allow the driver to automatically select the appropriate rendering mode.
AFR | Enable SLI and use the alternate frame rendering mode.
SFR | Enable SLI and use the split frame rendering mode.
AA | Enable SLI and use SLI antialiasing. Use this in conjunction with full scene antialiasing to improve visual quality.

Alternatively, you can use the nvidia-xconfig utility to insert these changes into `xorg.conf` with a single command:

    # nvidia-xconfig --busid=PCI:3:0:0 --sli=AA

To verify that SLI mode is enabled from a shell:

    $ nvidia-settings -q all | grep SLIMode

      Attribute 'SLIMode' (arch:0.0): AA
        'SLIMode' is a string attribute.
        'SLIMode' is a read-only attribute.
        'SLIMode' can use the following target types: X Screen.

Warning: After enabling SLI, your system may become frozen/non-responsive upon starting xorg. It is advisable that you disable your display manager before restarting.

If this configuration does not work, you may need to use the PCI Bus ID provided by `nvidia-settings`,

    $ nvidia-settings -q all | grep -i pcibus

    Attribute 'PCIBus' (host:0[gpu:0]): 101.
      'PCIBus' is an integer attribute.
      'PCIBus' is a read-only attribute.
      'PCIBus' can use the following target types: GPU, SDI Input Device.
    Attribute 'PCIBus' (host:0[gpu:1]): 23.
      'PCIBus' is an integer attribute.
      'PCIBus' is a read-only attribute.
      'PCIBus' can use the following target types: GPU, SDI Input Device.

and comment out the PrimaryGPU option in your xorg.d configuration,

    /usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf

    ...

    Section "OutputClass"
    ...
        # Option "PrimaryGPU" "yes"
    ...

Using this configuration may also solve any graphical boot issues.

### Multiple monitors

See Multihead for more general information.

#### Using nvidia-settings

The nvidia-settings tool can configure multiple monitors.

For CLI configuration, first get the `CurrentMetaMode` by running:

    $ nvidia-settings -q CurrentMetaMode

    Attribute 'CurrentMetaMode' (hostnmae:0.0): id=50, switchable=no, source=nv-control :: DPY-1: 2880x1620 @2880x1620 +0+0 {ViewPortIn=2880x1620, ViewPortOut=2880x1620+0+0}

Save everything after the `::` to the end of the attribute (in this case: `DPY-1: 2880x1620 @2880x1620 +0+0 {ViewPortIn=2880x1620, ViewPortOut=2880x1620+0+0}`) and use to reconfigure your displays with `nvidia-settings --assign "CurrentMetaMode=your_meta_mode"`.

Tip: You can create shell aliases for the different monitor and resolution configurations you use.

#### ConnectedMonitor

If the driver does not properly detect a second monitor, you can force it to do so with ConnectedMonitor.

    /etc/X11/xorg.conf

    Section "Monitor"
        Identifier     "Monitor1"
        VendorName     "Panasonic"
        ModelName      "Panasonic MICRON 2100Ex"
        HorizSync       30.0 - 121.0 # this monitor has incorrect EDID, hence Option "UseEDIDFreqs" "false"
        VertRefresh     50.0 - 160.0
        Option         "DPMS"
    EndSection

    Section "Monitor"
        Identifier     "Monitor2"
        VendorName     "Gateway"
        ModelName      "GatewayVX1120"
        HorizSync       30.0 - 121.0
        VertRefresh     50.0 - 160.0
        Option         "DPMS"
    EndSection

    Section "Device"
        Identifier     "Device1"
        Driver         "nvidia"
        Option         "NoLogo"
        Option         "UseEDIDFreqs" "false"
        Option         "ConnectedMonitor" "CRT,CRT"
        VendorName     "NVIDIA Corporation"
        BoardName      "GeForce 6200 LE"
        BusID          "PCI:3:0:0"
        Screen          0
    EndSection

    Section "Device"
        Identifier     "Device2"
        Driver         "nvidia"
        Option         "NoLogo"
        Option         "UseEDIDFreqs" "false"
        Option         "ConnectedMonitor" "CRT,CRT"
        VendorName     "NVIDIA Corporation"
        BoardName      "GeForce 6200 LE"
        BusID          "PCI:3:0:0"
        Screen          1
    EndSection

The duplicated device with `Screen` is how you get X to use two monitors on one card without `TwinView`. Note that `nvidia-settings` will strip out any `ConnectedMonitor` options you have added.

#### TwinView

You want only one big screen instead of two. Set the `TwinView` argument to `1`. This option should be used if you desire compositing. TwinView only works on a per card basis, when all participating monitors are connected to the same card.

    Option "TwinView" "1"

Example configuration:

    /etc/X11/xorg.conf.d/10-monitor.conf

    Section "ServerLayout"
        Identifier     "TwinLayout"
        Screen         0 "metaScreen" 0 0
    EndSection

    Section "Monitor"
        Identifier     "Monitor0"
        Option         "Enable" "true"
    EndSection

    Section "Monitor"
        Identifier     "Monitor1"
        Option         "Enable" "true"
    EndSection

    Section "Device"
        Identifier     "Card0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"

        #refer to the link below for more information on each of the following options.
        Option         "HorizSync"          "DFP-0: 28-33; DFP-1: 28-33"
        Option         "VertRefresh"        "DFP-0: 43-73; DFP-1: 43-73"
        Option         "MetaModes"          "1920x1080, 1920x1080"
        Option         "ConnectedMonitor"   "DFP-0, DFP-1"
        Option         "MetaModeOrientation" "DFP-1 LeftOf DFP-0"
    EndSection

    Section "Screen"
        Identifier     "metaScreen"
        Device         "Card0"
        Monitor        "Monitor0"
        DefaultDepth    24
        Option         "TwinView" "True"
        SubSection "Display"
            Modes          "1920x1080"
        EndSubSection
    EndSection

Device option information.

If you have multiple cards that are SLI capable, it is possible to run more than one monitor attached to separate cards (for example: two cards in SLI with one monitor attached to each). The "MetaModes" option in conjunction with SLI Mosaic mode enables this. Below is a configuration which works for the aforementioned example and runs GNOME flawlessly.

    /etc/X11/xorg.conf.d/10-monitor.conf

    Section "Device"
            Identifier      "Card A"
            Driver          "nvidia"
            BusID           "PCI:1:00:0"
    EndSection

    Section "Device"
            Identifier      "Card B"
            Driver          "nvidia"
            BusID           "PCI:2:00:0"
    EndSection

    Section "Monitor"
            Identifier      "Right Monitor"
    EndSection

    Section "Monitor"
            Identifier      "Left Monitor"
    EndSection

    Section "Screen"
            Identifier      "Right Screen"
            Device          "Card A"
            Monitor         "Right Monitor"
            DefaultDepth    24
            Option          "SLI" "Mosaic"
            Option          "Stereo" "0"
            Option          "BaseMosaic" "True"
            Option          "MetaModes" "GPU-0.DFP-0: 1920x1200+4480+0, GPU-1.DFP-0:1920x1200+0+0"
            SubSection      "Display"
                            Depth           24
            EndSubSection
    EndSection

    Section "Screen"
            Identifier      "Left Screen"
            Device          "Card B"
            Monitor         "Left Monitor"
            DefaultDepth    24
            Option          "SLI" "Mosaic"
            Option          "Stereo" "0"
            Option          "BaseMosaic" "True"
            Option          "MetaModes" "GPU-0.DFP-0: 1920x1200+4480+0, GPU-1.DFP-0:1920x1200+0+0"
            SubSection      "Display"
                            Depth           24
            EndSubSection
    EndSection

    Section "ServerLayout"
            Identifier      "Default"
            Screen 0        "Right Screen" 0 0
            Option          "Xinerama" "0"
    EndSection

##### Vertical sync using TwinView

If you are using TwinView and vertical sync (the "Sync to VBlank" option in nvidia-settings), you will notice that only one screen is being properly synced, unless you have two identical monitors. Although nvidia-settings does offer an option to change which screen is being synced (the "Sync to this display device" option), this does not always work. A solution is to add the following environment variables at startup, for example append in `/etc/profile`:

    export __GL_SYNC_TO_VBLANK=1
    export __GL_SYNC_DISPLAY_DEVICE=DFP-0
    export VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE=DFP-0

You can change `DFP-0` with your preferred screen (`DFP-0` is the DVI port and `CRT-0` is the VGA port). You can find the identifier for your display from nvidia-settings in the "X Server XVideoSettings" section.

##### Gaming using TwinView

In case you want to play fullscreen games when using TwinView, you will notice that games recognize the two screens as being one big screen. While this is technically correct (the virtual X screen really is the size of your screens combined), you probably do not want to play on both screens at the same time.

To correct this behavior for SDL, try:

    export SDL_VIDEO_FULLSCREEN_HEAD=1

For OpenGL, add the appropriate Metamodes to your xorg.conf in section `Device` and restart X:

    Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL; 1280x1024,NULL;"

Another method that may either work alone or in conjunction with those mentioned above is starting games in a separate X server.

#### Mosaic mode

Mosaic mode is the only way to use more than 2 monitors across multiple graphics cards with compositing. Your window manager may or may not recognize the distinction between each monitor. Mosaic mode requires a valid SLI configuration. Even if using Base mode without SLI, the GPUs must still be SLI capable/compatible.

##### Base Mosaic

Base Mosaic mode works on any set of Geforce 8000 series or higher GPUs. It cannot be enabled from within the nvidia-setting GUI. You must either use the nvidia-xconfig command line program or edit `xorg.conf` by hand. Metamodes must be specified. The following is an example for four DFPs in a 2x2 configuration, each running at 1920x1024, with two DFPs connected to two cards:

    $ nvidia-xconfig --base-mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"

Note: While the documentation lists a 2x2 configuration of monitors, GeForce cards are artificially limited to 3 monitors in Base Mosaic mode. Quadro cards support more than 3 monitors. As of September 2014, the Windows driver has dropped this artificial restriction, but it remains in the Linux driver.

##### SLI Mosaic

If you have an SLI configuration and each GPU is a Quadro FX 5800, Quadro Fermi or newer then you can use SLI Mosaic mode. It can be enabled from within the nvidia-settings GUI or from the command line with:

    $ nvidia-xconfig --sli=Mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"

## Wayland

See Wayland#Requirements for more information.

For further configuration options, take a look at the wiki pages or documentation of the respective compositor.

Regarding Xwayland take a look at Wayland#Xwayland.

## Tips and tricks

See NVIDIA/Tips and tricks.

## Troubleshooting

See NVIDIA/Troubleshooting.

## See also

- Current graphics driver releases in official NVIDIA Forum
- NVIDIA Developers Forum - Linux Subforum

Categories:

- Graphics (Português)
- X server (Português)

Hidden categories:

- Pages or sections flagged with Template:Translateme (Português)
- Pages or sections flagged with Template:Out of date