KindaABigDyl

joined 2 years ago
[–] KindaABigDyl@programming.dev 62 points 1 week ago

Maybe if more projects add things like this it will keep them from having to get rid of bug bounties.

[–] KindaABigDyl@programming.dev 1 points 1 week ago* (last edited 1 week ago)

I mean distro only matters in so much as it's how you get software.

Arch or Arch-based distros (except Manjaro) are nice for Nvidia bc you're always on the latest drivers and latest wine and latest Niri. Mainly bc you get bug fixes and new features early.

That's what I use.

Fedora is like that too, but Fedora tends to organize the system in a non-standard way, so I don't use it. Tried for a few months. Ran into weird issues where I ended up needing to just build kernel and nvidia myself bc the COPR and main repo options just... didn't work.

Nix can do it too but you have to deal with the static, immutable nature of everything. I like the centralized config nature but some apps just don't work immutably.

Ubuntu and Debian distros can do it, but you might have to tweak more since they're more stable and may not have the latest driver which you may need.

So I mean, they can all be tweaked to get the software you need. I like Arch bc of the AUR, up-to-date software, extensive documentation, and standard design, but then the risk is every now and then it's "too up-to-date" and you get a regression, and for some people that's too big a problem, even if it rarely happens.

[–] KindaABigDyl@programming.dev 15 points 1 week ago* (last edited 1 week ago) (4 children)

My 16G RTX-3080 Mobile works well with Niri

I've found it varies from compositor to compositor:

  • Plasma? Mid on Nvidia
    • Constantly I have issues and I can't even solve them myself
    • I have plasma working on Ubuntu Studio on a laptop I use for music making which has some Nvidia card, and that works fine, but not on my main Arch install
  • GNOME? Works okay until you want to do something with portals like screen recording
    • Even if I use a different portal, GNOME overrides it.
  • Hyprland? Works amazing EXCEPT for random tiny issues
    • Also I had to do a lot of tweaking
    • Every now and then some program will not start or something
    • But generally pretty good
  • Sway? Garbo support
    • Nvidia may not even boot. Lots of tweaking. Lots of issues
  • Cosmic? For wayland - solid
    • For everything else... it needs a little work still
    • I also tried Cosmic Shell + Niri, and it just kinda didn't work in some ways like theming, but Wayland worked great.
    • Also performance with multi-displays is kinda poor, or at least it was when I tried it.
  • But Niri? Perfect
    • Absolutely FLAWLESS Wayland. EVERYTHING works
    • And now that I have DMS there's so much done for me. It's really a great system

Since I love the scrolling aspect of Niri as well, it works out well that it has the best Wayland support. 10/10 project. I love it

When I was on X11 still I was primarily an i3 user, and the transition to Hyprland and Niri has been generally positive

But yeah, I've worked with Nvidia on Linux for several years now on multiple machines. I'm finally throwing in the towel whenever I buy a new PC. AMD all the way. It's just better on Linux, even on X11

[–] KindaABigDyl@programming.dev 8 points 2 weeks ago (1 children)

I bet they'll get mad if I call it "X-fowl" instead of X-F-W-L lol

[–] KindaABigDyl@programming.dev 16 points 2 weeks ago

All I need is VLC and MPV

[–] KindaABigDyl@programming.dev 3 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

I'd recommend using something like Niri instead of mutter for the compositor as Niri is:

  • Extremely customizable
  • Meant to be used alone (unlike mutter which is for Gnome)
  • Supportive of Wayland portals better than any compositor I've tried
  • Very modern
  • Pretty stable
  • Making use of scrolling window management which is, imo, superior to anything else
    • You could force all windows to be floating if you want that traditional method tho

I'd also recommend using DankMaterialShell and simply providing a theming to get the appeal you want. It works well with Niri and provides all the system tools you need for an OS like bluetooth and audio management, application lookup, etc. It's sort of a stripped down Gnome-shell for standalone compositors but way more customizable.

Then everything else can just be installed WINE apps.

[–] KindaABigDyl@programming.dev 3 points 3 months ago* (last edited 3 months ago) (1 children)

Another reason why raw pointers are superior to object nonsense

Isn't "explicit is better than implicit" part of the Zen of Python?

[–] KindaABigDyl@programming.dev 25 points 3 months ago* (last edited 3 months ago)

