Windows 10 Lite for Rpi3 and Lumia 950XL (WIP!)

Am currently working on producing a Lite WOA image for Rpi3 B+ and Lumia 950 XL - and to some extent the PI4 by way of KVM - using NTLite software for the purpose of reducing the installation size and freeing up CPU/RAM resources for a faster desktop experience - with x86 WOW emulation in mind, in particular.

Does anyone have any requests/suggestions?

I am looking at grouping different requirements into a number of different images, potentially, based on any important deciding factors:

Windows Store apps: Personally, I see no use for them as Microsoft could never keep up with iOS or Android in terms of releasing anything useful. However, since WOA lacks amd64 compatibility some users may feel pressure to seek working apps in the official store - only to find it unreliable with amateurish content. Which app(s) have you discovered in the store that you simply cannot live without? Would loss of the store be a deal breaker for you? On the Lumia 950XL there is the WOADialer app, which is particularly fussy and will break before all other apps if certain dependent apps are removed or a particular service disabled that other apps do not require (only WOADialer). Chat (sms) and People (contacts) are the two other cellular based UWP apps that would also be stripped out. Since future versions of Win10 no longer supports cellular, and the fact that Win10 Mobile can be dual-booted and left in stand-by for several days compared to 6-7 hours in WOA sleep mode - not to mention the camera only working in Mobile - suggests the inclusion of cellular/UWP apps not to be a viable prospect.

Windows Defender/Security Center: As an Antivirus solution this has improved tremendously since 1903 - but is proving a major culprit in slowing down the whole desktop experience on such embedded devices even though is running natively. My first test at using NTLite was to remove most of these components, which was successful, albeit leaving Windows quite vulnerable if used irresponsibly. And there is no other ARM64 alternative.

Windows Updates: Right now they seldom work on WOA and continue to roll-back. I’ve had very limited success at installing them on 1903. Possibly I had more luck getting the green tick on earlier versions of WOA - or with Defender disabled. I will be doing some further testing on pre-injecting them, but if it fails then I guess we will have to just wipe and load Insider releases quite frequently - depending on how quickly NTLite can keep up-to-date with the changes - else incur further vulnerability.

Network support: For RPi perhaps there is a need for AD integration, being able to resolve hostnames on the network, RDPing to and from your embedded device. However, the Lumia 950 XL is quite isolated in terms of it’s single USB-C socket that, incidentally, has no working HDMI output, hence no real need for network support other than an Internet connection - a must - unless you plan to use your phone as a NAS drive controller or some such!

OneDrive & Bitlocker: For me, personally, OneDrive is the main reason to use Windows 10! They currently offer 6TB at a cheaper price than all competitors, and the app is pretty flawless nowadays. Unfortunately, it’s still x86 and requires a lot of resources. Right now I have a 400 GB SD card, and Bitlocker should work for removable drives and indeed the main OS drive - at least for the Pi3 - but not Lumia; the latter requires a wireless keyboard at boot time, which is not possible based on some limitations with the bootloader.

WSL2: virtualization isn’t working on the Lumia right now due to a lack of bios/features - but even on the Pi3 it will not upgrade beyond WSL1 on the latest Insider, so I think Windows Linux is a no-go right now in the ARM world.

Services & Security: there’s a lot I will be considering here in due course.

WIP

Automatic Unattended OOBE = working
Administrator account enabled/auto login = working
Windows Defender removal = working
Security Center removal = working

1 Like

Wonderful initiative! I hope it becomes a reality!
Thanks.

I always liked NTLite and NLite but never really had a use for it. This is a great idea! Awesome! I think what you’ve got there is pretty good.

Thanks for the positive feedback!

It’s looking quite promising at the moment, as I got the Windows updates to pre-inject - more successful than a post-PowerShell ARM injection:

The following updates were not actually needed and were breaking the system:
2019-09 Cumulative Update for Windows 10 Version 1903 for ARM64-based Systems (KB4517211) - listed in a different category compared to KB4517389
2019-10 Servicing Stack Update for Windows 10 Version 1903 for ARM64-based Systems (KB4521863)
Security Intelligence Update for Windows Defender Antivirus KB2267602 - no longer detected when Windows Defender is removed.

NTLite has only recently begun supporting WOA - yet is able to completely remove the Security Center component - and a whole lot more:
image

Very good idea! Please keep me updated :slight_smile:

