Corngood

@Corngood@lemmy.ml

This profile is from a federated server and may be incomplete. Browse more on the original instance.

Corngood, (edited )

What’s the android IDE? To me solving the file permissions thing sounds simpler.

Android should allow you to do something like that with storage scopes.

Edit: I know I’m not answering your question, but I couldn’t find anything like what you were asking for.

Laptop keyboard unresponsive - I think my (unknown) laptop is affected by the kernel Zen IRQ regressions - how do I work around this?

I picked up a laptop a couple of months ago for the purpose of setting up Linux on (I chose NixOS for stability) to go with my existing desktop. It’s an Infinity E15-5A165-BM (Infinity being an Australian local manufacturer of gaming laptops) which features a Ryzen 5 6600H CPU and a GeForce 1650 GTX....

Corngood, (edited )

Could you do:

Please share the output of grep -v /sys/class/dmi/id/* as a normal user (not root)

It looks like all the patches from that thread are in linux 6.6, so your board may still need quirks added.

Once you know the board name you try something like this:


<span style="color:#323232;">  boot.kernelPatches = [{
</span><span style="color:#323232;">      name = "acpi quirk";
</span><span style="color:#323232;">      patch = pkgs.writeText "acpi.patch" ''
</span><span style="color:#323232;">diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
</span><span style="color:#323232;">index 297a88587031..655332f3a5da 100644
</span><span style="color:#323232;">--- a/drivers/acpi/resource.c
</span><span style="color:#323232;">+++ b/drivers/acpi/resource.c
</span><span style="color:#323232;">@@ -524,6 +524,12 @@ static const struct dmi_system_id pcspecialist_laptop[] = {
</span><span style="color:#323232;"> 			DMI_MATCH(DMI_BOARD_NAME, "GM6BG0Q"),
</span><span style="color:#323232;"> 		},
</span><span style="color:#323232;"> 	},
</span><span style="color:#323232;">+	{
</span><span style="color:#323232;">+		/* [COMPUTER DESCRIPTION] */
</span><span style="color:#323232;">+		.matches = {
</span><span style="color:#323232;">+			DMI_MATCH(DMI_BOARD_NAME, "[BOARD_NAME]"),
</span><span style="color:#323232;">+		},
</span><span style="color:#323232;">+	},
</span><span style="color:#323232;"> 	{ }
</span><span style="color:#323232;"> };
</span><span style="color:#323232;">'';
</span><span style="color:#323232;">  }];
</span>

Just be careful that the indentation of the patch part doesn’t get changed.

Corngood, (edited )

Nice. Also it occurred to me that there might be a way to set that quirk through the kernel command line instead of having to compile a patched kernel. I haven’t had a chance to look it up though.

Edit: I couldn’t find anything obvious. This behaviour is buried pretty deep.

Corngood, (edited )

That’s great. If you get a chance, would you be able to test this patch?


<span style="color:#323232;">diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
</span><span style="color:#323232;">index 297a88587031..3204bed08b3c 100644
</span><span style="color:#323232;">--- a/drivers/acpi/resource.c
</span><span style="color:#323232;">+++ b/drivers/acpi/resource.c
</span><span style="color:#323232;">@@ -484,6 +484,18 @@ static const struct dmi_system_id tongfang_gm_rg[] = {
</span><span style="color:#323232;"> 			DMI_MATCH(DMI_BOARD_NAME, "GMxRGxx"),
</span><span style="color:#323232;"> 		},
</span><span style="color:#323232;"> 	},
</span><span style="color:#323232;">+	{
</span><span style="color:#323232;">+		.ident = "Infinity E15-5A165-BM"
</span><span style="color:#323232;">+		.matches = {
</span><span style="color:#323232;">+			DMI_MATCH(DMI_BOARD_NAME, "GM5RG1E0009COM"),
</span><span style="color:#323232;">+		},
</span><span style="color:#323232;">+	},
</span><span style="color:#323232;">+	{
</span><span style="color:#323232;">+		.ident = "Infinity E15-5A305-1M"
</span><span style="color:#323232;">+		.matches = {
</span><span style="color:#323232;">+			DMI_MATCH(DMI_BOARD_NAME, "GM5RGEE0016COM"),
</span><span style="color:#323232;">+		},
</span><span style="color:#323232;">+	},
</span><span style="color:#323232;"> 	{ }
</span><span style="color:#323232;"> };
</span><span style="color:#323232;"> 
</span>

I’d like to try to get it upstream, and that seems like the sanest way to do it.

You might need to be on linux 6.5+ for this patch to apply, and if you could verify that it’s still broken on 6.6 without the patch, that would be nice.

Corngood,