I like Ardour. It's got everything you need. It's what I've been using for the past couple years now. It even supports VST2/VST3 plugins through WINE

I also recommend using yabridge to set up Windows plugins to work on Linux, but be warned there is risk of compatibility issues with plugins on Linux when buying new ones!

EDIT - Resources:

Wait a little while and low key Audacity 4 might release a fully capable DAW as well now that it's adding better clip support, plugin support, non-destructive editing for some effects like compression, reverb, etc. Of course, it will be mainly for if you do a lot of recording. For electronic, Ardour would probably be better even after Audacity 4 releases.

[–] KindaABigDyl@programming.dev 6 points 3 months ago

Nexctloud home server ftw

[–] KindaABigDyl@programming.dev 15 points 4 months ago (1 children)

As others said, it means nullable, but to put it in more intuitive, less-jargony way - it's a question mark bc you don't know if the value is actually there or not. It could be a Singleton, but it isn't until you check if there is a value. Whereas if you have, idk, int a no question mark, then you're saying you actually have data.

Essentially with C# 8, they "removed" null and reused the idea of null references in creating what is essentially an Option like in other languages. You either have some data of some type, or none (a null reference, in this case). By default, everything has to be there. Then when you need null, e.g. you may not have something initialized or an operation could fail, you explicitly grab for it. Thus it reduces null pointer bugs. If you don't need nullability, you can ensure that you don't accidentally write in an issue. It safety checks statements and parameters.

[–] KindaABigDyl@programming.dev 4 points 4 months ago (2 children)

Yeah I mean it's just a themed Kubuntu, right?

  • Ubuntu is pretty stable, but the latest is pretty up-to-date atm. It's also well supported and well understood by the wider linux community
  • KDE is a solid choice as it will be familiar to Windows users (afterall, Windows 11's GUI was based on Plasma)
  • The novelty of using a Hannah Montana themed linux distro is fun

It's a fine beginner distro

[–] KindaABigDyl@programming.dev 4 points 4 months ago* (last edited 4 months ago)

Wdym? They're so good they even got backported to C in C23

You know how often C gets big features like that? I mean to get auto they had to basically deprecate a keyword (well, sort of)

 

Not sure if this is a good place to ask for help, but I have scoured the internet and no one has a solution, so hopefully this question helps me as well as others.

I'm trying to get my computer to run at its best when on Hyprland. I have an MSI Raider GE76 which has an Nvidia GTX 3080 Mobile and an Intel Tiger Lake CPU with integrated graphics.

I typically have an external display over display port, an Ultrawide 3440x1440@60Hz, and the internal laptop display is on eDP at 1920x1080@360Hz. Note tho that while I often have the dual screen setup, I do need to be able to go to just the Intel display. The Nvidia GPU drives all outputs (DP, HDMI, Thunderbolt) EXCEPT for the eDP which is connected to the Intel card.

On X11, I could use reverse prime sync to use the Nvidia card for everything and just have the Intel card draw whatever the Nvidia card renders. This worked well. Unfortunately there isn't anything like that for Wayland, and I don't have a hardware switch to put the eDP on the nvidia side of things.

This means that I have to use the default prime modes to run stuff on the nvidia card which makes the second screen incredibly laggy. Now, I can disable the i915 module and the external display becomes buttery smooth, but I can't use my built-in display (which means I also can't use the display when I'm not connected to the external monitor).

How can I get both to work well on Wayland?

Can I run the external display exclusively on Nvidia and the internal on Intel with Prime? That could work, but idk if that's possible.

What's the optimal way to set up an external display on Wayland with and Nvidia hybrid-graphics laptop? Bc right now I'm thinking of just going back to X11 and praying it gets enough support to live until I can get a decent Wayland config.

 

I created a little side project over the past few days, a new build system for C and C++: https://github.com/blueOkiris/acbs/

I've seen a lot of discourse over C build tools. None of them really seem solid except for (some) Makefiles (some Makefiles are atrocious; you just can't rely on people these days). Bazel, cmake - they're just not straight forward like a clean Makefile is, basically black magic, but setting up a Makefile from scratch is a skill. Many copy the same one over each time. Wouldn't it be nice if that Makefile didn't even need to be copied over?

Building C should be straight forward. Grab the C files and headers I want, set some flags, include some libraries, build, link. Instead project build systems are way way way overcomplicated! Like have you ever tried building any of Google's C projects? Nearly impossible to figure out and integrate with projects.

