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
next prev parent 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