Transform your Android device into a Linux desktop
mrs-t.medium.com
mrs-t.medium.com
* enable freeform windows
* force desktop mode on secondary displays
* enable non-resizable in multi-window
Then choose "simulate secondary displays" and choose the size (720p, 1080p, 4k)Using https://github.com/Genymobile/scrcpy from your desktop and connecting to your phone allows you to choose the virtual display to connect to instead of your main phone display with the --display flag. It's similar to a chromeos feel and very performant
[0] https://github.com/nikp123/scrcpy-desktop/blob/main/startscr...
I guess it depends on your docking station, phone, and what SoC and video output chip it has and less on the Android build.
I plugged my OnePlus 7T running Android 12, in my 4k monitor via a USB-C to DisplayPort cable and the monitor reports 4k@60Hz resolution, and the phone is from 2019, so high resolution is definitely possible and frankly that's pretty amazing that this feature exists and it works this well (suck it iPhone :p)
AFAIK, other android phones, like Pixels, don't have DisplayPort via USB-C output capability or might be limited to lower resolutions. What phone do you have? Try plugging to DisplayPort directly without the dock.
Fairphone 4, which should support DP over USB-C, but I do not have a USB-C to DP cable at the moment to try. Thanks for your suggestion :)
I even attempted to make it into a generic ROM, so that you could flash any Android with a Boot2UT2004 ROM, but the Zink part was hard to make generic enough.
[1] I mention OEM Vulkan driver, because many people are using Zink over a modified Turnip that works on original OEM kernel
[2] I don't even appreciate UT2004, that was to troll a colleague
EDIT: I ended up using UserLAnd, seemed a bit more highly rated, thanks again!
pkg install proot proot-distro ; proot-distro install ubuntu ; proot-distro launch ubuntu
Also since Linux APIs aren't part of stable userspace guarantees for the NDK, and bionic isn't GNU libc, there is room for plenty of surprises when trying to pretend Android/Linux is just like GNU/Linux.
https://github.com/termux/termux-app
> NOTICE: Termux may be unstable on Android 12+. Android OS will kill any (phantom) processes greater than 32 (limit is for all apps combined) and also kill any processes using excessive CPU. You may get [Process completed (signal 9) - press Enter] message in the terminal without actually exiting the shell process yourself. Check the related issue #2366, issue tracker, phantom cached and empty processes docs and this TLDR comment on how to disable trimming of phantom and excessive cpu usage processes. A proper docs page will be added later. An option to disable the killing should be available in Android 12L or 13, so upgrade at your own risk if you are on Android 11, specially if you are not rooted.
The immediate side effect is some applications like Cargo build will sometimes fail to build artifacts randomly, and you still can't access dmesg and most of the procfs.
You also won't have Mesa 3D acceleration on Termux too. I would also suggest replacing VNC with X11 forwarding since it should be faster and we can technically use UDS.
You will also need to disable the phantom process killer in Android 12 if you want to run something practical. I ran vscode remote because Jetbrains Gateway failed to run on Termux
(I'm on a ThinkPad E14 now though. Missed the trackpoint too much :3)
Yes and no. It is the native VSCode remote server (a closed source Microsoft version using SSH: https://code.visualstudio.com/docs/remote/ssh), but it is also called code-server, which is often confused with coder's code-server (https://github.com/coder/code-server)
If you want full control check out postmarketOS: https://postmarketos.org/. With the right hardware and software you can even run Kubernetes on it (I'm planning on running such cluster)
But the big downfall was memory management. It is really easy to get too close to running out of RAM and have the whole environment spontaneously killed.
There are meanwhile quite a few Google references, the one I used at the time is referenced on this comment in the issuetracker: https://issuetracker.google.com/issues/205156966#comment52
Of course, the Pixel 5 only has 8GB of RAM total. It might be a different story on the 7 pro or s23 ultra.
In my experience, VNC is more stable, but when Termux-X11 works, it feels snappier than VNC, and the resolution of the Linux environment is automatically scaled to the available screen space you have (making portrait/landscape switches and soft keyboards feel seamless)
What I would really like to see is an Android back end implementation for wlroots. Or alternatively, a small Android(/termux) app that just acts as a simple Wayland compositor, that compositors can then use as a back-end. I found an issue about this some time ago, but can't find it anymore.
This is awesome, I thought about installing a full DE in it before but got lazy.
are you referring to something other than the releases at https://github.com/termux/termux-app/releases ?
The version from playmarket hasn't been updated for a long time. You must use the freedroid version.
The last stable release was in June 2022. It's still being developed and getting ready for 119. You can get the ci builds from GitHub. There's multiple daily.
My favorite distro also has similar notes: https://fedoramagazine.org/how-to-install-and-update-fedora-...
Plus, it's only using a couple of watts instead if hundreds of watts compared to a 5 year old desktop for the same performance.
It's a pretty good thin client and does almost 80+% of what I normally do on desktop. It's fine for web browsing, but I use replit and codespace for small python/rust/c projects.
The hardware can handle it. The problem is the software, so many tiny issues like not being about to drag and drop, bad window management, lack of shortcuts and lots more added up to an unacceptable experience for me. But it did give me hope that in the future, maybe not my next pc, but the one after, might be the size of a phone.
Instead of emulating a Linux desktop on top of Android, I think many would prefer running Linux natively. Yes that would require driver support. Indeed nobody would waste their time developing drivers if one can not even test them without being able to sign with the private key corresponding the eFuse / silicon ROM public keys.
A benevolent but for sake of argument hypothetical cryptographer that can solve widely used mathematical challenges, might desire to liberate the human population. A declaration of computational independence. Those who look forward to liberty of computation, may collect and assemble a publically accessible database of ROM's public keys, etc. and may encourage said hypothetical cryptographer to risk a single round release of the corresponding private keys.
Seems that running docker in an old android repurposed as a server is still too much niche, unfortunately.
Bonus if it can run KVM with hardware support, but I don't know if it's possible yet.
Noooo!
> if you prefer to set up an XServer, you can find instructions on the Termux Wiki
(clicks link)
> GraphicalEnvironment There is currently no text in this page. You can search for this page title in other pages, or search the related logs, but you do not have permission to create this page.
...
bad vibes man
https://wiki.termux.com/wiki/Graphical_Environment
Also, the x11 setup instruction is wrong. Instead of `pkg install x11-repository` it should be `pkg install x11-repo`.
EDIT: and `nano .vnc/.xstartup` should be `nano .vnc/xstartup`. Actually, just skip this big post entirely and follow the instructions in the termux wiki. The information is identical, more complete, but without the errors.
I have not gone too far in depth, but UserLAnd seems a bit more promising for this, due to how it's structured, if I understand correctly.
This must be some strange use of the word “straightforward” of which I was previously unaware!
There is no rocket science in there, such that a sufficiently focused non-techie could do it, but I think this comes under the same umbellar as “just stop saying just” and “don't describe everything that you are do as simply”.
1) an LED screen emits light in all directions (which is why you can see it from the side), it would need to emit light only at the screen. Making this work would require putting a microlens over every single individual pixel.
2) Even if you achieved the first step, the amount of light you have will be the same. Spreading the light from a phone screen over an area of several square meters is going to be extremely dim, even if your surface was magically 100% reflective and your room was very dark.
Most projectors use lasers, and in the process of generating enough light also generate an absolute ton of heat. It's one of the main reasons even portable projectors are the size they are, it's just about impossible to cool them if they're any smaller.
The Samsung beam had dedicated hardware, was quite chunky to fit said hardware, and the projector could only be used in a pitch black room.
It was also 50 lumens where a typical home theatre projector is more like 2000 lumens.
There's a reason most people own a tv and almost nobody owns a micro projector, they're not very good.
The user mode processes like web browsers will still receive support for as long as the Termux project provides the. With some extra steps (chroots and such) you should be able to use the aarch64 version of Debian or another distro of your choosing instead of relying on Termux.
This solution lacks proper hardware acceleration, though. A system such as Samsung Dex would be a much better solution to turning your phone into a desktop, leveraging the years of updates to Android apps instead of hacking Linux applications into Android.
would be pretty cool!
Manufacturers being, frankly, shit, is the only reason we don't already ubiquitously have this.
I leave my work laptop at home now, and just take my personal laptop and work phone when I am on vacation now. Dex is good enough to get into 70%+ of the cloud tools I might need when remotely working because stuff is burning down.
That being said, it would probably be enough to service many computing needs and one device is a great deal more convenient than multiple.
Hard to blame Apple, due to their market entry-point always being late.
There's also a way to turn on the desktop mode in developer settings, but I've never tried it in anger.
If Microsoft can provide WSL2 that enables Linux seamlessly running alongside Windows (native speed with hypervisor), why can't Google or Android community provide the same functionality? With numerous and pervasive existing Android installations on phone, tablet, etc, perhaps then we can finally claim the elusive "The Year of Linux on the Desktop" title.