public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Nowa Ammerlaan <nowa@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] [PATCH 4/5] linux-mod-r1.eclass: make modules_process_dracut.conf.d public
Date: Mon, 17 Mar 2025 11:11:06 +0100	[thread overview]
Message-ID: <487ddd00-aabe-4c9b-a312-a541a1ef61f1@gentoo.org> (raw)
In-Reply-To: <Z9T6dcd_djSXg6VX@eversor>

On 15/03/2025 04:56, Ionen Wolkens wrote:
>>> This just feels like a messy half-solution that we're better off
>>> without.
>>>
>>> So NACK from me, both for linux-mod-r1 and adding support to my
>>> packages like nvidia-drivers.
>>>
>>> Not that I'll revert if it gets merged anyway.
>>
>> Is there anything I can say or do to convince you otherwise? I honestly
>> believe that I have addressed all concerns that have been raised so far.
> 
> I don't think so, it's more the idea in itself that I dislike than the
> implementation. Not that the latter helps with its kind of unintended
> hacked-on-top linux-mod-r1 implementation that (as you know) not all
> ebuilds can use right now... but I generally want to avoid requesting
> improvements given it's unlikely it'd change how I feel about this.
> 
> As noted on PR, *if* we really want to support rebuilding for multiple
> kernels it's something that could be done with a linux-mod-r2 eclass
> rather than dkms (not that it wouldn't require work because of the way
> current linux-info works, and some ebuilds would need to be adapted in
> a multilib kinda way), and I'm not convinced the "rebuild at boot" is
> really meaningful esp. with distribution kernels that are controlled
> by the PM.

I really don't see how we can reasonably solve this problem via eclass 
given that the number of possible kernel targets is way bigger then for 
example multilib, PYTHON_TARGETS etc. Plus we also have to account for 
kernels that are not built and installed by the package manager. In my 
opinion what you propose here is unnecessarily complex and I really 
doubt it will work.

> PM limitations could be improved in future EAPIs, like a way to have
> proper hooks for modules and initramfs rebuilding so that we wouldn't
> have to rely on (not really slot-able) virtual/dist-kernel and
> duplicated initramfs generation. It could potentially also clean old
> modules safely then. Such hooks system would also be handy for other
> things like rebuilding gtk icon cache and such rather than doing it
> per-ebuild (we may already have a bug for this somewhere?).
> 
> And I don't feel that this is all important/urgent enough that we need
> to establish (hacky) dkms usage in the interim as a "better than
> nothing" solution. *Vast* majority of users only care about one kernel,
> at most the old just need to be able to boot into a console to fix
> issues if something went wrong (that nvidia-drivers may mismatch with
> userspace is not great, but not getting GPU acceleration is not the
> the end of the world in that situation).
> 
> Not great but, if one rare user really needs to rebuild for multiple
> kernels, there are still (unintuitive) ways to do that in the interim
> such as emerging modules multiple times by pointing to different
> linux sources -- but again emphasis on that not really many need this.

Well I don't know what to say other then that I strongly disagree. This 
is not hacky, DKMS is the standard solution in many many other 
distributions and it works pretty well there. I really don't understand 
why it could not work equally well for us. In fact, I'll turn this 
around and say that our current solution with the slotted 
virtual/dist-kernel is hacky. It works poorly mainly because there is no 
relation between the actual kernel target and the installed slot of the 
virtual (other then a warning if the eclass detects a mismatch). This 
makes the binpkg situation here a mess. Downgrading is difficult. 
Portage is extremely slow in resolving all these slot dependencies. And 
all of this is not intuitive and very confusing for new users.

I do not agree that these problems are not important. Out of tree kernel 
modules are essential to many systems, and therefore this should "just 
work". Sure it's a fixable problem when it breaks, but it's annoying and 
requires manual intervention. Gentoo deserves better, and we can very 
easily make it better by doing what loads of other distributions are 
also doing (i.e. use DKMS).

I am **not** proposing this as an interim solution (I hate interim 
solutions), I am proposing this as a permanent alternative method of 
managing kernel modules where the package manager is less involved 
(while still retaining user compiler/flag preferences etc). Reworking 
linux-info so it can support multiple targets is still possible, these 
things are not mutually exclusive (though I still believe DKMS is the 
better solution even if we do rework the eclasses).

I really do not understand why you are so strongly opposed to this and 
use as your only arguments that a) the problem being solved is not 
important and b) the problem could be solved by some complex and vague 
other solution that does not currently exist.


I had really hoped to receive more comments on my earlier RFC. Because 
now I still feel like it's just you and me disagreeing and we are 
getting nowhere. I really do want to know what others think so I can 
make a better judgment on whether or not my idea is really this crazy 
and if I should just shut up about it or not (so dear reader if you have 
an opinion then please share).

Best regards,
Nowa




  reply	other threads:[~2025-03-17 10:11 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-14 12:48 [gentoo-dev] [PATCH 1/5] use.desc: document new dkms flag Nowa Ammerlaan
2025-03-14 12:48 ` [gentoo-dev] [PATCH 2/5] profiles: mask dkms flag where not available Nowa Ammerlaan
2025-03-14 12:48 ` [gentoo-dev] [PATCH 3/5] linux-mod-r1.eclass: move modlist processing into separate func Nowa Ammerlaan
2025-03-14 12:48 ` [gentoo-dev] [PATCH 4/5] linux-mod-r1.eclass: make modules_process_dracut.conf.d public Nowa Ammerlaan
2025-03-14 16:23   ` Ionen Wolkens
2025-03-14 19:47     ` Nowa Ammerlaan
2025-03-15  3:56       ` Ionen Wolkens
2025-03-17 10:11         ` Nowa Ammerlaan [this message]
2025-03-17 10:25           ` Alexey Sokolov
2025-03-18  3:14           ` [gentoo-dev] " Duncan
2025-03-19  0:34             ` Ionen Wolkens
2025-03-19  0:56               ` Ionen Wolkens
2025-03-19  1:07               ` Ionen Wolkens
2025-03-19  7:57                 ` Nowa Ammerlaan
2025-03-19  8:48                   ` Ionen Wolkens
2025-03-19 12:41                     ` Nowa Ammerlaan
2025-03-19 22:10                   ` Sam James
2025-03-19 22:37                     ` Eli Schwartz
2025-03-20  8:25                       ` Nowa Ammerlaan
2025-03-20  8:12                     ` Nowa Ammerlaan
2025-03-19  3:05               ` Ionen Wolkens
2025-03-19 22:11             ` Sam James
2025-03-17 16:23         ` [gentoo-dev] " Eli Schwartz
2025-03-14 12:48 ` [gentoo-dev] [PATCH 5/5] dkms.eclass: introduce new eclass Nowa Ammerlaan
2025-03-14 15:34   ` Alexey Sokolov
2025-03-14 15:44     ` Nowa Ammerlaan

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=487ddd00-aabe-4c9b-a312-a541a1ef61f1@gentoo.org \
    --to=nowa@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox