ALT Linux Distributions development
 help / color / mirror / Atom feed
From: "Антон Мидюков" <midyukov-anton@ya.ru>
To: devel-distro@lists.altlinux.org
Subject: Re: [devel-distro] nvidia vs nouveau в установленной системе
Date: Tue, 8 Sep 2020 16:50:22 +0700
Message-ID: <da4aaf01-dfb2-a673-ac95-6d447ea4cb94@ya.ru> (raw)
In-Reply-To: <53f71410-b460-8f6c-998d-8ffe290f2c6b@ya.ru>

[-- Attachment #1: Type: text/plain, Size: 1059 bytes --]

08.09.2020 16:46, Антон Мидюков пишет:
> 08.09.2020 15:46, Michael Shigorin пишет:
>> On Tue, Sep 08, 2020 at 10:08:57AM +0300, Sergey V Turchin wrote:
>> [...]
>>>> Возможно, в livecd тоже нужен nvidia, не сообразил в эту сторону.
>>> У меня nvidia в livecd.
>> Тогда stage2 придётся трогать, да.
>> Отлаживаться может быть проще и быстрее на live-glxgears.iso.
>>
> Выделил отдельную фичу drm
> (0001-drm-plymouth-stage2-x11-initial-feature-drm.patch).
>
> По дефолту свободный драйвер nouveau. Переключаться на проприетарный
> можно/нужно отдельно для THE_PACKAGES, BASE_PACKAGES и STAGE1_PACKAGES
> соответственно целями:
>
> use/drm/nvidia, use/drm/base/nvidia, use/drm/stage2/nvidia.
>
> Вместо use/drm/nvidia достаточно использовать use/x11/nvidia.
>
> use/drm/base/nvidia переключалка для use/plymouth, use/drm/stage2/nvidia
> для use/stage2/kms.
>
> Вроде работает как надо, но нужно будет потестировать ещё.
Упс. Отправил патч с неисправленной синтаксической ошибкой. Прикрепил
исправленный.

-- 
С уважением, Антон Мидюков <antohami@altlinux.org>


[-- Attachment #2: 0001-drm-plymouth-stage2-x11-initial-feature-drm.patch --]
[-- Type: text/x-patch, Size: 7239 bytes --]

>From 25e899a5b02ec3b995c284412e67703c797bb49b Mon Sep 17 00:00:00 2001
From: Anton Midyukov <antohami@altlinux.org>
Date: Tue, 8 Sep 2020 16:04:55 +0700
Subject: [PATCH] drm, plymouth, stage2, x11: initial feature drm

The drm feature solves the problem of creating a common entry
point for adding kernel drm modules for different package lists.
The need for allocation into a separate feature arose from one
parties to the need to make a switch between free and proprietary
NVIDIA driver, on the other, because of the need to add only drm
modules kernels for purposes such as use/stage2 /kms and use/plymouth.

Also no more switch needed for RADEON, as only the free video driver
remains.
---
 features.in/drm/README         |  7 ++++++
 features.in/drm/config.mk      | 43 ++++++++++++++++++++++++++++++++++
 features.in/plymouth/config.mk |  4 ++--
 features.in/stage2/config.mk   |  3 +--
 features.in/x11/config.mk      | 25 +++++++++-----------
 5 files changed, 64 insertions(+), 18 deletions(-)
 create mode 100644 features.in/drm/README
 create mode 100644 features.in/drm/config.mk

diff --git a/features.in/drm/README b/features.in/drm/README
new file mode 100644
index 000000000..e365536fd
--- /dev/null
+++ b/features.in/drm/README
@@ -0,0 +1,7 @@
+Фича drm решает задачу создания общей точки входа для
+добавления drm-модулей ядра для разных списков пакетов.
+Потребность выделения в отдельную фичу возникла с одной
+стороны в связи с необходимостью сделать переключатель
+между свободным и проприетарным драйвером NVIDIA,
+с другой из-за необходимости добавлять только drm-модули
+ядра в таких целях, как use/stage2/kms и use/plymouth.
diff --git a/features.in/drm/config.mk b/features.in/drm/config.mk
new file mode 100644
index 000000000..ade61a006
--- /dev/null
+++ b/features.in/drm/config.mk
@@ -0,0 +1,43 @@
+DRM_KMODULES := drm drm-radeon drm-ancient
+
+use/drm:
+	@$(call add_feature)
+	@$(call add,THE_KMODULES,$$(THE_DRM_KMODULES))
+	@$(call add,THE_KMODULES,$$(THE_NVIDIA_KMODULES))
+	@$(call add,BASE_KMODULES,$$(BASE_DRM_KMODULES))
+	@$(call add,BASE_KMODULES,$$(BASE_NVIDIA_KMODULES))
+	@$(call add,STAGE1_KMODULES,$$(STAGE1_DRM_KMODULES))
+	@$(call add,STAGE1_KMODULES,$$(STAGE1_NVIDIA_KMODULES))
+
+use/drm/nvidia: use/drm
+	@$(call set,THE_NVIDIA_KMODULES,nvidia)
+
+use/drm/nouveau: use/drm
+	@$(call set,THE_NVIDIA_KMODULES,nouveau)
+
+use/drm/free: use/drm/nouveau
+	@$(call add,THE_DRM_KMODULES,$(DRM_KMODULES))
+
+use/drm/non-free: use/drm/free use/drm/nvidia; @:
+
+use/drm/stage2/nvidia: use/drm
+	@$(call set,STAGE1_NVIDIA_KMODULES,nvidia)
+
+use/drm/stage2/nouveau: use/drm
+	@$(call set,STAGE1_NVIDIA_KMODULES,nouveau)
+
+use/drm/stage2/free: use/drm/stage2/nouveau
+	@$(call add,STAGE1_DRM_KMODULES,$(DRM_KMODULES))
+
+use/drm/stage2/non-free: use/drm/stage2/free use/drm/stage2/nvidia; @:
+
+use/drm/base/nvidia: use/drm
+	@$(call set,BASE_NVIDIA_KMODULES,nvidia)
+
+use/drm/base/nouveau: use/drm
+	@$(call set,BASE_NVIDIA_KMODULES,nouveau)
+
+use/drm/base/free: use/drm/base/nouveau
+	@$(call add,BASE_DRM_KMODULES,$(DRM_KMODULES))
+
+use/drm/base/non-free: use/drm/base/free use/drm/base/nvidia; @:
diff --git a/features.in/plymouth/config.mk b/features.in/plymouth/config.mk
index ea6e541b0..3c2cc4ed1 100644
--- a/features.in/plymouth/config.mk
+++ b/features.in/plymouth/config.mk
@@ -36,12 +36,12 @@ else
 use/plymouth/vm: use/plymouth; @:
 endif
 
-use/plymouth/base: use/plymouth/stage2 use/plymouth/vm
+use/plymouth/base: use/plymouth/stage2 use/plymouth/vm \
+	use/drm/base/free; @:
 ifeq (distro,$(IMAGE_CLASS))
 	@$(call add,INSTALL2_PACKAGES,installer-feature-setup-plymouth)
 endif
 	@$(call add,BASE_PACKAGES_REGEXP,make-initrd-plymouth cpio)
-	@$(call add,BASE_KMODULES_REGEXP,drm.*)
 	@$(call add,THE_BRANDING,bootsplash)
 	@$(call add,THE_PACKAGES,make-initrd-plymouth)
 
diff --git a/features.in/stage2/config.mk b/features.in/stage2/config.mk
index e5d958e68..1e18baa0b 100644
--- a/features.in/stage2/config.mk
+++ b/features.in/stage2/config.mk
@@ -21,8 +21,7 @@ ifeq (,$(filter-out aarch64,$(ARCH)))
 endif
 	@:
 
-use/stage2/kms: use/stage2/drm
-	@$(call add,STAGE1_KMODULES_REGEXP,drm.*)
+use/stage2/kms: use/stage2/drm use/drm/stage2/free; @:
 
 # install mount.cifs to stage1
 # NB: there's builtin nfsmount there, no reason for nfs-utils
diff --git a/features.in/x11/config.mk b/features.in/x11/config.mk
index 379121e0a..2d4f6f0b7 100644
--- a/features.in/x11/config.mk
+++ b/features.in/x11/config.mk
@@ -5,19 +5,18 @@
 
 ## hardware support
 # the very minimal driver set
-use/x11:
+use/x11: use/drm
 	@$(call add_feature)
 	@$(call add,THE_LISTS,$(call tags,base xorg))
-	@$(call add,THE_KMODULES,drm)	# required by recent nvidia.ko as well
-	@$(call add,THE_KMODULES,$$(NVIDIA_KMODULES) $$(RADEON_KMODULES))
-	@$(call add,THE_PACKAGES,$$(NVIDIA_PACKAGES) $$(RADEON_PACKAGES))
+	@$(call add,THE_DRM_KMODULES,drm)	# required by recent nvidia.ko as well
+	@$(call add,THE_PACKAGES,$$(NVIDIA_PACKAGES))
 
-use/x11/xorg:: use/x11 use/x11/armsoc; @:
+use/x11/xorg:: use/x11 use/x11/armsoc use/drm/free; @:
 
 # x86: free drivers for various hardware (might lack acceleration)
 ifeq (,$(filter-out i586 x86_64 aarch64,$(ARCH)))
 use/x11/xorg:: use/x11/intel use/x11/nouveau use/x11/radeon use/x11/amdgpu \
-	use/x11/armsoc
+	use/x11/armsoc use/drm/free
 	@$(call add,THE_LISTS,$(call tags,desktop xorg))
 endif
 
@@ -38,7 +37,7 @@ endif
 
 ifeq (,$(filter-out e2k%,$(ARCH)))
 # e2k: mostly radeon, 101 got mga2/vivante
-use/x11/xorg:: use/x11/radeon use/x11/amdgpu use/x11/nouveau
+use/x11/xorg:: use/x11/radeon use/x11/amdgpu use/x11/nouveau use/drm/free
 
 ifeq (,$(filter-out e2kv4,$(ARCH)))
 use/x11/mga2: use/x11
@@ -59,18 +58,17 @@ endif
 use/x11/3d: use/x11/intel use/x11/nvidia/optimus use/x11/radeon; @:
 
 # somewhat lacking compared to radeon but still
-use/x11/nouveau: use/x11 use/firmware
-	@$(call set,NVIDIA_KMODULES,drm-nouveau)
+use/x11/nouveau: use/x11 use/firmware use/drm/nouveau
 	@$(call set,NVIDIA_PACKAGES,xorg-drv-nouveau)
 
 # has performance problems but is getting better, just not there yet
 use/x11/radeon: use/x11 use/firmware
-	@$(call set,RADEON_KMODULES,drm-radeon)
-	@$(call add,RADEON_PACKAGES,xorg-drv-ati xorg-drv-radeon)
+	@$(call add,THE_DRM_KMODULES,drm-radeon)
+	@$(call add,THE_PACKAGES,xorg-drv-ati xorg-drv-radeon)
 
 # here's the future
 use/x11/amdgpu: use/x11 use/firmware
-	@$(call add,RADEON_PACKAGES,xorg-drv-amdgpu)
+	@$(call add,THE_PACKAGES,xorg-drv-amdgpu)
 
 # Vulkan is new and bleeding edge, only intel and amgpu(pro?)
 use/x11/vulkan: use/x11/intel use/x11/amdgpu
@@ -82,8 +80,7 @@ use/x11/glvnd: use/x11
 	@$(call add,THE_PACKAGES,libglvnd-glx,libglvnd-egl)
 
 # sometimes broken with current xorg-server
-use/x11/nvidia: use/x11
-	@$(call set,NVIDIA_KMODULES,nvidia)
+use/x11/nvidia: use/x11 use/drm/nvidia
 	@$(call set,NVIDIA_PACKAGES,nvidia-settings nvidia-xconfig)
 
 use/x11/nvidia/optimus: use/x11/nvidia
-- 
2.25.4


  reply	other threads:[~2020-09-08  9:50 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-17 14:59 [devel-distro] mkimage-profiles 1.4.0-alt1 Антон Мидюков
2020-08-17 15:00 ` Michael Shigorin
2020-08-17 15:29 ` Alexey Gladkov
2020-08-17 15:34   ` Ivan A. Melnikov
2020-08-17 15:40   ` Антон Мидюков
2020-08-17 15:51         ` Антон Мидюков
2020-08-17 16:14             ` Michael Shigorin
2020-08-17 16:22               ` Антон Мидюков
2020-08-17 16:17           ` Michael Shigorin
2020-08-17 16:33             ` Антон Мидюков
2020-08-17 16:08   ` Michael Shigorin
2020-08-17 22:41   ` Leonid Krivoshein
2020-08-18 10:26     ` Alexey Gladkov
2020-08-18  4:20 ` Andrey Cherepanov
2020-08-18  4:29   ` Антон Мидюков
2020-08-18  5:16     ` Andrey Cherepanov
2020-08-31 12:34 ` [devel-distro] пропало меню grub Sergey V Turchin
2020-08-31 12:40   ` Sergey V Turchin
2020-08-31 12:51     ` Антон Мидюков
2020-08-31 15:10       ` Sergey V Turchin
2020-08-31 15:44         ` Антон Мидюков
2020-09-02  7:25           ` Sergey V Turchin
2020-09-02  7:32             ` Антон Мидюков
2020-09-02  7:40               ` Sergey V Turchin
2020-09-02  7:51                 ` Антон Мидюков
2020-09-02  8:42                   ` Sergey V Turchin
2020-09-02 11:46                     ` Sergey V Turchin
2020-09-03  3:40                       ` Антон Мидюков
2020-09-03  7:11                         ` Sergey V Turchin
2020-09-03 14:41                           ` Michael Shigorin
2020-09-03 14:57                             ` Sergey V Turchin
2020-09-03 15:04                               ` Michael Shigorin
2020-09-03 15:15                                 ` Sergey V Turchin
2020-09-03 15:23                                   ` Michael Shigorin
2020-09-04  7:10                                     ` Sergey V Turchin
2020-09-04  7:32                                       ` Антон Мидюков
2020-09-04  7:42                                         ` Sergey V Turchin
2020-09-04 11:55                                           ` Антон Мидюков
2020-09-04 12:52                                             ` Sergey V Turchin
2020-09-04 16:04                                               ` Антон Мидюков
2020-09-04 20:42                                                 ` [devel-distro] коммиты для kworkstation (was: пропало меню grub) Michael Shigorin
2020-09-07  8:23                                                   ` Sergey V Turchin
2020-09-07 13:56                                                     ` [devel-distro] переводы, списки, форки (was: коммиты для kworkstation) Michael Shigorin
2020-09-07 14:36                                                       ` Sergey V Turchin
2020-09-07 15:10                                                         ` Michael Shigorin
2020-09-08  7:21                                                           ` Sergey V Turchin
2020-09-08  9:25                                                             ` [devel-distro] переводы, списки, форки; education/slinux Michael Shigorin
2020-09-08 11:04                                                               ` Sergey V Turchin
2020-09-08 19:26                                                                 ` Michael Shigorin
2020-09-09  7:25                                                                   ` Sergey V Turchin
2020-09-09  8:49                                                                     ` Michael Shigorin
2020-09-09  8:56                                                                       ` Sergey V Turchin
2020-09-09  9:19                                                                         ` Michael Shigorin
2020-09-09  9:05                                                       ` [devel-distro] отфильтровать общий список Sergey V Turchin
2020-09-09  9:18                                                       ` [devel-distro] переводы, списки, форки (was: коммиты для kworkstation) Sergey V Turchin
2020-09-07  8:09                                                 ` [devel-distro] пропало меню grub Sergey V Turchin
2020-09-07  8:22                                                   ` Антон Мидюков
2020-09-07  8:29                                                     ` Антон Мидюков
2020-09-07  8:46                                                       ` Sergey V Turchin
2020-09-07  8:53                                                         ` Антон Мидюков
2020-09-07  9:16                                                           ` Sergey V Turchin
2020-09-07  9:26                                                             ` Антон Мидюков
2020-09-07  9:31                                                               ` Sergey V Turchin
2020-09-07 14:02                                                       ` [devel-distro] nvidia vs nouveau в установленной системе Michael Shigorin
2020-09-07 14:10                                                         ` Антон Мидюков
2020-09-07 15:08                                                           ` Michael Shigorin
2020-09-07 15:55                                                             ` Антон Мидюков
2020-09-07 16:33                                                               ` Michael Shigorin
2020-09-07 16:48                                                                 ` Антон Мидюков
2020-09-07 16:52                                                                   ` Michael Shigorin
2020-09-07 16:55                                                                     ` Антон Мидюков
2020-09-08  7:08                                                                 ` Sergey V Turchin
2020-09-08  8:46                                                                   ` Michael Shigorin
2020-09-08  9:46                                                                     ` Антон Мидюков
2020-09-08  9:50                                                                       ` Антон Мидюков [this message]
2020-09-08 10:52                                                                         ` Sergey V Turchin
2020-09-08 11:07                                                                           ` Антон Мидюков
2020-09-08 11:12                                                                             ` Sergey V Turchin
2020-09-08 11:56                                                                               ` Антон Мидюков
2020-09-08 12:06                                                                                 ` Sergey V Turchin
2020-09-08 12:21                                                                           ` Konstantin Lepikhov
2020-09-08 13:48                                                                             ` Sergey V Turchin
2020-09-07  8:36                                                     ` [devel-distro] пропало меню grub Sergey V Turchin
2020-09-07  8:44                                                     ` Konstantin Lepikhov
2020-09-07  9:20                                                       ` Sergey V Turchin
2020-09-07  9:51                                                         ` Konstantin Lepikhov
2020-09-07 10:20                                                           ` Sergey V Turchin
2020-09-07 10:28                                                             ` Konstantin Lepikhov
2020-09-07 10:40                                                               ` Sergey V Turchin
2020-09-07 14:07                                           ` [devel-distro] [JT] документирование коммитов Michael Shigorin
2020-09-07 14:40                                             ` Sergey V Turchin
2020-09-07 15:10                                               ` Michael Shigorin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=da4aaf01-dfb2-a673-ac95-6d447ea4cb94@ya.ru \
    --to=midyukov-anton@ya.ru \
    --cc=devel-distro@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Distributions development

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-distro/0 devel-distro/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel-distro devel-distro/ http://lore.altlinux.org/devel-distro \
		devel-distro@lists.altlinux.org devel-distro@lists.altlinux.ru devel-distro@lists.altlinux.com
	public-inbox-index devel-distro

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel-distro


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git