Настройки сервера NVIDIA X не работают, а графический процессор отображается как неизвестный

Настройки сервера NVIDIA X не работают, а графический процессор отображается как неизвестный

Недавно я купил Thinkpad T490 с процессором Intel i7 и видеокартой NVIDIA GeForce MX250 (и интегрированной Intel HD-Graphics 620) и установил Ubuntu 18.04 LTS. После того, как я столкнулся с некоторыми графическими ошибками, я хотел проверить, все ли драйверы обновлены.

Первое, что я заметил, это то, что на вкладке «Дополнительные драйверы» software-properties-gtkIntel указан как «Intel Corporation: Неизвестно — это устройство не работает», а моя видеокарта Nvidia указана как «NVIDIA Corporation: Неизвестно» (см.изображение).

Далее я попытался открыть «Настройки сервера NVIDIA X», но окно почти пустое (изображение). Когда я открываю его из консоли через nvidia-settings, я получаю следующий вывод:

# 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.

Я пробовал отключить безопасную загрузку, так как это, похоже, исправило похожие проблемы у других людей, но это ничего не изменило. Я также пробовал установить новейшие драйверы NVIDIA, как было указано во многих сообщениях с похожими проблемами, но ничего не изменилось.

Обновлять: Я удалил все драйверы sudo apt purge nvidia*и переустановил последнюю версию драйвера (440), как указано вэтотthread. Ничего не изменилось, за исключением того, что nvidia-settingsтеперь есть только опция "prime-profiles", так что даже меньше, чем раньше (см.изображение).


Некоторые выводы, которые могут быть актуальны:

# 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

решение1

У меня всегда были проблемы при установке драйверов NVIDIA с ppa:graphics-drivers, я бы посоветовал загрузить драйверы сСайт NVIDIA.

Установка (некоторые команды требуют «sudo»)

После загрузки нужного драйвера для вашей карты:

  • Сделайте файл запуска доступным для выполнения (через меню свойств или через командную строку)
    • команда: chmod u+x <file>добавить бит выполнения для текущего пользователя в указанный файл

ПРИМЕЧАНИЕ: эту часть вам придется выполнить только в CLI (визуализации нет, предлагаю открыть ее на телефоне, чтобы следить за ходом событий; вы можете нажать ctrl+ alt+, F1вам может понадобиться использовать F2, F3, F4 и т. д.)

  • Остановите ваш дисплейный менеджер ( gdmпо умолчанию или любой другой, который у вас есть)
    • команда:service gdm stop
  • Измените уровень выполнения (кажется, это больше не требуется, но на всякий случай)
    • команда:init 3
  • Перейдите в каталог установочного файла NVIDIA.
    • команда:cd ~/Downloads/
  • Запустить файл run
    • команда: ./NVIDIA...(должно быть возможно автодополнение клавишей Tab, в противном случае используйте lsдля проверки имени)
    • Если сбой произошел из-за версии gcc, вы можете попытаться игнорировать версию gcc с помощью следующей команды:./NVIDIA... --no-cc-version-check
    • Если это не сработает, либо понизьте версию gcc до требуемой, либо обновите версию ядра (лучше попробуйте понизить версию gcc или временно установить gcc по умолчанию на более старую версию)
    • например, если вам нужен gcc 5.x (не забудьте отменить это после этого, первая команда — проверить текущую ссылку на /usr/bin/gcc)
ls -l /usr/bin/gcc
unlink /usr/bin/gcc
sudo ln -s /usr/bin/gcc-5 /usr/bin/gcc
  • Следуйте инструкциям (у меня dkms сейчас не работает, 32-битные библиотеки — на ваше усмотрение и т. д.) (выбор по умолчанию, если не удалось установить)
  • Перезагрузить
    • команда:reboot

Проверяем, удалось ли это сделать

Обычно я провожу тестирование, используя любой из следующих методов или все из них:

  • glxinfo|egrep "OpenGL vendor|OpenGL renderer*"
  • nvidia-settings
  • nvidia-smi

Нижний колонтитул

Я вижу, что вы уже достаточно хорошо знакомы с Ubuntu, и вам не нужны некоторые из указанных команд. Я делаю это для тех, кто может наткнуться на это, надеюсь, это поможет и им.

Дополнительно

Полезное дополнение: файл запуска имеет много флагов, чтобы перечислить их, вы можете использовать -Aflag следующим образом:./NVIDIA... -A

Связанный контент