
My Watch Runs GNU/Linux - BuuQu9hu
https://learntemail.sam.today/blog/my-watch-runs-gnu-linux-and-it-is-amazing/
======
RhodaLs
Being an old Slashdot user, the first incredibly dumb thought of mine was
"Imagine a beowulf cluster of these!" With a pic of Natalie Portman for the
watch face, of course.

But, one fun thing I could imagine doing is using it as an incredibly portable
PirateBox. Or any other use of a file server hiding in plain sight.

~~~
AceJohnny2
Man, I remember when those jokes were old, 15 years ago.

Speaking of Beowulf, has there ever been an evolution of the concept? The
closest I've seen since has been QNX's QNet, which allows transparent
management and communication between process on nodes of the cluster. I
suppose Hadoop or even Kubernetes can be seen as the continuation of the
concept?

~~~
erik
The idea of a Beowulf cluster was using networked commodity PC hardware and
Linux to do HPC / scientific computing.

In some ways this idea came to dominate. If you look at the top500 list:

[https://www.top500.org/list/2016/11/](https://www.top500.org/list/2016/11/)

All of these machines are big clusters running Linux. Mostly on Intel CPUs.

But on the other hand, the idea of using commodity hardware is kind of a thing
of the past. It's mostly Xeon CPUs, not desktop processors. And it's
specialized network hardware. And more and more you see dedicated compute
hardware like Intel Phi and Nvidia Tesla cards.

~~~
greglindahl
That's a narrow definition of "commodity" \-- the special networks cost less
than the same speed of Ethernet, and Intel server chips (non-phi) aren't that
different from desktop CPUs.

If you look through the archives of the beowulf mailing list, occasionally
someone makes the argument you're making, and few people agree with it.

~~~
stonogo
There is no 'same speed of Ethernet' for infiniband or omnipath or aries, etc.
There is more to these networks than throughput, and the switches approach a
million dollars apiece.

The rest of the non-phi/non-tesla hardware is pretty much off the shelf, but
the interconnect is one of the two distinguishing features of a
supercomputing-class cluster; the other is high-performance shared storage
(which of course requires the interconnect to function).

~~~
greglindahl
You're explaining high speed networking to the system architect of infinipath
:)

~~~
stonogo
It's a shame feel like I need to. There's no world where high-speed
interconnects are as cheap as ethernet, nor is there a world where it is
appropriate to replace them with ethernet. Congratulations on your successes
but they're not really relevant to the accuracy of your post.

