[devel-distro] nvidia vs nouveau в установленной системе

Michael Shigorin mike at altlinux.org
Mon Sep 7 19:33:04 MSK 2020


On Mon, Sep 07, 2020 at 10:55:28PM +0700, Антон Мидюков wrote:
> > Здесь как раз нет, если правильно понимаю zerg@ и в stage1/stage2
> > ему нужны именно модули nouveau.  Вот если обеспечивать поддержку
> > модулей nvidia и на livecd либо в инсталере (что само по себе
> > полезно, см. про live.mk, но низкоприоритетно) -- тогда да.
> У zerg@ везде проприетарный, и это правильно.

Он только что говорил, что в инсталяторе ему nouveau тяжеловато.
Возможно, в livecd тоже нужен nvidia, не сообразил в эту сторону.

> Предлагаю ввести новую цель use/stage2/kms-no-free (смотреть
> 0001-stage2-Added-new-target-use-kms-no-free.patch)
> И задействовать её вместо use/stage2/kms в kworkstation.

Скорее use/stage2/kms-base и use/stage2/kms-full (куда ещё
не забыть добавить kernel-modules-drm-ancient, если делать
явным перечислением).

> И решение мне видится в том, чтобы не добавлять модули drm
> в use/plymouth/base (смотреть
> 0002-plymouth-Don-t-add-kernel-modules-drm.patch)
> Неправильно гвоздиком прибивать их к plymouth.

Ты только не смейся, но тогда сломается сам plymouth:
use/stage2/kms там был с самого первого коммита фичи.

> У создателя дистрибутива должна быть возможность самому
> определяться какие модули ядра использовать. Может я не хочу
> использовать драйвера для radeon и nvidia в своей сборке для
> себя, так как целевые машины на intel? Или хочу использовать
> проприетарный драйвер Nvidia, или ещё чего-то там, что появится
> в будущем? Добавлять модули drm нужно не в plymouth. В README
> фичи plymouth я сделал пометку, что для его работы нужны модули drm.

Добавлять-то да, но по сути ты по умолчанию ломаешь фичу (причём
неожиданно для её пользователей, которые разбалованы недостатком
подобных поворотов в моих выпусках) ради особого случая
(kworkstation и livecd-шки с 3d "на всём").

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

Сама проблема здесь шире -- изначально stage2 могли работать без
drm (потому как эта подсистема использовалась только для 3D и
ускорения видео), поэтому её добавление было опциональным;
затем в какой-то момент ядро и иксы изменились так, что без drm
в т.ч. в инсталяторе выпускать что-либо смысла не осталось,
потому что на эти десятки мегабайт вдруг оказалось завязано и 2D.

Глянь тот же коммит a211aec73c56a033184bb4434e79242119bc76d0,
это была как раз попытка отыграть избыточное добавление drm,
насколько помню (да-да, тогда времени не хватило ни толком
разобраться, ни как надо поправить, ни внятно описать).

_Пока_ мне видится что-то такое: фичи, которым надо втащить
drm по объективным причинам (включая x11 и plymouth), делают
это не сами, а через единую точку входа (возможно, фичу drm),
где можно поставить "ручку" насчёт конкретно нвидии.

2 zerg: xorg-drv-nouveau _без_ kernel-modules-drm-nouveau*
мешает или нет? (или "сейчас не мешает, но кто его знает"?)

> +use/stage2/kms-no-free: use/stage2/drm
> +	@$(call add,STAGE1_KMODULES,drm drm-radeon nvidia)

(и тогда уж было бы non-free, а не no-free)

> Subject: [PATCH 2/2] plymouth: Don't add kernel modules drm
> 
> Don't add drm modules this way. This creates problems for
> customization of distributions. For example, it does not allow the
> use of the proprietary nvidia driver in the distribution.
> Needed for kworkstation.

CLEANUP_PACKAGES -- меньшее зло, чем это.
Причины описал выше.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


More information about the devel-distro mailing list