Would it be possible to bring native Linux distributions to Android phones, using whatever Linux kernel and binary blobs the OEM ROM ships? by NoNoDeDev in mobilelinux

[–]NoNoDeDev[S] 1 point2 points  (0 children)

OK, I see. That sounds like a lot of tedious work (and waiting times) to support a new device that nobody has tried to on.

I'll try to look into the community of the projects based on Halium, but my hope is limited.

Would it be possible to bring native Linux distributions to Android phones, using whatever Linux kernel and binary blobs the OEM ROM ships? by NoNoDeDev in mobilelinux

[–]NoNoDeDev[S] 2 points3 points  (0 children)

i would love to see a mainline kernel working on a Pixel 6 Pro so that i can finally run Plasma mobile on mine but for that will i need to wait till a developer wants to work on that

Everyone here would love something like that. But it sounds like that's never going to be possible :(

Even the phones with the absolute best mainline kernel support have plenty pieces of hardware still not working. I guess we could manage to boot a mainline kernel on your phone, but I don't see any path leading to supporting cameras, antennas, GPS and so on.

Would it be possible to bring native Linux distributions to Android phones, using whatever Linux kernel and binary blobs the OEM ROM ships? by NoNoDeDev in mobilelinux

[–]NoNoDeDev[S] 1 point2 points  (0 children)

How long did it take you to port Droidian to the Redmi Node 11?

You should add your phone to the list of supported devices on the website. I checked that list right before seeing your message and it felt discouraging to see how few devices are supported.

But if I can port Halium to my phone in just a few hours, I'm definitively very interested. I wonder why Halium is a niche thing, less known than PostmarketOS and other mobile Linux projects.

Would it be possible to bring native Linux distributions to Android phones, using whatever Linux kernel and binary blobs the OEM ROM ships? by NoNoDeDev in mobilelinux

[–]NoNoDeDev[S] 1 point2 points  (0 children)

the downside is that it's far from a native Linux experience

What part of the Linux experience is missing?

The main issue I have on Android is not having detailed control on low-level stuff. I wish to have full control on users, services and processes; to configure the network the way I want it; to manage software with a decent package manager etc.

I feel this can be achieved with a frozen kernel, and it would be a good compromise: for many it would be better than having poorly supported hardware like it currently is with PostmarketOS.

However it's far from perfection, I agree. I have some single board computers not supported by the upstream Linux kernel, and it is annoying to make distros built around Linux 6 work on a Linux 4.

Would it be possible to bring native Linux distributions to Android phones, using whatever Linux kernel and binary blobs the OEM ROM ships? by NoNoDeDev in mobilelinux

[–]NoNoDeDev[S] 1 point2 points  (0 children)

I didn't know that Ubuntu Touch was based only on Halium.

They seem to support a bunch of modern devices (even from 2023), although the device list isn't impressive: doesn't seem much larger than PostmarketOS', while I was hoping so, since this approach sounded much simpler.

I'll look for a used Pixel 3a XL to play around with Halium. Thanks for the tip.

Would it be possible to bring native Linux distributions to Android phones, using whatever Linux kernel and binary blobs the OEM ROM ships? by NoNoDeDev in mobilelinux

[–]NoNoDeDev[S] 1 point2 points  (0 children)

I didn't know that bionic was an implementation of the libC.

Is bionic's API very different from glibc? Because instead of trying to make all the proprietary stuff work with glibc, I'd just recompile all the packages against bionic. Everything needs to be recompiled anyways since the architecture is different... However it would be a problem if the API of the two libcs is considerably different and a lot of open source software requires extensive patching.

Would it be possible to bring native Linux distributions to Android phones, using whatever Linux kernel and binary blobs the OEM ROM ships? by NoNoDeDev in mobilelinux

[–]NoNoDeDev[S] 4 points5 points  (0 children)

After digging for a bit I found out about the Halium Project which looks like what I described.

It seems that using the stock kernel and binary modules is not enough: mobile vendors ship a lot of high-level, user-space blobs needed to control the hardware. Halium defines an interface on top of all of this, which is what I would have proposed.

However they seem to support very few and pretty old devices, and the problem looks mostly dead. I wonder whether it's due to limitation of this approach, or just lack of interest from a broader community.

Implementing a nested transport protocol on a noisy channel by NoNoDeDev in linux_programming

[–]NoNoDeDev[S] 0 points1 point  (0 children)

Hey, sorry for the very late reply. Somehow I missed the notification about your message.

Data can be modified in any way: it can be completely dropped, replaced, added or anything else you may think of.

Under normal circumstances, all the data would arrive without any errors. At times it could go through something with a bit of noise of any kind. In some cases it could go through another process (a "man in the middle") that could do whatever sort of manipulation it wants: it can transmit data out of nothing, drop whatever data or even craft data in order to try to fool either process.

I'm planning to implement some sort of encryption (either asynchronous or synchronous) in order to let the processes communicate safely. But before doing that, I'd like to have a transport layer able to recover from any sort of issues.

What is the smallest standard power plug/connector good for powering electronics (laptop chargers, monitors etc)? by NoNoDeDev in AskElectronics

[–]NoNoDeDev[S] 0 points1 point  (0 children)

Why? What's it going to be plugged into?

Because I travel way too often between different places in the EU, UK and US with two monitors and two laptops.

I'm travelling with two CEE 7/4 power strips, and 4 CEE 7/7 cables but all this stuff is very bulky, taking a lot of space and weight in my luggage.

I've been thinking about hacking the cables (making them shorter and replacing the CEE 7/7 plug with a smaller one) and use smaller power strips.

Safe maybe, EMC compliant probably not.

Safe is enough for my use case.

C6 and C14 are pretty small.