So I've designed a simplistic build system for C (also C++) that is basically set up to work like a normal Makefile with gcc but where you don't have to set it up each time. The only thing you are required to provide is the name of the binary (although you can override defaults for your project, and yes, not just binaries are possible but libs as well). It also includes things like delta building without needing to configure.

Now there is one thing I haven't added yet - parallel building. It should be as simple as adding separate threads when building files (right now it's a for loop). I know that's something a lot of people will care about, but it's not there yet. It's also really intended to only work with Linux rn, but it could probably pretty easily be adjusted to work with Windows.

Lay your project out like the minimal example, adjust the project layout, and get building! The project itself is actually bootstrapped and built using whatever the latest release is, so it's its own example haha.

It's dead simple and obvious to the point I would claim that if your project can't work with this, your project is wrong and grossly over-complicated in its design, and you should rework the build system. C is simple, and so should the build system you use with it!

So yeah. Check it out when y'all get a chance

 

I created a little side project over the past few days, a new build system for C and C++: https://github.com/blueOkiris/acbs/

I've seen a lot of discourse over C build tools. None of them really seem solid except for (some) Makefiles (some Makefiles are atrocious; you just can't rely on people these days). Bazel, cmake - they're just not straight forward like a clean Makefile is, basically black magic, but setting up a Makefile from scratch is a skill. Many copy the same one over each time. Wouldn't it be nice if that Makefile didn't even need to be copied over?

Building C should be straight forward. Grab the C files and headers I want, set some flags, include some libraries, build, link. Instead project build systems are way way way overcomplicated! Like have you ever tried building any of Google's C projects? Nearly impossible to figure out and integrate with projects.

So I've designed a simplistic build system for C (also C++) that is basically set up to work like a normal Makefile with gcc but where you don't have to set it up each time. The only thing you are required to provide is the name of the binary (although you can override defaults for your project, and yes, not just binaries are possible but libs as well). It also includes things like delta building without needing to configure.

Now there is one thing I haven't added yet - parallel building. It should be as simple as adding separate threads when building files (right now it's a for loop). I know that's something a lot of people will care about, but it's not there yet. It's also really intended to only work with Linux rn, but it could probably pretty easily be adjusted to work with Windows.

Lay your project out like the minimal example, adjust the project layout, and get building! The project itself is actually bootstrapped and built using whatever the latest release is, so it's its own example haha.

It's dead simple and obvious to the point I would claim that if your project can't work with this, your project is wrong and grossly over-complicated in its design, and you should rework the build system. C is simple, and so should the build system you use with it!

So yeah. Check it out when y'all get a chance

 
 

I'm making a game that takes heavy inspiration from Zelda games like Ocarina of Time, Wind Waker, and Twlight princess, i.e. OoT-lineage Zelda as opposed to BotW & TotK and games that stem from Link to the Past. It's not a fan game, of course, but if you like OoT/MM/WW/TP/SS, then you'll (hopefully) like my game.

One central aspect to nail is the camera system these games use. There's some variation, so I've picked one to "clone." I'm basing this camera off of Wind Waker's. It has a default mode where Link runs around the camera with left and right and pushes/pulls the camera with up and down. If you wait long enough, the camera will move to be behind him, and of course there's a Z-targeting mode that will force the camera to move behind him and let him strafe. Finally, there's a free camera mode that works like the camera in a lot of modern third person games.

In terms of movement, there's walking and running, but jumping is relegated to hopping across short gaps in these games, and I've implemented that system as well.

 
 

I have enabled the strongswan plugin for Network Manager via networking.networkmanager.enableStrongSwan.

I manually set up my work VPN using nm-applet, but obviously this won't come with me if I reinstall NixOS, so I'd like to set up the VPN using nix.

The problem is that networking.networkmanager doesn't seem to have any sort of vpn configuration system. How would I go about this?

 

I can achieve remapping using InputMap, config files, a virtual input system, and a bunch of other stuff, but it's kind of pain tbh. Not hard just a lot of code and layers.

Has anyone made a plugin that makes controller remapping simpler in Godot?

With how much work it is to implement, it makes it kinda low ROI for a project, but I feel bad for users bc it's basically the default for all games now to have remapping.

view more: next ›