• 0 Posts
  • 20 Comments
Joined 1 month ago
cake
Cake day: January 21st, 2025

help-circle

  • Okay I got another stupid question. You have everything going to the rear of the pc, but often times motherboards will have a riser to send audio to the front or top of the case so you can plug your headset in there. Do you have this facility and if so does running to it make any difference?

    I may end up having to bow out but if I don’t get to keep trying to help: at some point you’ll need to fire up a daw or obs or jack or something to figure out if you can actually see the signal you’re dealing with anywhere.

    The troubleshooting process I’m working through is more akin to what you’d do if you were at a big old mixing console trying to figure out why there’s no sound as opposed to the seemingly more obvious process of tracing device drivers and whatnot.

    It’s been very helpful to me when troubleshooting sound issues “in the box”, so if you get stumped fiddlefarting around with lspci and whatnot, give it a shot from that side.






  • Some distributions have that. Some have it built into the tools like arch. For some you just boot your installation media and run only the “install bootloader” step.

    About the only universal way is to boot usb, pivot-root or chroot to switch to the installed system you wanna run and do grub-install, although you need to understand a few things about your system to not make errors.

    Once you pick something to stick with, go ahead and look up its process. Think of it like practicing changing a tire in the grocery store parking lot before you actually need to do it on the side of the road.




  • You have some good answers and some bad answers here.

    It’s not the fault of the people answering, what you’re asking has been piecemeal and scattershot in implementation over the last decade so everyone has some bizarre response they came up with to be happy.

    Allow me to share mine: use a kvm switch.

    The switch lets you plug two computers into one keyboard, video, and mouse. But you’re gonna just use the video part. Plug it into both your motherboards and gpus video ports and push the button to switch back and forth between the gpu for gaming and the motherboard for everything else.

    Why only gaming? Because everything else you reference can make use of a gpu that’s not being used for video. I guess some game engines support rendering frames and then sending them to another output device but that’s not something to rely on.

    So when you’re using blender you see the model on your monitor plugged into the motherboard but the heavy lifting is done by the gpu. When you transcode a video the same thing happens.

    I came to this solution after trying to do what you’re asking for in x11 and having a bunch of headaches about it everytime an update would come down.

    Pushing a little button on the desktop was easier than messing around with software to make a rube Goldberg contraption to do the same thing. Mine had two leds on either side to indicate which “computer” I was using at the time. I ended up wrapping electrical tape around the rim to cover them both up and cut out the word “turbo” from the tape over the green led that indicated I was looking at the gpu.



  • Gayhitler@lemmy.mltoLinux@lemmy.mlResigning as Asahi Linux project lead
    link
    fedilink
    English
    arrow-up
    0
    arrow-down
    1
    ·
    7 days ago

    They are not irrelevant points and hopefully I can show why.

    So I went fishing through the kernel rust directory and didn’t find any drivers. It’s late and I definitely missed a lot (I didn’t even go through the drivers branch, but should rust code be there? I thought it all lived in /rust…), but the r4l page lists the nvme driver, an implementation of existing functionality in rust that is in the words of its description page “not suitable for general use”. The r4l page also has the null block driver, which is not a strictly speaking useful thing for actually doing stuff with the computer but is a great way to do a bunch of goofy crap and its page on the r4l website explains why it’s being rewritten in rust.

    I just want to pause here in the comment and say that the null block driver is actually a phenomenal thing to be rewriting in rust for so many reasons.

    Then there’s the android binder driver which is not something I understand enough to comment on, but is a rewrite in rust. I also saw a puzzlefs driver on the r4l page. Puzzlefs is an experimental file system written in rust to begin with so it’s no surprise the Linux driver is rust.

    Last the r4l page offers two gpu drivers, the apple one that asahi uses and the nvidia nova one which seems to be in the early stages of development.

    As I said, I probably missed some drivers and other rust code that needs to use —since it’s our topic of discussion— the c dma bindings through a wrapper.

    But if all six of those used the dma c bindings wrapper then that’s still far short of my agreement with you that the right way would be to write a bunch of good rust shit that uses the wrapper then say “hey, if we move this wrapper into dma directly it’ll save 10k lines of code because it’s a hundred lines and used in a hundred things”.

    Instead it’s used by three rewrites (the point of r4l!), an experimental file system, a in development gpu driver and the asahi mac driver.

    For a third time, I’m absolutely 100% sure there’s more rust drivers than that, but enough to make the argument that you’re taking a hundred lines out of a hundred places?

    When I was younger I was involved in local government. I was idealistic and thought that having been accepted at the table, the correctness of my ideas would be evident and they would be accepted and implemented quickly. Of course I was very wrong and was surrounded by competing interests vying for limited resources so the force of my argumentation had almost no effect.

    What was effective was constructing scenarios that made it almost impossible for people to act in ways other than what I wanted.

    I chose a narrative analogous to the common rust person complaint of “political reasons” here on purpose because ultimately instead of appealing to an authority to settle the chicken or egg problem for them (which is somehow not political, despite the authority existing within some governing structure but whatever!) rust devs should be saying “who the fuck cares, I’m headed to market with a cartload of chickens and eggs, you gonna give me a stall to sell out of or am I gonna be clogging up the thouroughfares?”


  • Gayhitler@lemmy.mltoLinux@lemmy.mlResigning as Asahi Linux project lead
    link
    fedilink
    English
    arrow-up
    0
    arrow-down
    1
    ·
    8 days ago

    I’m not at a computer with the source on it, so if you get to it before me, how many rust drivers are there? How many that would use the rust dma wrapper?

    I ask because last year there were relatively few.

    People writing in c don’t have to use a wrapper because there’s no need to wrap c code for use by other c code.

    More broadly there are times when duplicated c code has been condensed into a library or something and added to the kernel.


  • Gayhitler@lemmy.mltoLinux@lemmy.mlResigning as Asahi Linux project lead
    link
    fedilink
    English
    arrow-up
    0
    arrow-down
    1
    ·
    8 days ago

    Yes, literally include the wrapper code in every rust driver that needs it then when you push the wrapper on its own you can say “this code is currently duplicated 900 times because there isn’t a rust wrapper” not “this would make it easier for hypothetical rust drivers that might hypothetically exist in the future” and no one will bat an eye!

    That’s how you get things added to the kernel!

    If it was about adding rust code to the kernel, which is what r4l universally says they’re doing, then they’d be taking that approach instead of farting around with the chicken and egg problem trying to get rust everything first.

    That’s the whole point of the part of my comment that you dismissed out of hand. They’re nearly universally behaving in a way that it takes actual concerted brainpower to read as anything other than duplicitous.

    And then when people say “hey, why don’t you not act like that” you get responses like “Linus said we could!” And “nontechnical nonsense” and “Dino devs”.

    I don’t think that’s a broken foundation.


  • Gayhitler@lemmy.mltoLinux@lemmy.mlResigning as Asahi Linux project lead
    link
    fedilink
    English
    arrow-up
    0
    arrow-down
    1
    ·
    8 days ago

    This is where you lose me. I’m not a good programmer or a very smart person, but I have enough experience with c, c++ and rust to know that those wrappers don’t need to be in the kernel if the kernel has c bindings.

    If I were writing something in rust I could just include the r4l wrapper for the kernels c bindings and everything would work fine. The wrapper doesn’t need to be in the kernel.

    There’s a fundamental disconnect here. When people speaking about r4l including official statements from the r4l project say “our plan to add rust, a language intended to address shortcomings of c, to the kernel is only for new code, not a rewrite of existing systems.” I don’t believe them.

    Not only do supporters of and contributors to the r4l project make offhanded remarks about how different things would be better if they were written in rust but if they truly believed in the language’s superiority to c then they would be trying to replace existing c code with rust.

    Then the whole rust using and supporting world melts down when people oppose adding it into an existing huge c codebase.

    Then they all complain that they’re being discriminated against for “nontechnical reasons”, which is becoming a great dog whistle for if you should just disregard someone’s opinion on rust outright.

    Perhaps that explains some of why I don’t believe rust people when they flip out over not being allowed to do the thing that no one else is allowed to do either.


  • Gayhitler@lemmy.mltoLinux@lemmy.mlResigning as Asahi Linux project lead
    link
    fedilink
    English
    arrow-up
    0
    arrow-down
    1
    ·
    8 days ago

    So why can’t rust modules use the c bindings?

    What im building towards is: if r4l isn’t about replacing c code then it doesn’t need to be in the kernel. If its about replacing c code (which it absolutely should be, that’s the whole point of memory safe languages like rust) then r4l people need to have a clear process and understanding of how they expect to accomplish that goal and be open about it.



  • You’ve brought this up in several comments. given the situation, what do you think is the answer to replacing a huge c codebase with rust under the specific conditions of Linux development (open source, overwhelmingly maintained by 9-5 lifers employed by disparate organizations, in use everywhere for everything) when maintainers say they’ll oppose it?

    Microsoft made the news a year or so ago announcing a rewrite of some libraries in rust, but conditions and limitations in Redmond are very different than those faced by the kernel team.



  • Hey, in a different egg thread I wrote a long comment about why eggs matter. You can read it here.

    It’s hard to get people to grasp the meaning of inflation, and even if a person has partial understanding it’s easy to obfuscate it with other measures, but the meaning of expensive eggs is clear to everyone.