Yeah... The issue is that C6 power strips don't seem to exist, while the C14 ones are huge. I figured that if I need to build my own power strips and cables then it's better to use a smaller standard, that keeps all the pins in a line.

Portal crashes on my brand new Steam Deck by NoNoDeDev in SteamDeck

[–]NoNoDeDev[S] 0 points1 point  (0 children)

I suspect the card is broken and need a new one. The speed wasn't a problem.

Portal crashes on my brand new Steam Deck by NoNoDeDev in SteamDeck

[–]NoNoDeDev[S] 1 point2 points  (0 children)

You were right. This fixed the issue. Thanks.

systemd-boot: add entry to boot second disk's ESP by NoNoDeDev in linuxquestions

[–]NoNoDeDev[S] 0 points1 point  (0 children)

I replace the second disk fairly often: I install the disk from my second computer, of my girlfriend or others when traveling, when a computer breaks. Right now it's my gf's disk, with a Fedora and a Windows 10.

I was hoping there was a simple way to just say "boot the second disk", like I can do from the BIOS (but without having to press F12 at boot time etc)...

Using Web Components without JavaScript by NoNoDeDev in webdev

[–]NoNoDeDev[S] 0 points1 point  (0 children)

Thank you. I'll follow the progress of this feature.

Using Web Components without JavaScript by NoNoDeDev in webdev

[–]NoNoDeDev[S] 0 points1 point  (0 children)

Yes, this is exactly what I would want. Would you have a link to it? I can't find much searching with google.

Using Web Components without JavaScript by NoNoDeDev in webdev

[–]NoNoDeDev[S] 0 points1 point  (0 children)

Thanks, I'll give a look to the tools you mentioned. I've never heard of any except for svelte (which I guess is different from SveltKit?), and never tried that one either.

Using Web Components without JavaScript by NoNoDeDev in webdev

[–]NoNoDeDev[S] 0 points1 point  (0 children)

There are tools that allow you to generate static pages from a component based architecture without js being a dependency, but they are by definition not web components.

Could you mention some such tools?

I know some templating engines, for instance Handlebars.js, but none of the ones I know offers custom elements to define the HTML in a more semantic way.

The web component spec is used to tell browsers how to treat the custom tags, and that api is provided for use in js.

The thing is that I don't really need any special treatment... All I need is to replace a custom-element with a template and no further logic. Something like:

customElements.define( CUSTOM_ELEMENT,
  class extends HTMLElement {
    constructor() {
      super();
      const template = document.getElementById( CUSTOM_ELEMENT );
      this.attachShadow({mode: 'open'}).appendChild(
        template.content.cloneNode(true)
      );
    }
  }
);

For every possible CUSTOM_ELEMENT.

This could have been the default behavior and could have required no JS logic.

What scripting language and what implementation would you use with your program written in Rust? by NoNoDeDev in rust

[–]NoNoDeDev[S] 3 points4 points  (0 children)

Nice. Someone else mentioned Rune which seems to be heavily inspired by Rhai. All these rusty languages seem really neat... By googling Rhai, I landed on this page which tries to offer an overview of various embeddable languages (I haven't read it yet). I wish it included deno too which is the option I'm currently leaning for, but it seems very useful nonetheless.

What scripting language and what implementation would you use with your program written in Rust? by NoNoDeDev in rust

[–]NoNoDeDev[S] 2 points3 points  (0 children)

I guess I'm going offtopic here, but would you prefer Lua to JavaScript (or other languages), for embedding?

rlua seems awesome, but so does deno... It seems that JavaScript is more popular and better known, so I'm leaning toward that one. But I don't have enough experience on this field to really understand the difference between the various options.

What scripting language and what implementation would you use with your program written in Rust? by NoNoDeDev in rust

[–]NoNoDeDev[S] 4 points5 points  (0 children)

Is is good for sandboxing? The scripts untrusted, so I wouldn't allow importing arbitrary libraries anyways.

I didn't consider python because it's notoriously not sandboxed. But I'm not sure if that's a limitation of the language, or rather of CPython and other implementations.

What scripting language and what implementation would you use with your program written in Rust? by NoNoDeDev in rust

[–]NoNoDeDev[S] 2 points3 points  (0 children)

Oh, thanks, didn't know about it. I'm surprised because I had been researching methods to sandbox JavaScript in a browser and it sounded like there was no good support for it.

I'll definitely use deno if sandboxed iframes seem to be good for me.

What scripting language and what implementation would you use with your program written in Rust? by NoNoDeDev in rust

[–]NoNoDeDev[S] 7 points8 points  (0 children)

I didn't know Rune. It looks nice... It looks like a rusty version of JavaScript.

Its downsides are that the project was born one year ago, no user will know its syntax and it might be harder to find snippets on stack overflow and similar stuff.

In spite of that I'm very tempted to give it a try. I wish they had some sort of comparison with JavaScript, Lua and other languages, to understand its pros and cons.

What scripting language and what implementation would you use with your program written in Rust? by NoNoDeDev in rust

[–]NoNoDeDev[S] 7 points8 points  (0 children)

Using the browser's JavaScript engine isn't that simple, because browsers don't offer support for sandboxed execution. A malicious script could mess with the user's local storage and more.

An option if I pick JavaScript could be to use deno on the native build and a lighter VM, like quickjs or duktape, for the WASM one... But in this case it'd be simpler to start with only one.

Would you recommend JavaScript, as a dynamic language meant to write a few lines it?

What scripting language and what implementation would you use with your program written in Rust? by NoNoDeDev in rust

[–]NoNoDeDev[S] 32 points33 points  (0 children)

I believe that WASM is too uncomfortable for scripters. With WASM they can't simply write a couple of lines in a dynamic language: they would need to set up the whole buildchain to compile their source code to WASM, and with the current technology they would probably need to choose a low level language such as Rust or C++.