Я использую Debian 11 на довольно приличном оборудовании. К сожалению, я наблюдаю действительно плохую производительность — просмотр веб-страниц кажется неуклюжим, при открытии меню «Действия» нет анимации, а прокрутка чрезвычайно прерывистая, все признаки плохой обработки графики.

Я покопался и обнаружил, что (предположительно) не использую свою видеокарту:

$ glxinfo | grep -i opengl
OpenGL vendor string: Mesa/X.org
OpenGL renderer string: llvmpipe (LLVM 11.0.1, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 20.3.5

Ранее я отключил Intel integrated graphics в своем биосе, поэтому из любопытства я пошел дальше и включил его:

$ glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 4600 (HSW GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 20.3.5

После включения теперь все кажется намного более плавным, анимация работает и все такое, но все же я не очень хочу использовать встроенную графику, если у меня есть видеокарта.

Я хотел бы держаться подальше от проприетарного программного обеспечения Nvidia, но я не могу понять, как я могу установить драйвер FOSS nouveau, не собирая его из исходного кода? Я не очень хорошо знаком с этой темой, поэтому, пожалуйста, извините меня, если я невежествен, но, конечно, если драйверы nvidia можно установить без сборки, то nouveau должно быть. Я нашел официальный веб-сайт nouveau, на котором показано, как установить его, загрузив nouveau-build-deps, но он хочет установить linux-headers-2-.., и сейчас я использую версию 5, поэтому я действительно боюсь что-то не напутать ..

Кроме того, проверка пакетов nouveau показала, что у меня установлено то, что предлагается на веб-сайте nouveau:

# apt search nouveau
Sorting... Done
Full Text Search... Done
bumblebee/stable 3.2.1-27 amd64
  NVIDIA Optimus support for Linux

libdrm-nouveau2/stable,now 2.4.104-1 amd64 [installed,automatic]
  Userspace interface to nouveau-specific kernel DRM services -- runtime

xfonts-jmk/stable 3.0-23 all
  Jim Knoble's character-cell fonts for X

xserver-xorg-video-nouveau/stable,now 1:1.0.17-1 amd64 [installed]
  X.Org X server -- Nouveau display driver

Я подозреваю, что, возможно, где-то по пути я что-то удалил или изменил какую-то конфигурацию и забыл..

Как запустить nouveau?

РЕДАКТИРОВАТЬ:

$ lspci -nnk | grep -iA2 vga 
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050] [10de:1c81] (rev a1)
    Subsystem: Micro-Star International Co., Ltd. [MSI] GP107 [GeForce GTX 1050] [1462:8c97]
    Kernel driver in use: nouveau

$ glxinfo | grep -i device
    Device: llvmpipe (LLVM 11.0.1, 256 bits) (0xffffffff)

$ glxinfo | grep -i memory
    Video memory: 15974MB
    Unified memory: no

$ glxinfo | grep -i opengl
OpenGL vendor string: Mesa/X.org
OpenGL renderer string: llvmpipe (LLVM 11.0.1, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 20.3.5
...

$ cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

nouveau

$ 

AFAIK OpenGL vendor string должен сказать Nouveau, если он используется?

1
php_nub_qq 8 Янв 2022 в 22:22

2 ответа

Лучший ответ

Оказалось, что для правильной работы nouveau требуется прошивка от nvidia (?), которую можно получить, установив firmware-misc-nonfree. Немного разочаровывает то, что вам все еще приходится добавлять несвободный пакет в вашу систему, но я думаю, что это небольшая жертва, которую вы должны принести.

Огромное спасибо hell__ и karolherbst из #nouveau в OFTC IRC за изучение проблемы и помощь.

1
php_nub_qq 9 Янв 2022 в 11:38
Вы действительно правы. Эта прошивка состоит из набора кодеков Nvidia. И OP со своей GeForce GTX 1050 действительно мог бы извлечь из этого пользу. К сожалению, мой гораздо более старый Geforce 9800 GT не поддерживает> 340 драйверов nvidia, когда кодеки взяты из> = 347 драйверов. :-(
 – 
MC68020
9 Янв 2022 в 13:43
Ну, такие видеокарты, как моя, довольно дешевы, прямо сейчас они стоят около 100 долларов, их можно легко найти за полцены. Я почти уверен, что вы можете получить более свежую карту еще дешевле из Китая или что-то в этом роде?
 – 
php_nub_qq
9 Янв 2022 в 15:01

Драйвер nouveau – это бесплатный программный драйвер, распространяемый по лицензии GPL и входящий в состав ядра, как и драйверы графических процессоров Intel и AMD (Radeon) с открытым исходным кодом.

nouveau скомпилирован как модуль и включен в пакеты Debian linux-image. Аппаратное обеспечение должно определяться автоматически во время загрузки, а модуль загружаться автоматически (если модуль не занесен в черный список, что обычно делается только в том случае, если вы хотите использовать проприетарный драйвер nvidia вместо nouveau).

Если он не определяется автоматически, добавьте nouveau в /etc/modules и запустите update-initramfs -u -k all, затем перезагрузитесь. Для запуска X вам также потребуются установленные пакеты xserver-xorg-video-nouveau и libdrm-nouveau2.

Обратите внимание, что драйвер nouveau не очень хорош, в основном потому, что Nvidia (корпорация) отказывается предоставлять документацию по программированию и старается изо всех сил мешать разработчикам бесплатного программного обеспечения писать хорошие драйверы. Лучшее, что вы можете сказать об этом, это то, что он частично поддерживает некоторые функции на некоторых картах.

Если вам нужна хорошая производительность графического процессора с графическим процессором Nvidia, единственный реальный выбор — использовать проприетарный драйвер nvidia. Да, это очень далеко от оптимального. Это то, что есть и вряд ли изменится в обозримом будущем, Nvidia не является другом свободного программного обеспечения или открытого исходного кода. Я бы сказал об этом больше, но я предпочитаю не ругаться на U&L.

Если вы решите установить проприетарный драйвер, установите упакованную версию из репозитория non-free Debian — игнорируйте любые сообщения в блогах или веб-сайты (включая собственные веб-сайты Nvidia), которые сообщают вам, как скомпилировать его самостоятельно. Они собьют вас с пути и создадут непоправимый беспорядок. Вместо этого запустите sudo apt-get install nvidia-detect — это определит и порекомендует подходящие пакеты драйверов nvidia для вашей конкретной модели графического процессора, включая правильный модуль драйвера nvidia-*-kernel-dkms, а также все необходимые библиотеки и пакеты X-сервера.

Если вам нужен высокопроизводительный графический процессор с драйверами с открытым исходным кодом, то лучший вариант на данный момент — приобрести карту Radeon. Карты Intel ARC будут выпущены где-то в этом году, и они должны значительно превзойти по производительности свои интегрированные графические процессоры и конкурировать с производительностью карт Nvidia и Radeon... и, как и Radeon, будут иметь драйверы с открытым исходным кодом.

Можно было бы надеяться, что конкуренция со стороны Intel и AMD может побудить Nvidia отказаться от своего враждебного отношения к драйверам FOSS. Сомневаюсь, что так будет.


Кстати, если у вас есть ноутбук с Nvidia «Optimus», вам также необходимо использовать bumblebee и < a href="https://github.com/amonakov/primus" rel="nofollow noreferrer">примус. Оба они упакованы для Debian.

4
cas 8 Янв 2022 в 08:46
Спасибо, что нашли время! Я предполагаю, что он не определяется автоматически, поэтому я добавил его в /etc/modules, как вы предложили. После перезагрузки я вижу, что Intel ... по-прежнему используется. Теперь я пошел дальше и снова отключил встроенную графику в биосе, и он вернулся к старому прерывистому поведению. Я добавлю к вопросу вывод некоторых команд, что немного сбивает с толку. В нем говорится, что драйвер nouveau используется, но в то же время обработка графики очень плохая, и, например, при запуске glxgears загрузка моего процессора достигает 100%, что должно быть показателем того, что графический процессор не работает?
 – 
php_nub_qq
8 Янв 2022 в 14:29
Я не запускаю какие-либо задачи с интенсивным использованием графического процессора, поэтому все должно быть в порядке, если драйвер nouveau не идеален, пока я могу заставить его работать должным образом — я ожидаю, что смогу, по крайней мере, просматривать веб-страницы, не чувствуя, что я Я на 90-х аппаратных.
 – 
php_nub_qq
8 Янв 2022 в 14:35
Не хочу набрасываться на авторов noveau, они делают то, что могут, но да, IMO тоже подходит, если кто-то хочет на самом деле использовать то, за что он заплатил. Что может быть довольно хорошей частью $$, когда речь идет о графических процессорах. Исключение будет, если у кого-то есть неограниченное время и интерес к взлому системы по этому вопросу. Лично я использую драйверы напрямую с сайта NVIDIA или ДРАЙВЕРЫ GFORCE — в основном из-за исправлений ошибок и специального программного обеспечения, для которого требуются более новые версии, чем то, что есть в репозиториях.
 – 
ibuprofen
8 Янв 2022 в 19:09