I've been working on X11 on jailbroken iOS
maxleiter.com
maxleiter.com
I've probably still got a few machines with a locally compiled version of xscreensaver lying around.
Most screensavers and lockers lock-up the system while trying to switch the screen to low power mode on my PC but, XScreensaver works reliably. DisplayPort connection on nVidia cards is a pain point.
For those not familiar.
Now if he wants to port XScreenSaver to a platform that doesn't have support for either OpenGL or OpenGL ES, my guess is that he'll write a wrapper.
FWIW i'd expect OpenGL on the desktop to exist for far longer than OpenGL ES on Android and iOS since the latter two do not put as much emphasis on backwards compatibility. Of course this wont stop others from implementing it, but that only helps when you have the source code and want to recompile an application - it wont help existing applications to keep working.
I'm interested!
Take a look on AzPainter[0] — modern looking desktop app for painting, written in pure C with own toolkit built directly on top of X11.
Would be happy to see it ported to iOS.[1]
FTR, AzPainter already ported to Android, thanks to Termux app dev team.[2]
[0] https://github.com/symbian9/azpainter
It's nice to see projects like this, I just hope that the rug doesn't get pulled out from under you after sinking time into it.
iPhone runs Darwin, which has none of the low level primitives in the kernel (cgroups, namespaces, etc) that Linux does, so good luck with that!
https://linuxoniphone.blogspot.com/2010/05/android-on-iphone...
Actually it's A11 or older, which is even better.
I fully get why Vnc/X11 as a screen sharing facility wouldn't work - no access. I also get why running a full devel environment would be pain for a "normal" developer to implement - again, no access.
This is all ironic because Apple market their iPad Pro as a professional device AND the cpu/ram is obviously plenty good enough (they themselves said so). The thing is more powerful than a Pi. And it meekly manages to compile quite a lot. My little Pi collection is now at 5 members and growing.
So, Apple, why can't I compile apps for ios on ipados? Hmmm? Wheels for the mind, think different etc
* you don't have access to other files (you can have some ability to have shared folders but it's very scoped)
* you can't do much IPC if I remember correctly.
So you're capabilities are more limited. Even if those were not critical, X11 as an environment would be useless as you'd need to have it on each app you build because the AppStore requires pre-compiled or interpreted code. You're not allowed to have an app that download other apps...
I don’t know technical details, but trying to use ssh tunnels on iOS, the tunnel won’t forward until I swap iSH into the foreground, so I have to constantly swap between the browser and the terminal.
Not very practical.
”Your app is only allowed to keep running in the background in very specific cases. For example, these include playing audio, getting location updates or fetching the latest content from a server.
If your task does not fall into these categories, backgrounding may not be for you. You may even find yourself with an App Store rejection if you try to cheat the system by using background modes outside the realm of their purposes, so consider yourself warned!”
If you read that, your ‘server’ either will only run for a finite time determined by the OS (in practice 3 minutes), or only run at highly granular times determined by the OS (”the system uses usage patterns to determine when to best fire off a background fetch. For example, if your user opens the app at 9 AM each morning, it’s likely that a background fetch will occur sometime before that time.”)
I think a X11 server that tracks updates for those three minutes of inactive time, and has a window manager that requests window updates where needed when the app becomes active could work, though.
(Disclaimer: these restrictions get relaxed over time on iOS. I may have missed some recent improvements)
”Note: Without enrolling in the Apple Developer Program, your app will only last for 7 days on your device. After that, you’ll have to re-deploy it to your device via Xcode. If you’re enrolled in the Apple Developer Program, you won’t have this inconvenience.”
That’s “less than ideal”.
Since it is open source - that means if you own a Mac, you can install it yourself. If you don’t want the hassle of revalidating the software every seven days, and want to play with other open source software, pay the developer fee.
I have no plans on becoming an iOS developer professionally, but heck if I owned a Mac I would get a developers license just to play around with developing for iOS and to use third party open source software.
I would love to experiment with Xamarin and other cross platform mobile tech.
This kind of functionality would require an external server but then you may as well use VNC.
[1]: https://workingcopyapp.com/
Working Copy is an amazing graphical Git client and integrates fully with iOS Files.
But for now SSH/Mosh via Termius feels closer to a traditional dev environment. It gives me full access to the command line, tmux, vim, etc., and mapping caps lock → esc sidesteps the lack of an iPad escape key and would be my default on a computer anyway.
I would love to have the best of both worlds: a traditional dev environment local to my iPad and integrated with native iOS APIs.
I have been using Textastic for a long while with Working Copy. What are the advantages of Kodex over Textastic that you have seen?
BTW, few years ago this guy made some Xcode remote before joining Apple Xcode team :) - https://twitter.com/LouisDhauwe/status/1008071487721439233/v...
But that's only part of the problem. Still until Apple would give us the ability (similar to Android) running unsigned / not from App Store / no timebombs certs (similar to Android unknown sources), iOS is the most propriety platform and that's a shame.
I plug my small iPad Pro into my USB-C interface large monitor and a few applications take advantage of dual screens to show different content.
For now, I find that I can code while traveling using a remote Linux server, Working Copy, Prompt ssh shell app, and Textastic for local editing. Not very convenient, but it works.
What is convenient on my iPad while traveling is writing. I use leanpub with markdown files stored in a github repo for each book, edit and do git stuff with Working Copy, and generate review PDFs on leanpub’s web app. This works fine. On rare occurrences I use Microsoft Word on my iPad, works great, but I prefer markdown and leanpub.
More seriously though, while I am (or have been) persuaded that the restricted environment of iOS generally does make sense for the majority of people, I’d love to see official “blank” iDevices or an open developer mode available for them. Perhaps something similar to being able to install Linux on PlayStation’s. They make very nice portable computing platforms for prototyping and development.
If that were to happen, I would never need to buy a second phone like I would just use my single Macbook to triple-boot Windows, Mac and Ubuntu.
...And about 37 other extremely difficult things later, Apple would sue you.