this post was submitted on 14 Aug 2023
1 points (100.0% liked)

Linux

47341 readers
1377 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

the one thing linux really hasnt been made on par with winblows yet is the dreadful amount of options for android simulation -the most popular choice seems to be Waydroid, but its such an unneeded hassle to set up at all -genymotion is just slow -and than you have things like android x86 which entirely defeat the point of an emulator

all 37 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

To do Android development, I got myself a Banana Pi, which is a Raspberry-Pi like single-board computer. They provide you with a rooted Android OS image that you can flash onto the device, and you can install whatever else you want onto it. I give it it's own display and keyboard, but can also SSH-into it and control it from my other computers.

[–] [email protected] 1 points 1 year ago (2 children)

I totally get what OP is asking and am constantly annoyed by the same thing.

There's a ton of software that can ONLY be run on a mobile OS, and rather than deal with the nightmare that is a physical Android phone with all of its limitations and restrictions, it would be nice to have these things running in a VM that I can fully control. There's software that demands access to insane and ridiculous permissions, and I'm not going to install those to my physical Android phone and deal with the privacy problems. But a completely isolated VM with burner accounts that I can run in a window on the desktop I'm already using most of the time anyway? I'll take that. Also, I don't see the need to shell out the ridiculous price premiums for phone models with the most storage space when I only use a handful of apps when I'm mobile anyway. An app I might need two or three times a year still takes up that space on my phone when it could easily live on a VM and be used only when I need it at home.

Also, when Android releases new version updates and my phone manufacturer doesn't keep up? Why should I have to go out and buy a new phone just to appease the handful of apps that decide THEY want to be cutting edge and THEY'RE going to be the ones to force me to waste money? I should be able to just spin up another VM with the new Android version and use those sporadic apps on there until I decide to upgrade my phone in my own good time.

Also, Android X86 is fine, but the most problematic apps that mess with users and force apps to newer Android versions for no other reason than being "cutting-edge" aren't made by the kinds of companies with the forethought or customer focus to provide x86 compatible apks.

Basically, I don't see why it's so hard to run a full virtual, sandboxed ARM emulated vanilla Android environment, or why people aren't clamoring for this. It's the most practical, straightforward solution to the fragmentation/bad vendor update model that physical hardware forces on us and I assume most of us hate.

[–] [email protected] 0 points 1 year ago (1 children)

YES THANK YOU i always feel like im alone in wanting an easy to use solution like this

[–] [email protected] 1 points 1 year ago

You are DEFINITELY not alone. Every 6 months or so I come back to this and hope someone has done something, and every time I'm disappointed. I'd do it myself, but my username isn't an ironic joke.

[–] [email protected] 0 points 1 year ago* (last edited 9 months ago) (1 children)

[This comment has been deleted by an automated system]

[–] [email protected] 0 points 1 year ago (1 children)

Apps “forcing” you to update are the result of developers doing their jobs. Just because you decided to buy a cheap phone or a free Android distro that doesn’t come with any update guarantees doesn’t mean they have to pour in money to keep things working for you.

I absolutely refuse to spend that much money on a platform with so little respect for users. You shouldn't even NEED an update guarantee. You don't go out and buy a computer and check for guarantees that it's going to include OS updates... you KNOW it's going to continue updating until the hardware physically can't handle it anymore and you get sick of it and go upgrade it. The Android system and its heavy ROM customization and reliance on vendor updates is fundamentally broken, and it is NOT a problem to be pawned off on USERS to fix by throwing more money at it. The only reason there's ANY difference in the Android environment vs X86 computers is because people tolerate it for whatever reason. This is a problem to be fixed, and the first responsibility for fixing this is on Google, and failing that responsible app developers should be developing for the lowest still supported Android version for SEVERAL reasons.

  1. I'm generalizing, but as an app developer, usually more users is better.
  2. If they DID it would be incentive for Google and Android manufacturers to FINALLY decouple Android updates from the hardware they run on.
  3. It reduces e-waste by extending the time phone hardware can be used. I shouldn't have to explain why this is a good idea.

There are good reasons to update an app to use a new Android version. Complacency in a broken environment of continuous obsolescence as a money making scam isn't one of them.

[–] [email protected] 1 points 1 year ago* (last edited 9 months ago) (1 children)

[This comment has been deleted by an automated system]

