home.social

Search

483 results for “zirias”

  1. @thindil I was talking about maintenance pain for devs btw. I assume much of it stems from having *most* of in the base kernel (where it actually belongs), but GPL-parts in the port, and also some fixes even duplicated (because the port must work on systems that didn't receive the fix from the main branch of base yet). With everything in the base kernel, you could maintain it in one place, and MFC fixes as a whole (and, if needed create ENs to also update RELEASE versions).

    Of course, everyone wants a "reasonable" small base, discussions often evolve around what "reasonable" exactly is 😎

  2. @thindil Well, one of the devs who is most active in that area told mit it's his goal to get drm-kmod back into base kernel, because it would remove quite some maintenance pain. And the ongoing efforts to replace GPL-licensed stuff (what's left right now is really minimal) are probably done for exactly that goal. That of course doesn't guarantee it will happen any time soon.

    But remember where we came from: #FreeBSD 11 *did* have drm-kmod in the base kernel. It was very aged. It couldn't be updated because we didn't have the necessary #LinuxKPI bits and pieces. So, the "solution" then was creating that port, which could include lots of GPL-licensed codes without creating a licensing problem for base.

  3. @thindil Well, one of the devs who is most active in that area told mit it's his goal to get drm-kmod back into base kernel, because it would remove quite some maintenance pain. And the ongoing efforts to replace GPL-licensed stuff (what's left right now is really minimal) are probably done for exactly that goal. That of course doesn't guarantee it will happen any time soon.

    But remember where we came from: #FreeBSD 11 *did* have drm-kmod in the base kernel. It was very aged. It couldn't be updated because we didn't have the necessary #LinuxKPI bits and pieces. So, the "solution" then was creating that port, which could include lots of GPL-licensed code without creating a licensing problem for base.

  4. @thindil Well, one of the devs who is most active in that area told mit it's his goal to get drm-kmod back into base kernel, because it would remove quite some maintenance pain. And the ongoing efforts to replace GPL-licensed stuff (what's left right now is really minimal) are probably done for exactly that goal. That of course doesn't guarantee it will happen any time soon.

    But remember where we came from: #FreeBSD 11 *did* have drm-kmod in the base kernel. It was very aged. It couldn't be updated because we didn't have the necessary #LinuxKPI bits and pieces. So, the "solution" then was creating that port, which could include lots of GPL-licensed code without creating a licensing problem for base.

  5. @thindil Well, one of the devs who is most active in that area told mit it's his goal to get drm-kmod back into base kernel, because it would remove quite some maintenance pain. And the ongoing efforts to replace GPL-licensed stuff (what's left right now is really minimal) are probably done for exactly that goal. That of course doesn't guarantee it will happen any time soon.

    But remember where we came from: #FreeBSD 11 *did* have drm-kmod in the base kernel. It was very aged. It couldn't be updated because we didn't have the necessary #LinuxKPI bits and pieces. So, the "solution" then was creating that port, which could include lots of GPL-licensed code without creating a licensing problem for base.

  6. @thindil Well, one of the devs who is most active in that area told mit it's his goal to get drm-kmod back into base kernel, because it would remove quite some maintenance pain. And the ongoing efforts to replace GPL-licensed stuff (what's left right now is really minimal) are probably done for exactly that goal. That of course doesn't guarantee it will happen any time soon.

    But remember where we came from: 11 *did* have drm-kmod in the base kernel. It was very aged. It couldn't be updated because we didn't have the necessary bits and pieces. So, the "solution" then was creating that port, which could include lots of GPL-licensed code without creating a licensing problem for base.

  7. @thindil 1. yes, as I said, #FreeBSD base had (and probably still has? I don't always follow it that close...) GPL-licensed parts. But they can never be absolutely required, you can build a working base without them, so anyone *can* have a "BSD-style" licensed OS from FreeBSD and do withit whatever a BSD license permits.

    2. This reasoning about DRM in a port is often cited, but not really proven in practice. These drivers *need* #LinuxKPI, which *should* be part of the kernel (and largely is, the separate module only has GPL-licensed parts and it's ongoing work to replace them). So, you have a dependency on the LinuxKPI in the FreeBSD kernel anyways, you can't just use DRM drivers from some newer #Linux version. Therefore, the drm-kmod port is already a metaport, selecting the specific port based on the FreeBSD version you're running.

  8. @thindil 1. yes, as I said, #FreeBSD base had (and probably still has? I don't always follow it that close...) GPL-licensed parts. But they can never be absolutely required, you can build a working base without them, so anyone *can* have a "BSD-style" licensed OS from FreeBSD and do with it whatever a BSD license permits.

    2. This reasoning about DRM in a port is often cited, but not really proven in practice. These drivers *need* #LinuxKPI, which *should* be part of the kernel (and largely is, the separate module only has GPL-licensed parts and it's ongoing work to replace them). So, you have a dependency on the LinuxKPI in the FreeBSD kernel anyways, you can't just use DRM drivers from some newer #Linux version. Therefore, the drm-kmod port is already a metaport, selecting the specific port based on the FreeBSD version you're running.

  9. @thindil 1. yes, as I said, #FreeBSD base had (and probably still has? I don't always follow it that close...) GPL-licensed parts. But they can never be absolutely required, you can build a working base without them, so anyone *can* have a "BSD-style" licensed OS from FreeBSD and do with it whatever a BSD license permits.

    2. This reasoning about DRM in a port is often cited, but not really proven in practice. These drivers *need* #LinuxKPI, which *should* be part of the kernel (and largely is, the separate module only has GPL-licensed parts and it's ongoing work to replace them). So, you have a dependency on the LinuxKPI in the FreeBSD kernel anyways, you can't just use DRM drivers from some newer #Linux version. Therefore, the drm-kmod port is already a metaport, selecting the specific port based on the FreeBSD version you're running.

  10. @thindil 1. yes, as I said, #FreeBSD base had (and probably still has? I don't always follow it that close...) GPL-licensed parts. But they can never be absolutely required, you can build a working base without them, so anyone *can* have a "BSD-style" licensed OS from FreeBSD and do with it whatever a BSD license permits.

    2. This reasoning about DRM in a port is often cited, but not really proven in practice. These drivers *need* #LinuxKPI, which *should* be part of the kernel (and largely is, the separate module only has GPL-licensed parts and it's ongoing work to replace them). So, you have a dependency on the LinuxKPI in the FreeBSD kernel anyways, you can't just use DRM drivers from some newer #Linux version. Therefore, the drm-kmod port is already a metaport, selecting the specific port based on the FreeBSD version you're running.

  11. @thindil 1. yes, as I said, base had (and probably still has? I don't always follow it that close...) GPL-licensed parts. But they can never be absolutely required, you can build a working base without them, so anyone *can* have a "BSD-style" licensed OS from FreeBSD and do with it whatever a BSD license permits.

    2. This reasoning about DRM in a port is often cited, but not really proven in practice. These drivers *need* , which *should* be part of the kernel (and largely is, the separate module only has GPL-licensed parts and it's ongoing work to replace them). So, you have a dependency on the LinuxKPI in the FreeBSD kernel anyways, you can't just use DRM drivers from some newer version. Therefore, the drm-kmod port is already a metaport, selecting the specific port based on the FreeBSD version you're running.

  12. @thindil Haha, that was just a gentle hint 😉. But I think it's really important to understand the difference between #Linuxulator and #LinuxKPI, although you're certainly right, *both* were further improved/extended in #FreeBSD 14.

    BTW, I'm pretty sure there is *no* GPL-licensed code in the kernel. There is some GPL-licensed code in base, yes, but you can build base without it; the goal is always to provide a full BSD-licensed OS.

    In fact, if I'm not mistaken, remains of GPL-licensed files in LinuxKPI are the main reason we still have drm-kmod drivers as a port (and not integrated with the base kernel), where this port includes these small parts of LinuxKPI. The drm drivers themselves are not GPL-licensed.

  13. @thindil Haha, that was just a gentle hint 😉. But I think it's really important to understand the difference between #Linuxulator and #LinuxKPI, although you're certainly right, *both* were further improved/extended in #FreeBSD 14.

    BTW, I'm pretty sure there is *no* GPL-licensed code in the kernel. There is some GPL-licensed code in base, yes, but you can build base without it; the goal is always to provide a full BSD-licensed OS.

    In fact, if I'm not mistaken, remains of GPL-licensed files in LinuxKPI are the main reason we still have drm-kmod drivers as a port (and not integrated with the base kernel), where this port includes these small parts of LinuxKPI. The drm drivers themselves are not GPL-licensed.

  14. @thindil Haha, that was just a gentle hint 😉. But I think it's really important to understand the difference between #Linuxulator and #LinuxKPI, although you're certainly right, *both* were further improved/extended in #FreeBSD 14.

    BTW, I'm pretty sure there is *no* GPL-licensed code in the kernel. There is some GPL-licensed code in base, yes, but you can build base without it; the goal is always to provide a full BSD-licensed OS.

    In fact, if I'm not mistaken, remains of GPL-licensed files in LinuxKPI are the main reason we still have drm-kmod drivers as a port (and not integrated with the base kernel), where this port includes these small parts of LinuxKPI. The drm drivers themselves are not GPL-licensed.

  15. @thindil Haha, that was just a gentle hint 😉. But I think it's really important to understand the difference between #Linuxulator and #LinuxKPI, although you're certainly right, *both* were further improved/extended in #FreeBSD 14.

    BTW, I'm pretty sure there is *no* GPL-licensed code in the kernel. There is some GPL-licensed code in base, yes, but you can build base without it; the goal is always to provide a full BSD-licensed OS.

    In fact, if I'm not mistaken, remains of GPL-licensed files in LinuxKPI are the main reason we still have drm-kmod drivers as a port (and not integrated with the base kernel), where this port includes these small parts of LinuxKPI. The drm drivers themselves are not GPL-licensed.

  16. @thindil Haha, that was just a gentle hint 😉. But I think it's really important to understand the difference between and , although you're certainly right, *both* were further improved/extended in 14.

    BTW, I'm pretty sure there is *no* GPL-licensed code in the kernel. There is some GPL-licensed code in base, yes, but you can build base without it; the goal is always to provide a full BSD-licensed OS.

    In fact, if I'm not mistaken, remains of GPL-licensed files in LinuxKPI are the main reason we still have drm-kmod drivers as a port (and not integrated with the base kernel), where this port includes these small parts of LinuxKPI. The drm drivers themselves are not GPL-licensed.

  17. @thindil @emaste Please understand that a #syscall is something completely different than some other, in-kernel, call. A syscall is the special way userspace can call something in the kernel, which needs a context switch. Some architectures have special CPU instructions for syscalls available, on other architectures, software-interrupts (that the kernel can handle) are used, etc.

    Nothing of that is done for in-kernel calls, they're "just" function calls.

    #FreeBSD #Linuxulator provides a set of #Linux-compatible syscalls. The #LinuxKPI project on the other hand aims to provide in-kernel Linux compatibility for use by certain drivers. They're completely unrelated.

    BTW, you're missing a syllable, it's spelled LinuxULator 😉

  18. @thindil @emaste Please understand that a #syscall is something completely different than some other, in-kernel, call. A syscall is the special way userspace can call something in the kernel, which needs a context switch. Some architectures have special CPU instructions for syscalls available, on other architectures, software-interrupts (that the kernel can handle) are used, etc.

    Nothing of that is done for in-kernel calls, they're "just" function calls.

    #FreeBSD #Linuxulator provides a set of #Linux-compatible syscalls. The #LinuxKPI project on the other hand aims to provide in-kernel Linux compatibility for use by certain drivers. They're completely unrelated.

    BTW, you're missing a syllable, it's spelled LinuxULator 😉

  19. @thindil @emaste Please understand that a #syscall is something completely different than some other, in-kernel, call. A syscall is the special way userspace can call something in the kernel, which needs a context switch. Some architectures have special CPU instructions for syscalls available, on other architectures, software-interrupts (that the kernel can handle) are used, etc.

    Nothing of that is done for in-kernel calls, they're "just" function calls.

    #FreeBSD #Linuxulator provides a set of #Linux-compatible syscalls. The #LinuxKPI project on the other hand aims to provide in-kernel Linux compatibility for use by certain drivers. They're completely unrelated.

    BTW, you're missing a syllable, it's spelled LinuxULator 😉

  20. @thindil @emaste Please understand that a #syscall is something completely different than some other, in-kernel, call. A syscall is the special way userspace can call something in the kernel, which needs a context switch. Some architectures have special CPU instructions for syscalls available, on other architectures, software-interrupts (that the kernel can handle) are used, etc.

    Nothing of that is done for in-kernel calls, they're "just" function calls.

    #FreeBSD #Linuxulator provides a set of #Linux-compatible syscalls. The #LinuxKPI project on the other hand aims to provide in-kernel Linux compatibility for use by certain drivers. They're completely unrelated.

    BTW, you're missing a syllable, it's spelled LinuxULator 😉

  21. @thindil @emaste Please understand that a is something completely different than some other, in-kernel, call. A syscall is the special way userspace can call something in the kernel, which needs a context switch. Some architectures have special CPU instructions for syscalls available, on other architectures, software-interrupts (that the kernel can handle) are used, etc.

    Nothing of that is done for in-kernel calls, they're "just" function calls.

    provides a set of -compatible syscalls. The project on the other hand aims to provide in-kernel Linux compatibility for use by certain drivers. They're completely unrelated.

    BTW, you're missing a syllable, it's spelled LinuxULator 😉

  22. Did all these tests, did some fixes, "#Linuxulator userland from source" branch builds fine on #FreeBSD 14-CURRENT/13.2-RELEASE, aarch64/amd64/i386 🥳

    Now doing test builds with 15-CURRENT, which already has a fix for the #Linux #xattr issue. Unfortunately, it's still incomplete. Neverending story 😞

    JFTR, not blaming dchagin at all. It seems Linux has some very weird design decisions, and semantics of the xattr syscall return codes -- EPERM is considered fatal by GNU/Linux tools, because Linux returns ENOATTR or ENOTSUP when access to e.g. the system namespace is restricted 🤯

  23. Double-checking still in progress. So far, fixed an issues on 13.2/aarch64, another one on 14-CURRENT/amd64 (yep, didn't upgrade my #FreeBSD test builders to 15-CURRENT yet 🙈) and yet another one on 14-CURRENT/i386.

    Now, test builds for 13.2/i386 are running. We will see. Once I'm sure the #Linuxulator version of #ffmpeg builds fine everywhere, I'll finally check #MakeMKV 😎

  24. @lobocode Oh, I'm not strictly against replacing #mewburnrc by something NOT relying on shell scripting, possibly integrated with #init. That probably makes sense.

    The thing is, I still have the strong feeling that #systemd is "doing it wrong".

    Regarding the "multitasking power" argument, I don't think that's directly tied here, you *could* solve this with scripting as well. Instead of just deducing an order (like mewburnrc does), you "just" need a real dependency graph.

    But of course, moving away from shell scripting has the potential to give both better reliability and performance. But then, please take the time for a design of some portable, unintrusive and standardized interface between daemons and init systems 😉

  25. @lobocode Oh, I'm not strictly against replacing #mewburnrc by something NOT relying on shell scripting, possibly integrated with #init. That probably makes sense.

    The thing is, I still have the strong feeling that #systemd is "doing it wrong".

    Regarding the "multitasking power" argument, I don't think that's directly tied here, you *could* solve this with scripting as well. Instead of just deducing an order (like mewburnrc does), you "just" need a real dependency graph.

    But of course, moving away from shell scripting has the potential to give both better reliability and performance. But then, please take the time for a design of some portable, unintrusive and standardized interface between daemons and init systems 😉

  26. @lobocode Oh, I'm not strictly against replacing #mewburnrc by something NOT relying on shell scripting, possibly integrated with #init. That probably makes sense.

    The thing is, I still have the strong feeling that #systemd is "doing it wrong".

    Regarding the "multitasking power" argument, I don't think that's directly tied here, you *could* solve this with scripting as well. Instead of just deducing an order (like mewburnrc does), you "just" need a real dependency graph.

    But of course, moving away from shell scripting has the potential to give both better reliability and performance. But then, please take the time for a design of some portable, unintrusive and standardized interface between daemons and init systems 😉

  27. @lobocode Oh, I'm not strictly against replacing #mewburnrc by something NOT relying on shell scripting, possibly integrated with #init. That probably makes sense.

    The thing is, I still have the strong feeling that #systemd is "doing it wrong".

    Regarding the "multitasking power" argument, I don't think that's directly tied here, you *could* solve this with scripting as well. Instead of just deducing an order (like mewburnrc does), you "just" need a real dependency graph.

    But of course, moving away from shell scripting has the potential to give both better reliability and performance. But then, please take the time for a design of some portable, unintrusive and standardized interface between daemons and init systems 😉

  28. @lobocode Oh, I'm not strictly against replacing by something NOT relying on shell scripting, possibly integrated with . That probably makes sense.

    The thing is, I still have the strong feeling that is "doing it wrong".

    Regarding the "multitasking power" argument, I don't think that's directly tied here, you *could* solve this with scripting as well. Instead of just deducing an order (like mewburnrc does), you "just" need a real dependency graph.

    But of course, moving away from shell scripting has the potential to give both better reliability and performance. But then, please take the time for a design of some portable, unintrusive and standardized interface between daemons and init systems 😉

  29. @lobocode On the one hand, #FreeBSD never suffered the brokenness of #sysvinit. It uses a minimalistic init with a quite well-designed rc-system: #mewburnrc. Sure that's still based on shell-scripting, but at least it comes with a sane framework making your typical init-script short, maintainable and correct.

    On the *other* hand, at least for me, whenever I have to deal with #systemd, it feels ill-designed.

    Just a little example, I recently wrote quite a few daemons. There's a simple "interface" allowing an init-system to know when a daemon is really "up", exactly when its first (parent) process exits with a successful exit code. With systemd, the default mode of operation is "don't care" (started and not died yet is good enough), and if you want to inform systemd when the service is ready, the recommendation is to implement some systemd-specific startup notification API. No, thanks.

  30. @lobocode On the one hand, #FreeBSD never suffered the brokenness of #sysvinit. It uses a minimalistic init with a quite well-designed rc-system: #mewburnrc. Sure that's still based on shell-scripting, but at least it comes with a sane framework making your typical init-script short, maintainable and correct.

    On the *other* hand, at least for me, whenever I have to deal with #systemd, it feels ill-designed.

    Just a little example, I recently wrote quite a few daemons. There's a simple "interface" allowing an init-system to know when a daemon is really "up", exactly when its first (parent) process exits with a successful exit code. With systemd, the default mode of operation is "don't care" (started and not died yet is good enough), and if you want to inform systemd when the service is ready, the recommendation is to implement some systemd-specific startup notification API. No, thanks.