From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ya.ru; s=mail; t=1599558623; bh=NgTs2evKWiqWZzlEpadAqj1cJUJklbe2e6sFtTto4eI=; h=In-Reply-To:From:Date:References:To:Subject:Message-ID; b=wH8dCldonk0HD1sEE8Dl1y3oe48ezMQYfmkFoB8alaWZ/K7Kfn8rHbyBTNPmuTLEj KqAsb6W3m/viZhLckc4XaamGITU+XBSFAmD//8U2J467aphZIjdY8O8ag2gB7C9txb LB2kIoUE4WaIJipm6tXbEt6/U8rgcjYfJVFDoNfw= Authentication-Results: mxback1q.mail.yandex.net; dkim=pass header.i=@ya.ru To: devel-distro@lists.altlinux.org References: <1cd8e7f9-4dc3-1eeb-268f-84c0d36a3204@ya.ru> <98eee7c4-471a-301b-fcc8-33219bf55f1f@ya.ru> <20200907163304.GI5319@imap.altlinux.org> <13673962.uLZWGnKmhe@zerg.malta.altlinux.ru> <20200908084638.GL5319@imap.altlinux.org> <53f71410-b460-8f6c-998d-8ffe290f2c6b@ya.ru> From: =?UTF-8?B?0JDQvdGC0L7QvSDQnNC40LTRjtC60L7Qsg==?= Message-ID: Date: Tue, 8 Sep 2020 16:50:22 +0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: <53f71410-b460-8f6c-998d-8ffe290f2c6b@ya.ru> Content-Type: multipart/mixed; boundary="------------7E43CAC1D4AC33277648D1F4" Content-Language: ru Subject: Re: [devel-distro] =?utf-8?b?bnZpZGlhIHZzIG5vdXZlYXUg0LIg0YPRgdGC0LA=?= =?utf-8?b?0L3QvtCy0LvQtdC90L3QvtC5INGB0LjRgdGC0LXQvNC1?= X-BeenThere: devel-distro@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Distributions development List-Id: Distributions development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Sep 2020 09:50:26 -0000 Archived-At: List-Archive: This is a multi-part message in MIME format. --------------7E43CAC1D4AC33277648D1F4 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit 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. > > Вроде работает как надо, но нужно будет потестировать ещё. Упс. Отправил патч с неисправленной синтаксической ошибкой. Прикрепил исправленный. -- С уважением, Антон Мидюков --------------7E43CAC1D4AC33277648D1F4 Content-Type: text/x-patch; charset=UTF-8; name="0001-drm-plymouth-stage2-x11-initial-feature-drm.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0001-drm-plymouth-stage2-x11-initial-feature-drm.patch" >>From 25e899a5b02ec3b995c284412e67703c797bb49b Mon Sep 17 00:00:00 2001 From: Anton Midyukov 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 --------------7E43CAC1D4AC33277648D1F4--