[–] [email protected] 0 points 1 year ago (1 children)

My anger is that the decision of an upgrade is made FOR me when the functionality of my phone should be limited by the physical limits of the hardware, and not the development limits of the phone vendor. A company should NEVER tell me "We don't think this is going to give you a good user experience so we're disabling it for you." That is MY decision. If I want to suffer through running your app more slowly, that's up to me, and I don't need the decision made on my behalf, especially when the end result is costing me money. I'm sorry, but that is absolutely unacceptable. EU legislation is nice - I'm particularly looking forward to replaceable batteries making a comeback - but legislation forcing vendor updates doesn't fix the fundamental problem that it shouldn't even be their responsibility. I know the only real differentiating factor between vendors is their particular ROMs and whatever custom bloatware they ship with, but unlocked boot loaders and an operating system with a kernel that is not so inextricably linked to particular hardware that it can be installed and run on ANY Android phone is the real solution. Desktop operating systems don't have 47 different installation images for 47 different special pieces of hardware, and there's absolutely no reason that Android should need that either. Maybe there was an argument that ARM CPUs weren't powerful enough, or space was at a premium for a kernel to have unnecessary hardware support 10 years ago, but the hardware is certainly powerful enough now, and all of those CPU cycles get wasted on crap like app scanning when the system starts, services I can't identify and probably don't need, assistants that are constantly listening to my microphone... I won't say those things are all well and good - I loathe them - but if we're going to have them that should come AFTER development of a generic Android image with a kernel that supports a wide variety of hardware. At this point, vendors can't NOT conform - what are they going to do, develop their own mobile OSs again? Android has become the defacto standard and has no competition. You can force vendors to build hardware that conforms to standards and support generic OS installation now.

Google have decoupled everything they could from the hardware abstraction layer. These changes started coming in around Android 8 and 9 (5-6 years ago at the earliest) and have only been extending the following versions. Entire subsystems like the Bluetooth system can receive updates through Google. You can boot standard OS images and all the important hardware will Just Work. If you’re stuck on an Android version that’s being dropped by app developers (Android 7, I’m guessing?) you probably won’t reap the benefits, but it’s been a few years since then.

If this is true, I haven't seen it. I've got Android 10 phones and as far as I know, I sure can't download a generic Android 12 ROM and just install it. I'm stuck waiting for system updates.

If you’re not paying, you’re the product, or you’ll be left with shovelware. Companies that won’t make any money from you aren’t going to give you anything out of the goodness of their hearts.

It's surprising that I'm STILL hearing this when I'm running 6 PCs with free operating systems that work, aren't bloated, and are loaded to the brim with world class software that is all free and reliable, some of which was written 20 years ago and barely been touched since because it STILL works.

What you're saying is perfectly valid for SERVICES, which involve ongoing costs, but not everything needs to be a service. In fact, I'd argue most things SHOULDN'T be services. And if I write an app TODAY that works PERFECTLY for some task, I can't just leave it there and rely on it to keep being used in the future. Because of the architecture of the Android system, I have to continually put in work to make it conform to new standards, which of course, keeps reliable, functional FOSS from getting ANY kind of long term usage in the mobile space.

My favorite dictionary app was written for Android Kitkat. Completely offline and functional and did everything it needed to PERFECTLY. I upgraded my daily driver phone to a Android 12 and with there being NO changes to the dictionary app that did EVERYTHING that was necessary for free, that app was broken, because it didn't conform to some new standard. Another app let me remotely mount my SSHFS folders and use my personal server, but THAT broke when Android removed the modules from the kernel. The entire history of the platform is LITTERED with this garbage where developers are FORCED to continually put in work on things that should be "develop once and it's done", and that's INTENTIONAL.

It's a scam of squeezing money out all the way down.

[–] [email protected] 0 points 1 year ago* (last edited 1 year ago) (1 children)

Waydroid works at native speeds for me and on NixOS installation constituted adding virtualisation.waydroid.enable = true; to my config, running waydroid init -s GAPPS and then registering it on Google's website with the code it gives. Might be able to do it with just the nix package manager and not full blown NixOS but not sure about that

Unsure of the difficulties installing it but when it works it works flawlessly

[–] [email protected] 0 points 1 year ago (2 children)

