yashsingh1/xdaforums huggingface dataset:
[Glass Development] jtxdriggers:
This is the Android Open Source Project for Google Glass. The current version is 5.1.1 Lollipop. Thanks to the OMAP4-AOSP project, development for Glass has been rapid and stable. The blobs that are not provided by OMAP4-AOSP are pulled from XE22, and the XRX13B kernel is compiled from source.

This is not the OS you would expect to run on Glass. This is stock Android, and it is difficult to use. If you enjoy using your Glass on a day-to-day basis, please do not flash this ROM.

Why did you do this?

I wanted to create a base platform for developers, like myself, who like to experiment. We shouldn't be bound to the GDK.

I wanted to revive community interest in Google Glass. It is an incredibly interesting device that seemed to disappear before its peak.

Above all else, I just wanted to see if I could.

Installation Instructions

Your Glass will be wiped if you follow these instructions.

1) Download and extract the zip containing the boot.img and system.img files:

aosp_glass-1_5.1.1_042016.zip

MD5: 595c4e0b50fa191f42eb5609cfbf92fd

2) Boot Glass into fastboot mode:

From Glass, enter the Settings menu.

Scroll to the Device Info card and select it.

Scroll to the "Turn on debug" card and select it.

Once debugging is enabled, connect Glass to your computer and enter:

$ adb reboot-bootloader

3) If you have not already, unlock your Glass:

$ fastboot oem unlock

4)

$ fastboot flash system system.img
$ fastboot flash boot boot.img
$ fastboot erase cache
$ fastboot erase userdata
$ fastboot reboot

The first boot may take some time as partitions are created and firmware versions are checked. You may also experience a reboot during the initial boot. To revert back to the stock Glass ROM, simply follow the instructions at https://developers.google.com/glass/tools-downloads/system#factory_images.

Working:

WiFi

Bluetooth pairing

GPS

Touchpad

Audio (kind of)

Camera (see below)

Known Issues:

Audio currently outputs either the left or right signal

Bluetooth connections cannot be made to various devices

Backlight control does not work

Powered off charging indicator is flakey

Camera gamma is sketchy in low light

Screenshots are glitchy

You tell me

Tips and Tricks:

Enable "Show touches" in the Developer options to navigate easier

Use ADB input commands for text or DPAD input: see http://stackoverflow.com/questions/7789826/adb-shell-input-events#answer-8483797

XDA:DevDB Information

AOSP for Google Glass, ROM for the Google Glass

Contributors

jtxdriggers, http://omap4-aosp.github.io/

Source Code: https://github.com/justindriggers/android_device_glass_glass-1

ROM OS Version: 5.1.x Lollipop

ROM Kernel: Linux 3.4.x

Based On: AOSP

Version Information

Status: Testing

Created 2016-04-11

Last Updated 2016-04-20
[Glass Development] fuekiin:
Awesome!

Thank you! That's awesome! I'll Flash it later this day :)

[edit]

installed it and its working :) I have also installed the pulled XE7 APKs from zhuowei . So far it is working. A real custom rom for Glass, with an easy to use launcher and glass-friendly apps would be fantastic. I think your Work is a perfect base for it. I am really looking forward on upcoming developments. Thank you again!
[Glass Development] jtxdriggers:
That's the long-term goal. Hopefully we can focus on getting Marshmallow working first, then we can start work on a new application layer. I am glad to hear that it's working for you. If you don't mind me asking, which version of Glass do you have (1GB or 2GB)? I personally have the 1GB model but I'd like to make sure the 2GB model works as well.
[Glass Development] fuekiin:
It's the newer Version with 2GB of RAM :good:

Where are you tracking bugs? Github?
[Glass Development] jtxdriggers:
Excellent!