That’s great. Thanks!

Corngood,

git.kernel.org/pub/scm/linux/kernel/…/commit/?h=b…

FYI, I think the fix will make it into 6.8.

Corngood,

I use Emacs + spacemacs in VI mode as a base for all my text editing on both Linux and windows (which is unfortunately required for work on occasion) machines.

For dev environments I mostly use nix + direnv + direnv-mode.

For C# I use the above plus omnisharp-roslyn + lsp-mode.

I tinker in all sorts of languages, and they all have at least basic support in the Emacs ecosystem. The popular ones should have fully functional language servers and debugger adapters.

Corngood,

Or is the usage of Spacemacs primarily attributable to it coming earlier to the scene?

Yeah, pretty much just that. If was to start again now I’d consider other options, but I have no serious complaints about spacemacs. I probably would have never got into Emacs at all if I had to start with vanilla.

Furthermore, as you’re using it in “VI mode”, would it be fair to assume that you’ve got some experience/history with Neo(Vim) as well? If so, what led you to making the switch from (Neo)Vim to Emacs?

Yeah, I used VIM (and I still do when I’m in an unfamiliar environment), but only before neovim existed. IMO Lisp is what makes Emacs great, and vimscript is (was?) an absolute nightmare for anything complex. I don’t think lua is a bad language, but I’ll still take Lisp any day for this purpose.

I’ve also got my concerns related to what degree the containers can be sandboxed. Do you happen to have some insights on this?

What I described isn’t using containers. Nix just provides an environment for processes to run in, and direnv-mode ensures it’s using the right environment for a given buffer in Emacs. So for example I don’t have OmniSharp or dotnet in my user $PATH, but they are provided by the nix expression in a particular project directory. That allows lsp-mode to start OmniSharp as a language server, or I can run dotnet build using the Emacs compile command.

You can define containers with nix and manage them with nixos-container. I do that for testing server deployments, or running sandboxed services, but I’ve never needed something that complex for a dev shell.

Corngood,

I assume this is due to the amount of effort that would have been required for it to acquire some of the functionality you were expecting out of it. Am I right?

I didn’t really understand what Emacs was at the time, I just got fed up with trying to make vim into an IDE. Out of the box, spacemacs had good language support, modal editing, and looked ‘modern’.

What I love about Emacs now is Lisp and the package ecosystem. I have 396 packages installed, and many of them interact in quite complex ways. When I do a package upgrade it pretty much pulls the latest from the development branch of each package. Some packages haven’t been changed in 10 years, some are changed daily. It’s bleeding edge everything, and things don’t actually break that much. Lisp makes for (obviously IMO) beautiful, simple code, so most packages are a pleasure to fix, extend, or automate.

I intend to put my teeth in GNU Guix at some point in the future.

Me too, but I nix has served me well, so I haven’t been motivated.

Corngood,

I want to have a better idea for much time is spend on ‘management’; fix, extend and/or automate etc.

Not that much really. I usually upgrade everything once a month or so. The last couple of times were smooth. I think the last problem I hit was:

github.com/emacs-lsp/lsp-mode/issues/4153

This was actually triggered by upgrading omnisharp, which started sending a new notification that lsp-mode didn’t explicitly ignore.

By the time I hit it, that issue had already been reported, so I was able to quickly work around it with a snippet in my main config. I could have also just rolled back omnisharp.

Most problems I’ve had have been solved by upgrading spacemacs to latest.

Corngood,

I see you posted evtest output, but could you do the same from the old (working) kernel, and ideally as plain text?

Also am I understanding right that you’re using a dkms driver from the repository you linked?

"Linux Desktop: A Collective Delusion" - an unhinged rant (tadeubento.com)

Linux has made significant strides, and in 2023, it’s better than ever. However, there are still individuals perpetuating a delusion: that desktop Linux is as user-friendly and productive as its mainstream counterparts. After a few discussions on Lemmy, I believe it’s important to provide a clear review of where Linux falls...

Corngood,

Linux desktop will, most likely, fail for: […]

  • Developers and sysadmins, because not everyone is using Docker and Github actions to deploy applications to some proprietary cloud solution. Finding a properly working FTP/SFTP/FTPS desktop client (similar WinSCP or Cyberduck) is an impossible task as there a few, but they all fail even at basic stuff like dragging and dropping a file.

This can’t be serious.

Corngood,

I was just going to post the same thing. I actually split downloading duties with a friend of mine when we both had 1 (or maybe 2?) hr / day on our ISPs.

We even used coloured floppies to colour code the package sets.

Corngood,

I assume it would only be (properly) encrypted if you set a master password in firefox?

If chrome could bypass the master password, that would be concerning.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #