• 9 Posts
  • 86 Comments
Joined 2 years ago
cake
Cake day: February 1st, 2023

help-circle
  • AMD has an nvdec/nvenc equivalent called AMF, on Linux it’s going to be deprecated in months in favour of va-api.

    To my knowledge, it does not have an nvfbc equivalent. Which anyway, Nvidia has deprecated on windows in favour of a windows-native screen capture with a name I don’t remember.

    For what is worth, va-api encoding + kmsgrab works pretty well for me, it does have some latency, but nothing too unacceptable. Probably less than the one caused by the Bluetooth controller. And none of this is vendor specific, you can get it working on Intel, AMD and Nvidia (Nvidia needs a compatibility layer, but it works). Also, it works on Wayland, but sunshine needs some privileges to work.

    Sunshine supposedly supports nvfbc with patched Nvidia drivers, even on Linux, I haven’t tried it, so I don’t know if it works on Wayland. I don’t see why it shouldn’t, as long as you give sunshine privileged permissions (like you need for kmsgrab). Even without nvfbc you can use nvenc, so you don’t need the va-api compatibility layer.

    Supposedly, since this Nvidia driver release nvfbc is used as backend for pipewire screen capture, so it should just work for apps like OBS, I don’t know if sunshine has intention to move to it.

    In general, screen capture on Linux pretty much works, even on Wayland. The general sentiment that it’s broken is actually old news.

    There’s a caveat though. Proprietary apps tend to use outdated stuff (e.g. electron builds from 5 years ago) and thus don’t support screen sharing on Wayland.



  • The pc ecosystem is modular by design. The kernel will figure out itself the available hardware, moreover there are only two major CPU manufacturers (in the pc space of course), which means you have only two platforms to support.

    Mobile phones instead are not modular, they use SoC. While most common socs are from Qualcomm and mediatek, there are a lot more smaller manufacturers. Plus, even if most often they use the same reference design for compute cores, the rest of the soc is often custom and wildly different from others. All of this to say that the kernel needs to already know exactly how the specific soc of the device works, instead of figuring it out on the fly. Which is why you need to check compatibility.

    The brick thing instead is because the bootloaders in these devices are usually very locked down, so sometimes you need to replace the bootloader with a more open one, with all the risks that this entails





  • edinbruh@feddit.ittoScience Memes@mander.xyzBlack Mirror AI
    link
    fedilink
    English
    arrow-up
    1
    ·
    28 days ago

    A lot of FOSS software’s websites are starting to use it lately, starting from the gnome foundation, that’s what popularized it.

    The idea of proof of work itself came from spam emails, of all places. One proposed but never adopted way of preventing spam was hashcash, which required emails to have a proof of work embedded in the email. Bitcoins came after this borrowing the idea







  • edinbruh@feddit.ittoScience Memes@mander.xyzmeow >:)
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    2 months ago

    Ok, but, does it really not work, or like, it’s just that you would have to run it in a batch and kill the bad cells, which could be unethical on human embryos?

    Like, could we grow legs on a lungfish (which Google says has a larger genome than humans) using CRISPR-cas9 if we did not care about botched embryos?



  • Splitting the thread here. I personally used i3wm for more than a year and became white fast with it, then I had to use windows for a month and when I went back to i3 it was a pain, I couldn’t do shit. It was at that moment I decided “why can’t I just stop forcing myself to this PITA and just use the mouse faster?” And I never used a tiling VM again, personally I use kde on desktop and gnome on laptop.

    But, I can see the appeal of automatic tiling, so I raise you this: scrollable compositors. You get both the benefits of automatic positioning and oc moving things in and out of the way, without keeping track and managing 10 virtual desktops


  • A couple years ago it could never have worked properly, Nvidia drivers didn’t support Wayland. Because Nvidia refused to implement drivers that followed the Linux semantic (which admittedly was outdated). About a year ago, after many years of work, they published a new semantic that Nvidia was willing to implement. Alongside that, a new Wayland protocol was added so that compositors could opt-in the new semantic when the driver supports it. So, to use Wayland with Nvidia you need both a recent enough Nvidia driver (I think anything after last July) and a compositor that implement the linux_drm_syncobj_v1 protocol. I’m not even sure hyperland supports it, so you should also look into that before continuing.

    P.s.: gnome’s mutter, and kde’s kwin (which are the name of their compositors) both supported that protocol since the very day after it was released, so those are guaranteed to work if they are recent enough, unless if you are on Ubuntu lts which stripped it out for a pet peeve about adding features to lts releases.


  • I don’t have such a laptop, so I can’t really speak for experience, but I can tell you what I know.

    You definitely can use prime to render a program on the dgpu and display it on the igpu, this requires basically no configuration at all on wayland, I even did it on my desktop computer when Wayland didn’t run on Nvidia. But I don’t know if you can or why you would use the dgpu for everything instead of only selected programs (games).

    What you really need is a compositor that properly uses both GPUs and can use the ports of both at the same time, hyperlaneld might just be bad at that. Gnome should be in a better position so you can start from here and see if gnome behaves better.

    Also, are you sure you want to use a tiling compositor on a gaming laptop? Wouldn’t it be a better experiment to just go with gnome? It’s visually polished and goes well with trackpads.



  • Unix needed only \n because it had complex drivers that could replace \n with whatever sequence of special characters the printer needed. Also, while carriage return is useful, they saw little use for line feed

    On dos (which was intended for less powerful hardware than unix) you had to actually use the correct sequence which often but not always was \r\n (because teleprinters used that and because it’s the “most correct” one).

    Now that teleprinters don’t exist, and complex drivers are not an issue for windows, and everyone prefers to have a single \n, windows still uses \r\n, for backward compatibility.



  • I think Hellwig understands everything very well, he just wants things done his way, for whatever (possibly valid) reason he might have.

    Literaly from your quotation: “I assume that we’re good with maintaining the DMA Rust abstractions separately […] No, I’m not” He understands the abstractions would not be in his domain and maintained by someone else, he does not want abstraction at all.

    Maybe you are not familiar with the proposal but these “separate rust abstractions” would be a separate module that depends on DMA mapping as a client and deals with cross-language issues, rust drivers would then be clients of this module, it would not be part of the DMA mapping module, it would not be mixed with the DMA code. But Hellwig doesn’t want an abstraction module at all, Instead he want’s you to “do that [the abstraction] in your driver so that you have to do it [maintain a cross-language codebase]”.

    Please notice that the abstraction module would not add any more burden on him than the drivers themselves would, because as of now C code is allowed to break Rust code. It would only remove burden from maintainers of Rust drivers, and even if it weren’t it would be easier to fix just the abstraction instead of every driver.

    He also refuses to have other people maintain the abstraction, this too for whatever reason, which accredits his request to not add abstraction he would have to maintain. If the abstraction were part of the core dma mapping code, I think it would be a reasonable request, but it wouldn’t be.

    Now, we do not know the reason why he opposes it so much. From his words it looks like he doesn’t want Linux to be a cross-language codebase, which would be a valid reason in itself, but dealing with abstractions in drivers instead of a module doesn’t make it any less cross-language, unless the drivers are out of tree, which they wouldn’t be. Some people (e.g. Hector Martin) think that he’s hoping the Rust for Linux project to fail altogether, and fore rust code to be removed from the kernel, and this obstruction would partake in that. I do not think it is that drastic, I think he just fears that those abstraction would eventually become part of what he has to maintain, and no amount of reassurance or new maintainers would change his mind.

    I also don’t think Martin’s brigading is anything productive, and I hope that doesn’t become the reason that rust code gets obstructed from being merged into the kernel, but it sure does focus the attention on these matters.