
Comprei recentemente um Thinkpad T490 com CPU Intel i7 e placa gráfica NVIDIA GeForce MX250 (e Intel HD-Graphics 620 integrado) e instalei o Ubuntu 18.04 LTS. Depois de encontrar alguns bugs gráficos, queria verificar se todos os drivers estão atualizados.
A primeira coisa que notei é que na guia "Drivers adicionais" do software-properties-gtk
, a Intel está listada como "Intel Corporation: Desconhecido - este dispositivo não está funcionando" e minha placa gráfica Nvidia está listada como "NVIDIA Corporation: Desconhecido" (consulteimagem).
Em seguida, tentei abrir "Configurações do servidor NVIDIA X", mas a janela está quase vazia (imagem). Quando eu abro no console via nvidia-settings
, recebo a seguinte saída:
# nvidia-settings
ERROR: Error querying enabled displays on GPU 0 (Missing Extension).
ERROR: Error querying connected displays on GPU 0 (Missing Extension).
** Message: 09:38:37.446: PRIME: Requires offloading
** Message: 09:38:37.446: PRIME: is it supported? yes
ERROR: nvidia-settings could not find the registry key file. This
file should have been installed along with this driver at
/usr/share/nvidia/nvidia-application-profiles-key-documentati
on. The application profiles will continue to work, but
values cannot be prepopulated or validated, and will not be
listed in the help text. Please see the README for possible
values and descriptions.
Tentei desabilitar a inicialização segura, pois isso parece ter resolvido problemas semelhantes para outras pessoas, mas isso não mudou nada. Também tentei instalar os drivers NVIDIA mais recentes, como foi indicado em muitos posts com problemas semelhantes, mas nada mudou.
Atualizar: removi todos os drivers sudo apt purge nvidia*
e reinstalei o driver mais recente (440) conforme as instruções emessefio. Nada mudou, exceto que nvidia-settings
agora existe apenas a opção "perfis principais", ou seja, menos ainda do que antes (vejaimagem).
Alguns resultados que podem ser relevantes:
# lshw -c display
*-display
description: VGA compatible controller
product: UHD Graphics 620 (Whiskey Lake)
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 02
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:147 memory:dc000000-dcffffff memory:70000000-7fffffff ioport:3000(size=64) memory:c0000-dffff
*-display
description: 3D controller
product: GP108M [GeForce MX250]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:3c:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=nvidia latency=0
resources: irq:156 memory:db000000-dbffffff memory:80000000-8fffffff memory:90000000-91ffffff ioport:2000(size=128)
# lspci -v
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (Whiskey Lake) (rev 02) (prog-if 00 [VGA controller])
Subsystem: Lenovo Device 2278
Flags: bus master, fast devsel, latency 0, IRQ 147
Memory at dc000000 (64-bit, non-prefetchable) [size=16M]
Memory at 70000000 (64-bit, prefetchable) [size=256M]
I/O ports at 3000 [size=64]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Process Address Space ID (PASID)
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Kernel driver in use: i915
Kernel modules: i915
...
3c:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX250] (rev a1)
Subsystem: Lenovo Device 2278
Flags: bus master, fast devsel, latency 0, IRQ 156
Memory at db000000 (32-bit, non-prefetchable) [size=16M]
Memory at 80000000 (64-bit, prefetchable) [size=256M]
Memory at 90000000 (64-bit, prefetchable) [size=32M]
I/O ports at 2000 [size=128]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [250] Latency Tolerance Reporting
Capabilities: [258] L1 PM Substates
Capabilities: [128] Power Budgeting <?>
Capabilities: [420] Advanced Error Reporting
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Capabilities: [900] #19
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
Responder1
Sempre tive problemas ao instalar drivers NVIDIA em ppa:graphics-drivers
, sugiro baixar os drivers emSite da NVIDIA.
Instalação (alguns comandos requerem “sudo”)
Depois de baixar o driver correto para sua placa:
- Defina o arquivo de execução como executável (através do menu de propriedades ou da linha de comando)
- comando:
chmod u+x <file>
para adicionar o bit de execução para o usuário atual no arquivo especificado
- comando:
NOTA: você terá que fazer esta parte apenas na CLI (sem recursos visuais, sugiro abrir no seu telefone para acompanhar, você pode pressionar ctrl
+ alt
+ F1
, pode ser necessário usar F2, F3, F4, etc.)
- Pare o seu gerenciador de exibição (
gdm
por padrão ou qualquer um que você tenha)- comando:
service gdm stop
- comando:
- Altere o nível de execução (isso não parece mais ser necessário, mas apenas por precaução)
- comando:
init 3
- comando:
- Mude para o diretório do arquivo de execução de instalação da NVIDIA
- comando:
cd ~/Downloads/
- comando:
- Execute o arquivo de execução
- comando:
./NVIDIA...
(o preenchimento da guia deve ser possível, caso contrário, usels
para verificar o nome) - se falhar devido à versão do gcc, você pode tentar ignorar a versão do gcc usando o seguinte comando:
./NVIDIA... --no-cc-version-check
- se isso não funcionar, faça o downgrade da sua versão do gcc para a versão solicitada ou atualize a sua versão do kernel (em vez disso, tente fazer o downgrade do gcc ou definir temporariamente o gcc padrão para um mais antigo)
- por exemplo, se você precisar do gcc 5.x (não se esqueça de desfazê-lo depois, o primeiro comando é verificar o link atual para /usr/bin/gcc)
- comando:
ls -l /usr/bin/gcc
unlink /usr/bin/gcc
sudo ln -s /usr/bin/gcc-5 /usr/bin/gcc
- Siga as instruções (o dkms não funciona para mim atualmente, as bibliotecas de 32 bits são com você, etc.) (seleção padrão se a instalação falhar)
- Reinício
- comando:
reboot
- comando:
Verificando se deu certo
Normalmente testo usando qualquer um dos seguintes ou todos eles:
glxinfo|egrep "OpenGL vendor|OpenGL renderer*"
nvidia-settings
nvidia-smi
Rodapé
Posso ver que você já está familiarizado o suficiente com o Ubuntu e não precisa de alguns dos comandos indicados para você. Estou fazendo isso para qualquer pessoa que possa se deparar com isso, espero que ajude também.
Extras
Extra interessante: o arquivo de execução tem muitos sinalizadores, para listá-los, você pode usar -A
sinalizadores assim:./NVIDIA... -A