Well, I’ve stripped out well over 200 components so far… it’s amazing how quick “Getting Devices Ready” and OOBE completes after initial deployment - once stripped down!

I think I will plan to release the lightest possible image first before adding back key components for subsequent releases/uploads.

Using the full version of NTLite I am currently working on these 3 sections ensuring Windows 10 is still stable before moving onto the remainder - not yet even halfway:
image

So far everything has been stripped out except for:

  • MobilePC - Network Projection + Sensors + Location notifications (Touchscreen based; could affect Lumia so need to test)
  • On-Screen Keyboard (Tablet PC) - Lumia
  • Servicing Stack - needed to inject drivers with DISM
  • Action Center - need to test if it’s actually necessary for Wifi and stuff (mainly with Lumia in mind again)
  • MS Paint - deal breaker I know!
  • OneDrive and Bitlocker for now - thinnest image won’t have them
  • RDP

It’s a constant trial and error process, and I’ve kind of developed a template for quality testing:

  • Start Menu works
  • Windows settings work
  • A selection of x86 apps work
  • Internet works
  • Google Chrome installs and can play Youtube
  • VLC (ARM) can play a video
  • RDP and sound works
  • Browse files from another PC - for now
  • OneDrive and Bitlocker - haven’t tested yet
  • Copying and pasting to Edge - might be a problem here or not

What else? I will be checking Office and PDF soon…

EDIT: solved the Edge copy and paste problem; Action Center only seems useful for switching between tablet mode - Lumia only. Am testing a few registry settings: increase mouse speed, enable RDP in remote settings and adjust for best performance - not to mention hidden files, file extensions, quick access = this pc, etc.

You stripped out RDP but RDP is working? How? :smiley:

RDP is intact - but it’s been causing a bit of a problem: when enabled via registry it doesn’t work (“an internal error has occurred”) - works only when manually selecting it from the Remote Settings menu. Strange. Maybe something to do with the firewall.

I had the same issues i switched to realvnc and had no problem since then, seems like RDP is some kind of broken with the ARM versions.

1 Like

It seems like store apps could benefit ARM users in some way:

  • Office: most apps probably run under 32-bit ARMv7 (since Windows RT) - except for Access (part of Office 365 x86 only).
  • Photo viewer/editor
  • Music player, such as Spotify
  • Ad-blockers for Edge

I will start with 2 versions of Windows 10 Lite for ARM64 and see where that leads:

  1. x86 edition: bare bones for use exclusively with x86 apps
  2. UWP edition: thinnest possible with most UWP apps working

That’s the challenge I’ve set myself. Obviously, there will need to be some compromise, so will be relying on testing and feedback. Regardless there is definitely a performance increase as more and more components are stripped out.

Good idea! :slight_smile: x86 edition would be pretty cool.

Are you working on the missing drivers for this version?

Unfortunately, I don’t know how to write drivers - but I’d love to learn it and would be all over the Pi graphics problem. With the Lumia 950 XL, on the other hand, we are in a very privileged position having a more well known graphics card complete with drivers and more CPU speed and RAM. With NTLite the Lumia is already on fire(!) - and I haven’t even begun to disable any services yet - including superfetch (NTLite cannot remove it). x86 Chrome is now actually running at a usable speed, which I never thought would be achievable! Incidentally, Office is no longer available from the store - but the installer is running as some kind of x86 hybrid and so far hasn’t stopped working like other UWP apps in terms of bare bones stripping so will be keeping an eye on it:
https://www.windowscentral.com/microsoft-removes-ability-install-office-directly-microsoft-store-windows-10

:clap::clap:
Looking forward to the release date / dowoload link

1 Like

Update: this took several days to troubleshoot, but here’s the bare minimum needed to protect the Lumia 950 XL mobile connection = Mobile section in Windows + “APN” for automatically connecting to the SIM network:

Update: Below is a Device Manager comparison.




Still a long way to go… Incidentally, this setting is needed for OneDrive Sync Status icons:

So far the Windows Store AND Cortana have both been completely stripped away prior to installation - previously unachievable in 1903 using any post-deployment methods alone:

And this is only the beginning! At this rate we might end up getting the RAM usage down to about 10%! :slight_smile:

Update: WOA Light version 1 is almost ready - just working on which services can be disabled.

1 Like

Update: Edge not connecting to the Internet took me a couple of weeks to solve, so not too much longer now… the Rpi preset is much more lite compared to the Lumia.