Man! I was super excited about this, being a big NixOS fan, but then I realised that the "Way" bit is going to kick me in the nuts. I haven't made the switch to wayland yet; I keep thinking about switching, but last time I checked being tied to i3 and nvidia hardware scared me off (although I'm aware sway is a drop-in alternative to i3, but it's an extra complication). Another reason to make the switch when I can though!

Out of curiosity, how do big media apps treat something like Waydroid? Like, I imagine Netflix and co being awkward with anything like this in a misplaced attempted to prevent "piracy". Do you find apps treating you like a second class citizen?

[–] [email protected] 2 points 1 year ago* (last edited 9 months ago)

[This comment has been deleted by an automated system]

[–] [email protected] 1 points 1 year ago (1 children)

I've not found this yet but I've only used it for a few things so far, haven't tried Netflix. Will give it a go for you in a moment

The apps I have used (plato, teams, office) have worked without a hitch so far (once I figured out I needed to install it with play services enabled)

Can't imagine banking apps would work at all though

Wayland with Nvidia is patchy. I've managed to get around the issue by running integrated graphics with offloading for intensive stuff, at least with Wayland gnome I've found integrated is indistinguishable performance from using the GPU anyway

[–] [email protected] 1 points 1 year ago (1 children)

Just installed NixOS with Wayland and Gnome the other day on my laptop with Nvidia card. I had to tune the config a bit, but it works flawless now -- notably also with the offload command. That's fine for me though because it saves considerable energy if the GPU only runs on request.

[–] [email protected] 1 points 1 year ago

That could be a 2 birds one stone situation for me. My daily driver is a laptop with Nvidia hybrid GPU setup and it's hella-twitchy with X. If its more stable with Wayland that's yet another reason to try switching.

[–] [email protected] 0 points 1 year ago (1 children)

Do you mean emulators such as the Android emulator that comes with Android Studio, or is the latter lacking features that other software on windows possess?

[–] [email protected] 0 points 1 year ago (1 children)

android studio is painfully slow and has not exactly a friendly userinterface (its been a couple of years)

[–] [email protected] 1 points 1 year ago* (last edited 9 months ago)

[This comment has been deleted by an automated system]

[–] [email protected] 0 points 1 year ago (1 children)

How is waydroid a hassle? also literally all android emulators ARE just android x86 in a VM, the VM of choice is typically virtualbox

[–] [email protected] 0 points 1 year ago (1 children)

installing some random kernel that has the modules waydroid needs watching what gpu you have, which changes the instructions a little and even than its pure luck if waydroid even manages to use these binders

id call that a hassle

[–] [email protected] 0 points 1 year ago (2 children)

Instead of an emulator, what about a VM? Does that option exist?

[–] [email protected] 1 points 1 year ago (1 children)

nearly all android emulators are VMs, usually vbox, common ones include bluestacks memuplay. WSA uses hyper-v infranstructure. GooglePlay Games uses crosvm

[–] [email protected] 1 points 1 year ago* (last edited 9 months ago)

[This comment has been deleted by an automated system]

[–] [email protected] 0 points 1 year ago (1 children)

VM = x86 = android-x86 which OP already mentioned

[–] [email protected] 0 points 1 year ago (1 children)

yeah but android emulators = VM = x86 = android-x86

[–] [email protected] 0 points 1 year ago (1 children)

There's a bit more to an emulator than simply running Android on x86 hardware.

[–] [email protected] 0 points 1 year ago (1 children)

not really no. I mean, sure you could add a fancy gui on top of it. but 90% of android emulators are some kind of android x86 + libhoudini/ndk + vmm. some modify surfaceflinger so that each application will render to it's own window, but usually it's just disabling launcher, and sending some kind of command to open the app from a gui (IE. sending adb launch commands)

[–] [email protected] 1 points 1 year ago* (last edited 9 months ago)

[This comment has been deleted by an automated system]

[–] [email protected] 0 points 1 year ago (1 children)

There's one that you can download through Android Studio. It's pretty good if you have Linux as your host OS, as it will share your Linux kernel rather than emulating it. I guess by definition that's not an emulator, though, so it technically doesn't answer your question.

I haven't used it with Windows as my host OS since around 2016, but it was not very good back then.

[–] [email protected] 1 points 1 year ago* (last edited 9 months ago)

[This comment has been deleted by an automated system]