------
hardwaresofton
This is awesome. I got in on the smartwatch craze super early (like sony
smartwatch 1), and the one thing I wished was for was some F/OSS to run on my
watch (believe it or not sony smartwatch 1 actually had a dev kit), and to
finally getting rid of the oddly-intrusive smartphone apps that came with most
smartwatches. Hyped to hear someone actually did it with Asteroid OS (even if
it's Alpha).

I also thought FirefoxOS would evolve to maybe get in this space, but I was
mega wrong about that and lots of other things so there's that. I'm excited
that Asteroid won't meet the same fate, but maybe I'm biased.

Also stumbled upon
[http://www.openembedded.org/wiki/Main_Page](http://www.openembedded.org/wiki/Main_Page)
while looking the repo for Asteriod. Excited to see what comes of this project
and maybe even contribute in the future.

~~~
joatmon-snoo
OE is very much a thing in embedded Linux. You might also want to look up the
Yocto Project.

I know that places like Formlabs use it (source: interned there), and 100%
agree with the sibling comment: there's a huge, painful learning curve to get
started.

It's a combination of a lot of problems: the question of what expertise level
to write tutorials/walkthroughs for, decent documentation (that you think you
understand but then realize, oh shit, no, I don't), knowing the ecosystems
(man, the sheer F/OSS _drama_ that you can discover while searching for
something...), were all problems that I noticed just trying to extend our
build system.

~~~
aceperry
Part of the problem is due to the small community of developers involved.
There are a lot of ways to package and build your source tree, especially if
you draw from a lot of different projects. See the chromium or android
projects to see what I mean. If you compare the smaller and older embedded
projects to the Arduino community, it's like day and night. The Arduino
project has a much larger community of users and contributors which has given
it much better libraries, tools, and support.

------
gcb0
meanwhile, everyone's phone here runs gnu/linux but completely out of reach.

everyone bought a computer from an advertising (google) or fashion (apple)
company that only runs in kiosk mode. how does your 90s self feel about that?

~~~
AlexeyBrin
> meanwhile, everyone's phone here runs gnu/linux but completely out of reach.
> everyone bought a computer from an advertising (google) or fashion (apple)
> company that only runs in kiosk mode.

Pretty sure there is no GNU component in iOS which is based on BSD. Also,
Android uses _only_ the Linux kernel, not even close to a GNU/Linux system.

~~~
jhbadger
If you install Termux on android, you get a full Linux experience though, with
bash, gcc, and even things like emacs, ruby, and python. And it's just a
normal app -- not requiring root or anything.

~~~
TY
Never heard of Termux, thank you very much for mentioning it!

~~~
gcb0
never heard of termux either. I use ConnectBot (a very good SSH client) that
can also open local terminals.

------
kriro
Since I own the same watch...I'm intrigued. Battery life is a concern (as is
integration with some stuff). But yeah who am I kidding I'll try this and even
if all it will ever do is display the time there's something to be said about
"well yeah I got my Linux box right here!" :D

Remembering the "runs on a toaster" shirts I am now curious if NetBSD (or any
BSD) will run on it. The thought that I never even considered messing with the
watch makes me a bit sad (I've turned into too much of a consumer, not enough
tinkerer left :P)

------
api_or_ipa
One of the big draws of buying and wearing a mechanical watch is the emotional
feeling of something busily working away on your wrist. In the same way I
would fine great joy in wearing a flavour of linux right on my wrist.

~~~
OJFord
Absolutely - I'd love to see more along the lines of Tag Heuer's 'Connected'
watches (which I think all have LCD faces), but stepping back to mechanical
time.

At it's most basic, just a notification light that mirrors that on my
phone/tablet.

Ideally, I think a ticker-tape-style circular display around the edge of the
(real mechanical) watch face to give notification headings would be _awesome_.

~~~
ajford
Check out the Withings Steel HR. No ticker tap display, but it does have a
small inset LCD to give you connectivity, but with style/class of analog.

[https://www.withings.com/eu/en/products/steel-
hr](https://www.withings.com/eu/en/products/steel-hr)

------
shmerl
What GPU does it use? Is it a native GPU driver + Mesa or you use it with
libhybris and Android blobs? Wayland is neat, but it's pretty annoying when
there are no native drivers available. One of the problems with Android is,
that it became like Windows of the past. Hardware makers produce Android
drivers with closed userspace blobs, and leave it at that. Blobs built against
bionic make running a proper glibc Linux on such devices a pain unless hacks
like libhybris are deployed, or you manage to replace them with proper open
drivers.

~~~
fabrice_d
From the front page:

"AsteroidOS is built upon a rock-solid base system. Qt 5.6 and QML are used
for fast and easy app development. OpenEmbedded provides a full GNU/Linux
distribution and libhybris allows easy porting to most Android and Android
Wear watches."

~~~
shmerl
Understandably it can use libhybris. I was asking what GPU is used in the
poster's watch. If it has native drivers, libhybris isn't necessary.

~~~
petecox
Qualcomm, so in theory can use Freedreno.

AFAIK, Hybris isn't _just_ for the GPU and is used to port various binary
Android drivers to ubuntu touch, sailfish, tizen, luneos etc as can be seen
from the following chart:

[https://wiki.merproject.org/wiki/Adaptations/libhybris](https://wiki.merproject.org/wiki/Adaptations/libhybris)

~~~
shmerl
Yes, it can be used any time there is a need for blob that depends on bionic
and there is no open replacement. May be for touchscreen driver in this case?
That's why it's such a mess with Android only hardware.

No idea why Tizen needs it though. Samsung _can_ afford writing normal drivers
for all their hardware.

------
INTPenis
Love the hack but I can't agree that they're a fad. Long before smartwatches
my cousin had a bluetooth watch connected to his phone. And today I have a
smartwatch connected to my phone to avoid having to stop and take it out when
I'm on a bike. I bike everywhere, like thousands others where I live.

So there's clearly a market for some sort of wrist-device that makes using
your phone easier.

The thing that makes it feel like a stupid fad is when you have to charge it
every day and therefore forget to put it on. It hasn't become habitual quite
yet.

Which is why I love my smartwatch for having an e-ink display and not an
amoled display. So even after more than a year of operation I still only
charge it once a week.

~~~
andrepd
That's why he said it was a fad _for him_. And it is, for the vast majority of
people, just a fad. Bar some use cases like biking and so on, having a
smartwatch brings nuisances for no tangible benefits.

------
jff
> Even more amazingly, running on that tiny package of hardware is some live
> multitasking

Yep, pretty amazing that a quad-core 1.2GHz machine with half a gig of RAM can
run more than one thing at a time!

~~~
htor
I sense dark sarcasm hidden in this message, perhaps from behind a smug UNIX
beard?

~~~
andybak
Or maybe someone that remembers the Amiga...

~~~
0xdeadbeefbabe
No need for that much memory. If you can remember 8 years ago that's enough.

~~~
i336_
_Scans mental dictionary for interesting things from 2009_

    
    
      Nothing found
    

What are you referring to?

------
pkaye
Its hard for me to consider a smartwatch when my current watch is solar
powered and I haven't had to change batteries for the last 8 years. Maybe when
these can run on a charge for 2+ weeks at a time I might consider it.

~~~
suprfnk
That's a completely different usecase though. You don't wear a smartwatch just
to see the time. You wear it because it can do stuff for you outside of
telling you the time.

~~~
darfs
Im confused. Isnt that the definition of a Smartphone? :P

~~~
freehunter
But why would someone want a wristwatch when they could have a pocket watch?

------
elcapitan
What would be the killer app for a smartwatch from a hacker/techie
perspective? Because I'm still struggling to see any realistic use case for
myself.

~~~
veli_joza
For me, killer application is basic usable text input. I'd love to covertly
send text messages, write down some thoughts and TODO items, while still
maintaining eye contact and following discussion.

For it to be usable, it should not require sight and higher typing speeds
should be achievable by training. This rules out virtual querty keyboards and
predictive suggestions. I think glyph recognition would be usable, but also
other gesture systems would work if they don't demand supervision by sight.

~~~
jokr004
Does there exist any input method that doesn't require sight other than
physical keys? If so, I'm not aware of any.

~~~
coldtea
Voice recognition obviously?

~~~
brokenmachine
That's not covert though, actually it's so overt I generally feel like a
douche using it...

------
orblivion
I run Asteroid OS on the old LG watch (which I also got for free; probably a
prime market for this OS). It's still in alpha so it's fairly buggy. But it
looks really nice, particularly for being FOSS. It can (in principle) do
notifications, weather, and music control. I look forward to them smoothing it
all over, but I wear it already.

------
hyperpallium
This _is_ amazing (I also have a moment of amazement at my smartphone every so
often).

But an issue is power usage. (eg) ubuntu runs on a smartphone, but with much
shorter battery life than android. (Tho TBF, I don't know the power efficiency
of Asteroid OS).

One side-benefit of non-rooting linux (eg termux, terminalIDE) is retaining
battery life.

However, Asteroid OS is open source, which counts for a lot!

------
flukus
Quad core + 512MB of RAM. Now it just needs HDMI out and we've got a quite
capable portable computer on our wrists.

~~~
gravypod
My only concern with smart watches is battery life.

~~~
soylentcola
It's definitely one of the main restricting factors. That said, even my gen-
one Moto 360, while not new and not known for being amazing in the battery
department hasn't been an issue for me. I just put it on the cradle on my
nightstand when I go to bed and pick it up in the morning. It charges pretty
quickly as well so if I get home from work on a Friday and anticipate being
out late, I can put it on the cradle for 30-60 min and top off the charge
before heading out and there's never an issue.

Still, the battery isn't something like the battery in a traditional watch so
at some point I won't just be able to order a button cell on Amazon and swap
it out like I could on any old Timex, etc. Definitely hurts the lifespan and
it's a major reason I only bought this watch because I got it on sale for
$100. I wouldn't feel as comfortable buying a $500 watch that would be forever
battery-dead in 3-4 years.

------
branchless
This needs a microphone. Would be great to be able to drive activity via
voice, or make reminders. If it had some kind of bluetooth/wifi also then you
could send emails via dictation but I guess the size/battery constraints rule
that out.

~~~
andrewaylett
It's got a microphone. Also both Bluetooth and WiFi, and you can (with the
original Android Wear -- no idea if Asteroid has got to the point of
implementing anything similar) drive activities by voice, set reminders and
send emails by dictation.

The battery lasts for around two days.

~~~
branchless
Wow that's cool. Battery life is always a pain but two days is not so bad.

------
h4nkoslo
This would be extremely appealing if it had sufficient I/O to make it into a
mobile, basically headless computer you could hook up to whatever display or
input was handy. Looks like it only has a single MicroUSB port though.

~~~
i336_
Theoretically, it has the CPU, and the USB port is 2.0, so you could manage a
USB 2.0->VGA converter.

I've heard such converters are the hardware equivalent of running the
unaccelerated VESA driver due to the low bandwidth though. I don't expect it
would do 60fps beyond 1152x864 and 30fps beyond 1280x1024.

~~~
mschuster91
Speaking from experience: these things are only useful for running powerpoint
presentations. They break down even on scrolling a browser page, much less
playing video.

~~~
i336_
Ah. Yikes.

Thanks for the info, I'd always wondered.

Kinda sad none of them spent the extra effort on building a differential
update protocol of some kind - but then the processor inside would probably
need to be 250MHz+...

------
Animats
Four processors in a watch? That's impressive, but if you actually use them,
what's the battery life?

~~~
dspillett
_> Four processors in a watch?_

Four cores, which makes a difference.

 _> what's the battery life?_

It might not be as bad as could be feared, specifically regarding the CPU at
idle anyway. A lot of modern CPUs support turning cores individually on/off
(or at least into very low power sleep states) as needed and if the OS
scheduler is bright enough then taking advantage of this can be a lot more
power efficient than trying to fiddle around with variable clock rates. There
might be a performance hit for single one-thread tasks of course as per-core
performance might be low, but at times when you care (while in active use,
interacting with an app) there will be at least three distinct tasks going on:
core function management, display management, and at least one user task.
While the watch is idle there will just be one active task most of the time so
only one core needs to be powered up (of _none_ most of the time, with device
management tasks and user apps that respond to events/notifications only
waking up on interrupt).

Having said that, having to charge it at least once most days is my only major
complaint with the MS Band that I wear most of the time. It would be
interesting to see how well this manages in that regard.

------
jpl56
I notice that nobody answers to the "what is the battery life" questions...

~~~
delinka
The article has both the hard fact "410 mAh" as well a a more colloquial "a
good days worth!"

Sure, the author doesn't confirm this nor expand on it, but I'd say his
comment is sufficient.

~~~
itp
410 mAh is a measure of battery capacity, not battery life. And the phrase "a
good days worth" presumably describes the watch as shipped with Android wear.

I think what the original question was getting at was more like "what is the
battery life of the watch when running AsteroidOS?" That seems like a pretty
fair question which was not addressed.

------
matthewmorgan
Looks cool. Wouldn't trust it to tell the time though

~~~
72deluxe
Does it just run date on the CLI and pipe that out? That'd be useful. Or show
the date in your BASH prompt.

~~~
icebraining

        watch date

~~~
karlmdavis
Probably don't want the default refresh of 2 seconds. And the title/header is
probably redundant, as well. Maybe this, instead?

$ watch --interval 0.1 --no-title date

;)

------
teaearlgraycold
Is it 2003 again? The content container here uses a white png as a background
instead of background-color: white

~~~
manarth
It's not a perfect white: it's a 476-pixel square with some random (very
small) splotches of light grey. As the image is called 'texturetastic-
white.png', I assume the intention is to give a more natural texture feel to
the background.

I'll admit that it's not the design choice I would have made, but then again,
I'm not a designer!

------
vmp
Does it run Doom? :-)

~~~
coldtea
Obviously it does.

------
norswap
Is this really something to be happy about?

Even ignoring technical considerations (the dizzying amount of code and cruft
required to run _a watch_ ), it goes against one time-honored watch tradition:
simple, elegant mechanics.

~~~
andybak
Congratulations. You've won today's "Find something to moan about" prize!

Seriously though - stop getting hung up on the word 'watch' \- it's not the
real point here. Nobody is arguing that telling the time doesn't require a
full blown OS.

> simple, elegant mechanics.

Have you ever _looked_ inside a watch!

~~~
manarth

      > simple, elegant mechanics.
      Have you ever looked inside a watch!
    

Well, I'd grant the "elegant mechanics", getting all those teensy cogs and
wheels and levers and bits to work together like, er, clockwork…

But "simple"? It's telling that the term for each feature on a watchface is
"complication" :-D

------
wonko1
Oh neat! I've always wanted this.

When I last tried hacking my Moto360 it was possible to get Debian running in
a chroot reasonability easily.

The trouble came mostly with video access. The userland graphics libs are all
compiled against BIONIC rather than glibc. And they were at the time only
available in compiled form. That meant it wasn't really possible to have a
clean glibc system.

I guess either something has changed, or they're using a hack, incorporating
BIONIC, which is what many people have done on other mobile platforms.

Very neat though, I'm going to have to try this out!

~~~
voltagex_
Apparently libhybris [1] solves the glibc -> bionic problem, but I've never
been able to work out _how_ to use it. I'd like to see a "Hello World" done
with a small rootfs+libhybris on something like the Nexus 4.

1:
[https://en.wikipedia.org/wiki/Hybris_(software)](https://en.wikipedia.org/wiki/Hybris_\(software\))

------
disordinary
Whats the battery life like running Asteroid vs Android Wear?

------
ensiferum
Something only a nerd can be excited about.

------
aceperry
Great project. I had no idea the LG Urbane used an ARM Cortex-A processor. I
have a few 1st gen Android watches, and those used the ST ARM cortex-M series
micros. I have an LG Urbane as well, but wouldn't want to dump it since I find
Android wear to be useful.

~~~
aceperry
Ooops, my bad. I was mistaken about the 1st gen Android wear watches. They
also used Cortex-A processors and can be updated with AsteroidOS. I was
thinking of other smart watches.

------
ge96
Site has responsive problem, cells overflow on Nexus 4

~~~
samtoday
Love the nexus 4 mate! Watch out for breaking power buttons though!

Thanks for the bug report btw. I'll fix it when I'm thinking straight in the
morning!

~~~
ge96
Oh yeah. It's those pesky little things that push the width beyond 100% at
least here it was easy to find. Sometimes you have to use the console>inspect
that highlights parts of the page to find what is causing the width overflow.

Also yeah Nexus 4 isn't bad, too bad they don't update it anymore :(

------
awinter-py
I tried asteroid on the sony smartwatch 3 this month -- graphics are iffy.
Docs suggest experience is better on other hardware.

------
mankash666
Newbie question - isn't Android wear's kernel open source? Android has
switched to Wayland as well right?

~~~
guelo
Android Wear's kernel is linux and some of the low level userland is open
source but everything above that is locked down and proprietary. It's
definitely not using Wayland. In general Google has been moving away from
Android's open source legacy as much as they can.

------
Nux
Very high CPU usage while browsing this site, Firefox' Reader View saves the
say once again..

~~~
cornedor
I had the same problem here, while scrolling Firefox couldn't catch up and
showed white just white for a short time. Then I saw the huge background
gradient. The background is an image, a radial gradient, and also background-
blend-mode: hue;

edit: there are even more huge div's that have the same background, so there
are multiple layers of gradients with hue blend mode.

~~~
samtoday
Spot on. I found this out the hard way today and wrote up a post with some
benchmarks and the tiny patch that fixed the bug:
[https://learntemail.sam.today/blog/1-css-property-that-
will-...](https://learntemail.sam.today/blog/1-css-property-that-will-ruin-
your-scroll-performance/)

~~~
dom96
If I were you I would also consider getting rid of your textured background
([https://learntemail.sam.today/static/images/texturetastic-
wh...](https://learntemail.sam.today/static/images/texturetastic-white.png)).
The little grey blobs just make me wonder whether my monitor is dirty.

------
dom96
is there anything like this for Pebbles?

------
rxlim
I like how he is sarcastic about being very happy that systemd is installed on
the watch.

~~~
i336_
If you're right, that's a big sigh of relief from me.

The guy mentions how "Lennart Poettering would love it!" as the h2, and also
describes X11 as "legacy".

With these in mind I feared he was serious about the systemd bit.

I'm really sad X11 is legacy software myself, as an aside. It's a disaster,
sure, but now we have one _more_ layer of "uhhhh..." for all the UX-types to
get scared away by: it used to be "(WinAPI) vs ((Qt)/(GTK+)/(Xlib/XCB))",
which was embarrassing enough; now it's "(WinAPI) vs
(X11((Qt)/(GTK+)/(Xlib/XCB))/Wayland((Qt)/(GTK+)/(???)))" which is just plain
annoying for low-level graphics hacker wannabes - I can make a WinAPI app in C
that opens a window in a few KB, where as to do that in Linux now I HAVE to
support XCB and also write my own tiny UI for Wayland.

Practically speaking it means that most developers will just pick a
side^H^H^H^Htoolkit and go with that. It doesn't help that I've never been
able to get past Qt's love of background processes vs. GTK's various displays
of autism/spasticness.

 _sighs_...rant over, situation accepted a bit more.

systemd is still a disaster though. I saw a massive 3Wx5H 1080p video wall in
a shop window the other day, displaying... systemd emergency mode.

At least I learned that some video stretchers are smart and will drop the
panels they're controlling into standby if they display black for too long.
(Only the two panels at the top-left displaying the error were on, the others
visibly had their backlights off. Neat.)

~~~
flukus
It hasn't been all roses in the windows world. Aside from qt/gtk being just as
desirable there, there was also winforms and WPF in .net that are now left out
in the cold and no clear forward direction that would also work on windows 7.
They seem to be taking an each way bet on whether Win32 is deprecated or not.

Actually, I think this is the situation that lead to the growth in webapps and
probably helped the decline (or failure to rise) of windows phone, no one had
a clue where MS was going.

~~~
pjmlp
WPF is pretty much alive for desktop applications and its architecture (XAML +
Blend tooling) is the foundation of UWP applications.

Windows Forms is officially dead as communicated at Build a few years ago. It
is now playing chess with Carbon.

MFC is officially on life support. Way forward for C++ developers is UWP.

Everything from Win32 that isn't required for UWP support is deprecated and
Project Centipede is the official way to bring Win32 applications into the new
shinning UWP world.

~~~
i336_
TIL. Thanks for this, been wanting to keep my finger on the pulse of Windows
development, but am quite distant at the moment (no Windows hardware).

