Curious to know the coolest things you achieved by configuring your kernel. I know kernel config can be boring, but I’m hoping someone will have an impressive answer.

For me I have a very lightweight kernel that runs wayland on nvidia without any issues to date.

  • ExtremeDullard@lemmy.sdf.org
    link
    fedilink
    arrow-up
    18
    ·
    4 months ago

    As a Linux user of almost 30 years, compiling hundreds of kernels over the years has given me a great appreciation of pre-build kernels, and a profound gratitude for those who package them up into convenient distros that work out of the box and let me get on with the rest of my life.

      • ExtremeDullard@lemmy.sdf.org
        link
        fedilink
        arrow-up
        5
        ·
        4 months ago

        Absolutely! If you’re doing it to learn something, by all means compile your own kernel. Every Linux user should do that at least once in my opinion. But once the learning is done, the novelty wears off fast and it just becomes tedious.

    • limelight79@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      4 months ago

      Well said. I originally compiled my own kernels because I thought it was something you just did to use Linux. I also compiled hundreds of them, probably. Now it’s stock kernel all the way. Not worth the effort and time and headache.

  • aordogvan@lemmy.world
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    4 months ago

    Not for myself but a client who was running a game server. He wanted to tweak the number of ticks/second that the kernel interacted with CPU. Didn’t even know that this was a parameter and after a few attempts, according to him, never went on that server myself, made a huge difference and he claimed having grabbed a good part of the market because of that.

    After that familiarized myself more with the stuff in there. But that was a good while ago, before most of you guys were born.

  • thejml@lemm.ee
    link
    fedilink
    English
    arrow-up
    5
    ·
    4 months ago

    Years ago (2006-ish), I ran Gentoo on a 300mhz ultra low power system I used for an irc & web server. I gained LOTS of speed and lowered power draw even further while also enabling the hardware acceleration the board had for ssl encryption and video encoding. The whole thing would pull <5 watts and be super stable. It was well worth it.

    But now days a Pi zero would trounce it in both low power draw and speed with stock kernels and I don’t really care enough to try to squeeze more out.

    • CarrotsHaveEars@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      4 months ago

      Customising the kernel just means something works properly in rare hardware configurations like you described. It’s something which he who uses the general hardware (like an X86 desktop) can’t easily see or understand because the ‘stock’ kernel is already working properly.

  • xycu@programming.dev
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    4 months ago

    I do it because I can… I read release notes on every update and once you’ve configured a kernel for a particular machine you really don’t need to touch the config, barring major changes like when PATA and SATA merged. Or of course if I’m adding a new piece of hardware.

    I remove everything I don’t need and compiling the kernel only takes a couple minutes. I use Gentoo and approach everything on my system the same way - remove the things I don’t need to make it as minimal as possible.

    Compiling your own kernel also makes it easier when you need to do a git bisect to determine when a bug was introduced to report it or try to fix it. I’ve also included kernel patches in my build years ago, but haven’t needed to do that in a long time.

    I used to compile a custom kernel for my phone to enable modules/drivers that weren’t included by default by the maintainer.

    It’s not about performance for me, it’s about control.

  • ChojinDSL@discuss.tchncs.de
    link
    fedilink
    arrow-up
    4
    ·
    4 months ago

    Back when I was still using Gentoo, configuring your own kernel was a rite of passage. It was kind of fun to try and configure it as minimalist as possible to cut down on the kernel compile time. Also, understanding all the different options and possibilities. And thanks to use flags, you had access to all these different patch sets for the kernel, which took a lot of the pain out of trying things like experimental schedulers or filesystems.

  • Pantherina@feddit.de
    link
    fedilink
    arrow-up
    4
    ·
    4 months ago

    Just download the devel kernel from your distro and go into make menuconfig. I am on an Intel Laptop with recent hardware. No reason to use amd, nvidia etc drivers. And there is a shitload of likely unmaintained drivers for ancient hardware.

  • 0x0@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    A kernel that fits my hardware and supports things the original kernel doesn’t. Then again, i use gentoo.

  • galoisghost@aussie.zone
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    Mostly just understanding what was there, what was necessary for my machine at the time and what was optional.

  • mumblerfish@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    The first time I configured the kernel was in Gentoo. The gain from the configuration it self may not have been much, but making my own initramfs image to bundle and load with the kernel taught me a bunch of how linux works in early boot.

  • zarenki@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    I have configured custom Android kernel builds to enable more USB drivers, enable module support, and tweak various other things. For one tangible example of the result: I could plug in a USB Wi-Fi adapter and use it to simultaneously connect to another Wi-Fi network with the internal NIC while also sharing my own AP over USB. On an Android device of all things. I have also adjusted kernel builds for SBCs (like Pi clones) to get things working at all.

    I have never seen any reason to configure a custom kernel for my own desktop/laptop systems. Default builds for the distros I’ve used have been fine for me; if I’m ever dissatisfied with anything it’s the version number rather than the defconfig. The RHEL/Rocky kernel omits a few features I want (like btrfs) but I’d rather stick to other distros on personal systems than tweak a distro that isn’t even meant for tweaking.

  • pastermil@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    I’m playing around with coreboot and that gives me ability to embed Linux kernel. The problem is we’re limited by the amount of ROM chip which is between 4MiB to 16MiB depending on the specific device. The one I’m working on got 12MiB, about 3 is taken in order to boot normally, leaving me with 9 to play around.

    Enter buildroot, (arguably) a Linux distro that allows you to have kernel, busybox, minimum libc, along with whatever software you’d choose.

    While it’s easy to include only what’s needed to have a working system (busybox provides working shell as well as the coreutils), you’d need to get rid of stuff you don’t need, such as drivers for hardware you wouldn’t have.

    Aside from that, you’d end up with better running kernel in general if you know what you’re doing. I run Gentoo and have kept a working config that I tweak from time to time (especially on version upgrade).