Report them in this thread for now. If this actually gains any popularity then perhaps I'll open an issue tracker.
[Glass Development] exseus:
Glad to see you've picked your glass up again. Does this rom support mouse functionality? If so it might be just what I am looking for. I will test this out later and let you know what I find.
[Glass Development] jtxdriggers:
Honestly not sure, let me know if it works!
[Glass Development] fuekiin:
For me it isn't working with my BT mouse.
[Glass Development] exseus:
Do you still get a cursor and all that? That is a shame. :(
[Glass Development] jtxdriggers:
That's disappointing. I'll have to go grab one and see what I can do. It may be a limitation of the bluetooth controller on the device.
[Glass Development] fuekiin:
Tomorrow i will maybe do some more testing. Also with an wired Mouse.

Beside this Problem, have you thought about mirroring the touch pad? For me it's very confusing right now [emoji1]
[Glass Development] jtxdriggers:
It makes sense as it is to me. Have you tried enabling "Show touches" in the Input section of the Developer options?
[Glass Development] fuekiin:
Yeah, it's enabled [emoji106]
[Glass Development] fuekiin:
Do you see any possibility to get Android Wear working, like biktor_gj did it for the gear 2?
[Glass Development] jtxdriggers:
Unfortunately it's still too early to tell. I got 5.1.1 "booting" last night (I use that term loosely, as all that really works is ADB), so I'd say there's a chance. But honestly, I don't know enough about Android Wear (yet) to say anything confidently. We'll see!
[Glass Development] kevkid:
Forgive my ignorance, but will this rom allow for installing regular android apps on the glass? What are the advantages of having this custom rom? Also where can I donate?
[Glass Development] jtxdriggers:
That is correct, I've had reports of people installing GApps successfully and everything - just be aware that using the device is pretty difficult. Not really the "at a glance" mentality that Google was going for.

Long term, I'm looking to get Lollipop and Marshmallow working, and eventually develop a Glass-friendly UI on top of those based off of what the community thinks Glass should have been. Only a handful of people seem to be interested, but it's a really great side project for me.

That said, I'm not currently accepting donations. If the cost of my build box gets too high then I may reconsider, but I honestly don't want people investing in something that I actually have very little time to work on.
[Glass Development] kevkid:
I believe you have opened the flood gates. It may reinvigorate the community and get some great stuff out there. Thanks!
[Glass Development] jtxdriggers:
I certainly hope so! Show me something cool!
[Glass Development] jtxdriggers:
The first Lollipop build has been uploaded and the OP has been updated to reflect the changes. During development, I stumbled upon a project whose focus is to maintain AOSP for OMAP4 CPUs (which Glass happens to use). Coincidentally, their development started only a few months ago, and is ready for us to use! I commend the developers of OMAP4-AOSP - without them, our progress would take much longer.

The newly uploaded image is based on their project. Don't worry, it's still very much AOSP. Up next - Marshmallow.
[Glass Development] exseus:
I just flashed the new Lollipop rom and can confirm that OTG usb mouse and keyboard has full functionality. This is a game changer for glass!
[Glass Development] jtxdriggers:
That is excellent news! Once I get Marshmallow up to par with Lollipop and KitKat, I'll put more focus on Bluetooth peripherals.
[Glass Development] jtxdriggers:
Little update to let everyone know I haven't disappeared.

Marshmallow development is coming along really well. It has required a lot of updates to the stock Glass kernel - nothing custom really, just syncing it with the AOSP kernel commits. The only thing that still isn't working on Marshmallow that was working on KitKat/Lollipop is audio. Previously, I was using the pre-compiled audio HAL stripped from XE22. Since this is no longer working, I'm in the process of reverse-engineering it and implementing a replacement so that I can find out exactly what isn't working (I'd prefer to get away from as much proprietary stuff as possible anyway). The Glass kernel does some strange things with audio so that it can keep track of whether to use the speaker (bone-resonator) or the USB earpiece. The kernel stores the state into sysfs files, and expect the audio HAL to read and update accordingly. Strangely, Glass doesn't utilize the audio.usb.default package at all - the USB routing happens within the audio.primary.glass_1 library, which again, is pre-compiled and closed source. So far it looks like the audio HAL is implemented similarly to tuna (the Galaxy Nexus), adding the custom bits dealing with USB routing.

