NVIDIA (Português)

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
[
link quebrado
: package not found]
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/GM
XXX
)
ou mais recente,
install
o pacote
nvidia
[
link quebrado
: package not found]
(para uso com o kernel
linux
) ou
nvidia-lts
[
link quebrado
: package not found]
(para usar com o kernel
linux-lts
).
Se estes pacotes não funcionarem,
nvidia-beta
AUR
pode oferecer suporte a novas versões de driver.
Alternativamente para a família
Turing (NV160/TU
XXX
)
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/GK
XXX
)
,
install
o pacote
nvidia-470xx-dkms
AUR
.
Para a família
Fermi (NVC0/GF1
XX
)
,
install
o pacote
nvidia-390xx-dkms
AUR
.
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
[
link quebrado
: package not found]
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-GT2
XX
)
,
install
o pacote
nvidia-340xx-dkms
AUR
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
[
link quebrado
: replaced by
nvidia-open-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-dkms
AUR
) 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
[
link quebrado
: package not found]
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-dkms
AUR
), 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-dkms
AUR
.
Nota
Instalando o pacote
nvidia-bl-dkms
AUR
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