Honestly this is the first time I've actually looked at assembly out of more than just curiosity. I have no time estimates on when this will be finished, but I wanted to let everyone know that I'm still working on it. If people are interested in a build without audio, then I'll be happy to upload it - that's one of the only things holding me back at this point.
[Glass Development] justarandomgeek:
I'd be interested in playing around with a no-audio build! I have some networking stuff I want to try out, and the audio hardware never worked that great for me in the first place...
[Glass Development] jocarog:
Count me in to test, thanks
[Glass Development] exseus:
Anymore updates on marshmallow?

This past weekend I had a chance to play around with lollipop a little more just to see what I could do. First I installed superuser, which allowed me to install GMD gestures and synergy. Synergy works pretty well (or at least as well as any other android device), and GM Gesture allows you to set up gestures similar to how the factory glass works. I made double swipe down go to my home screen, and left and right swipes do back and forward commands. This makes the touchpad a little more usable. I also really enjoyed using SoundWire. It allows you to stream audio from your desktop to your android device. I also played around with smart launcher, as I am familiar with it, and I know it works pretty well in landscape mode. It was definitely an upgrade to lollipops default home screen, although a custom launcher just for glass is something that definitely needs to be worked out sooner rather than later. Next I played around with splashtop and teamviewer a bit. These both were kind of meh. Having a mouse made them usable but without an effective way to zoom in and out made it difficult to do anything major.

All in all with a few apps Glass is way more usable. What I will be working on next is finding a good way to trigger voice commands, loading up some spritz apps to test out, getting it set up as a bluetooth headset for my phone, flashing over gapps package, and figuring out some way to get push notifications from my phone to glass.
[Glass Development] jtxdriggers:
I've uploaded the no-audio Marshmallow images for people to play with at http://xdaforums.com/devdb/project/dl/?id=18306. Let me know what you guys think! The flappy bird easter egg thing is hilarious to play on such a tiny screen, it's almost impossible. I haven't updated the OP yet, and probably won't until I get audio working. Honestly I have a lot going on this month, so development is slow.

Keep playing with different apps and controls - that's exactly what these builds are for. I want to find out what the best way of using the device might be.
[Glass Development] justarandomgeek:
Is it normal for it to spend a very long time on the "GLASS" (bootloader?) screen after being flashed? That's all this seems to do for me so far... (fastboot flash boot/system, erase userdata/catch, just like I would with a stock image)

Edit: the device is warm, so I'm assuming it's just doing some first-time setup. I'll leave it to think for a wile and see how it looks later...
[Glass Development] jtxdriggers:
Yes it is normal for the first boot after a clean flash to take a long time, since ART is doing some setup for the pre-installed applications,. Subsequent boots should be rather snappy. Let me know if you see anything happening consistently.

Edit: Sorry I just processed what your post actually said. The first boot after erasing cache/userdata, the device will attempt to recreate those partitions. It shouldn't take too long, but the device should reboot itself shortly after that process completes, so you're actually witnessing 2 bootloader cycles before seeing the "android" boot animation.
[Glass Development] justarandomgeek:
I ended up leaving it while I went to dinner, and it's still sitting showing the "GLASS" boot screen now, I think something has goon wrong somewhere between you building the image and me getting it onto my device, probably on my end... I'm gonna go back to stock (for sanity-check and to get some device info) and start over, to see if that helps...

EDIT: Flashed back to XE22, ran through setup, then flashed back to your image, and it got the rest of the way up... now to get some input devices connected!
[Glass Development] jtxdriggers:
Awesome! Let me know what you come up with! I'll keep working through fixing the audio when I get some time.
[Glass Development] justarandomgeek:
So far I've gotten my BT keyboard paired (it pairs, but doesn't seem to bind to input, so it's not much good yet...), and got the Play store installed (I used the Mini package from http://opengapps.org/ - Micro might be enough, but didn't work for me. "Stock" is too big and won't install.), so I could push apps from the store to Glass, and used that to get AirDroid setup to get a remote mouse/keyboard/screen to explore further. It took me more than a few tries to get the Google Apps behaving enough for that to work though. I think the final process that worked was to install the gapps zip (via CWM sideload), then wipe data and run through the google-y setup (with simulated keys from adb), to get up far enough to push AirDroid and log in. If you just install it and don't go back to setup, you lose the home screen.

I also tested TeamViewer (both the Host and QuickSupport variants), but I think they have some issues remote controlling Android devices in general still (it didn't work on my Nexus 6 either).

Next up is Tasker+AutoRemote to get messages moving between devices, and to see how much hacking I have to do to get bluetooth networking going when Glass doesn't have WiFi available...

I did notice the screen's brightness seems to be stuck at 100%, regardless of setting, but that's less of an issue not that it's off of my face for a while.
[Glass Development] jtxdriggers:
Bluetooth has some known issues that I need to work on, I can go ahead and tell you that network sharing probably won't work. That's on the list after audio. Brightness control is also a known issue, the lights HAL shouldn't be too difficult to throw together, but it's relatively low priority, so it falls to the bottom of the list. Thanks a ton for testing!
[Glass Development] justarandomgeek:
Here's a fun one: I got it hooked up to my Myo armband no problem, so BLE works just fine! It also sees all of my BLE location beacons when it's discovering devices, but I haven't installed anything to look for them yet.
[Glass Development] jtxdriggers:
Now that's quite interesting. The bluetooth stuff in the kernel is the same as XE22, but I glossed over it when putting together the device tree. Hopefully getting network sharing to work won't be too difficult. That's really the only thing that Glass really needs. A2DP and bluetooth headsets don't really make sense for such a device.
[Glass Development] justarandomgeek:
Well, they make sense if you run them backwards, but I figured I'd wait for you to get the audio hardware working before I even start poking at those!

Also, for some more confirmed-working stuff: SuperSu installs in systemless mode, and works great. It's a pain in the *** to approve prompts though, so I ended up setting it to default-grant for now!

Now time for some research on the lower layers of bluetooth networking...
[Glass Development] jtxdriggers:
Since SuperSU (or libsuperuser, rather) is open-source, it's feasible to whip up a version that is more Glass-friendly. Again, low-priority, but we can add it to the list!
[Glass Development] justarandomgeek:
Yeah, I'm not too worried about things being a pain at this point, it was just particularly notable, since it's hard to do input keyevent commands within the 10 second timeout! I'm mostly just taking general notes as I try stuff, so nobody has to re-do research!
[Glass Development] exseus:
Hey, how is marshmallow coming along?

I've been playing around with more apps. I've found tasker and xposed can make things a lot easier to work with. I've been playing around with autoremote to open applications on glass from my phone, and to to push some notifications, it is pretty handy. I've been using DroidMote to control my glass from my phone since gestures are pretty slow. Between this and synergy the headset is pretty usable again.

I did get gapps working, but unfortunately a lot of apps on play store say they are not compatible with this device. However, if I download them on my phone and use adb to pull them off and install them on glass they seem to run just fine. Play music seems to run ok but it is a huge battery hog. Seems more efficient to play music on my computer and stream it with soundwire. Next install I will probably skip getting gapps.

Probably my two favorite apps I've gotten lately are voice reading and spritz reader. With these two apps you can share pretty much anything to spritz reader which is a speed reading tool. I think with some nice tasker profiles this can be pretty effective tool if you are into that kind of stuff.

It would be nice to get the a2dp bluetooth profile enabled. This way glass can be an audio headset for my phone. That's probably the only feature I really miss from the stock rom.
[Glass Development] jtxdriggers:
I've been in Mountain View for Google IO over the last week, so I haven't had much time to work on it lately. Hopefully I can pick up development again soon after I catch up at work. In case you didn't see, the build without audio is in the downloads tab.

It sounds like you've got a pretty good system working! Bluetooth improvement is second on the list, only under getting audio functional. You may be able to get the Play Store to allow you to install more apps by spoofing your device characteristics. Most of them are probably turned off by the relatively low resolution/DPI of the device.
[Glass Development] Ralphie624:
I really hope this project continues.
[Glass Development] jtxdriggers:
Still working on it in my free time, but I have very little of that. Just know that I haven't disappeared and I fully intend to keep working on it.
[Glass Development] XxCyberHackerxX:
I think it's amazing you are using your free time to work on this! Honestly I don't see much happening in the development community with glass and assumed we would be stuck until google figures out what to do with glass. But you have renewed my faith and I can't thank you enough for that! If you ever need help with anything please let me know :)
[Glass Development] Anh_Cali_SJ:
Heat and Version

Awesome progress.

Is the Lollipop version fairly stable or should I just go with Marshmellow?

Also, does your Glasses overheat when using Wifi, Bluetooth and the Screen?
[Glass Development] jtxdriggers:
The Lollipop version is more stable than the Marshmallow version at the moment. Again, I haven't had much time to work on it recently, but I hope to make some improvements very soon.

Glass is prone to overheating in general. I've never had issues with it cutting off due to heat issues, but it is very uncomfortable against your temple when it gets that hot.
[Glass Development] breakingspell:
Thrilled that there's some active development on the Glass, I just picked up a pair on the cheap, been tinkering with the stock software and the two builds in this thread. Netflix and Plex work great for what it's worth, but I can't pair my Favi keyboard, even on the stock XE22. Sound comes through the mono earpiece fine, and while I didn't stay on 6.0 long before settling in on 5.1, it hadn't crashed or acted any different than the 5.1 build. An odd behavior is that the camera is sometimes randomly summoned, usually when trying to tap an item on the lower edge of the screen/touchpad. I'm about to set up Droidmote and a few tasker plugins similar to exseus's setup, see how how I can make these specs run :D
[Glass Development] breon:
This is great! I'm interested in side loading a RTMP streaming app onto my glass so I can stream to Twitch. I realize the battery and heat will be an issue, but I at least have to try.
[Glass Development] Xdc-developer:
Bluetooth

Bluetooth is currently a showstopper for me. I use the usb port on my glass to just power it via an external battery pack so I can use it for hours. I would like to use bluetooth headphones and a bluetooth keyboard mouse (Lenovo dinovo). Not sure why bluetooth on Google Glass is not working with either of these bluetooth devices.
[Glass Development] Xdc-developer:
Bluetooth

It seems like bluetooth hid support has gone since XE16. Not sure if it's easy to bring back :(

Source: reddit.com/r/googleglass/comments/2sydnt/whats_the_status_on_glass_using_bluetooth/
[Glass Development] jtxdriggers:
It looks like they may have moved their repos to https://github.com/Unlegacy-Android.

Seems a little overdone, you can just use

make -j${NBCORE}

There is a proprietary repo at https://github.com/justindriggers/proprietary_vendor_glass. Clone into vendor/glass - but this won't fix your error.

libsrv_init gets included by https://github.com/Unlegacy-Android/proprietary_vendor_ti, make sure that gets cloned into vendor/ti

I was recently hired by Google, largely in part due to my community work with Glass. I'm afraid that due to this, there may be some conflict of interest with me continuing this project (but no, I'm not working on anything Glass-related at Google). The public interest has been fairly small, other than the dedicated few, so I think I'm going to have to call it quits for the time being. I encourage everyone to continue the development where I left off, and I'm happy to answer any questions on how to get the build working.
[Glass Development] exseus:
Congratulations on the job at Google!! That is so awesome.

Do you have a repo set up with your work with marshmallow? I would like to try and finish it if possible. I don't have a lot of experience building kernels so any documentation you can send my way, and any advice on methods or pitfalls would go a long way.

Congratulations again my friend. I'm glad your talent has been recognized. I'm sure you will do good things.