When I read that people were getting full Windows 10 running on a Lumia 950XL I thought it was time to dust off my old phone and give it a try. This is the full version of Windows 10 running on the Lumia 950, not the Windows 10 Mobile version so you get full Microsoft Edge, command prompt, devices manager, the whole works. Before you ask why would you want to run a desktop OS on a phone, I would say why not!
It comes down to unlocking the phone, creating an ARM based installation of Windows 10 and then installing the OS. I found it a bit trial and error but by the end of it, I had the OS running and using Dual Boot with Windows 10 Mobile still an option.
All the documentation and tools I used are from the Windows on ARM project page on github.
The first thing I did was unlock the phone’s bootloader so you can enter Mass Storage Mode. This mode makes the phone work as a USB drive so the tools can copy over the Windows image files. As per the guide, I used WPInternals.
With the tool I unlocked the bootloader and put it into Mass Storage Mode. You have to hold down the power button on the phone for 10 seconds and then the tool can put it into storage mode.
Getting the Windows 10 image
You need an ARM version of Windows 10 to apply to the phone, and this GitHub page helps you get the image. From the site I selected the Windows version, language and download types from the dropdowns. It then gave me a batch file which will create the Window image. So I copied it to my machine and kicked off the batch file. Make sure you at least 7GB free on your PC. This step took about an hour as it created a WIM (Windows Image file) ready for installation.
WOA Installer for Lumia
Again following the guide on the GitHub page I downloaded and installed the WOA Installer for Lumia tool (available here). I need some core files also available here. After installing the tool you go to the Advanced section and click on Import Core Package and bring in the zip file you have downloaded.
Once you have the WIM file built and the phone in Mass Storage mode you can go to the Windows Deployment tab, selection the image, select your phone and then click on Full Deployment. I found this took over an hour.
Booting up
When I started it up for the first time it went through the start up motions and then promptly crashed
I do not know how I fixed it but I rebooted a few times, plugged in the USB a couple of times and then it started up and went through the standard Windows 10 setup including Cortana, Windows account and WiFi.
Windows 10 was then up and running. I could get into all the apps, command prompt, explorer etc.
Dual Boot and GPU drivers
One of the problems I have found with Windows 10 on the Lumia is that the phone will not charge, not via a PC or mains charger. It will charge in Flash mode but the best option is to enable Dual Boot. This means on startup you can pick between Windows 10 or Windows 10 Mobile. In Windows 10 Mobile mode the phone charges ok.
To enable dual boot go back to the installer tool, go the dual boot tab and enable dual boot. You need to be in Mass Storage mode to enable it. From this mode you can also install the GPU drivers if you have a Lumia 950 XL. Once the drivers are copied over from the tool you go back into Windows 10 on the phone and via Device Manager install the graphics driver. This makes the phone seem faster and it runs cooler. The step by step driver instruction are included in the WOA tool.
What works and what doesn’t?
So far, I have found nothing connected to the USB port works. No charging, keyboards or Mice. To charge the phone I boot it back into Windows 10 Mobile.
What does work is Bluetooth. I connected a Bluetooth keyboard without any problems. WiFi also works without any issues.
Sound works but the volume control does not seem to do anything.
The screen looks great, it runs at 1440 x 2560 and you can manually rotate the display but there is no automatic rotation.
In Device Manager there are a lot of missing drivers, but I haven’t found a way to setup the mobile data driver or any of the sensors.
All the inbox apps seem to work ok. Windows Explorer, command prompt, Microsoft Edge, Mail and other apps all worked just as they would on a PC.
Performance
Once I installed the GPU driver the performance is actually pretty good. It is a little slow opening apps, but no slower than my Yogabook and even with a few apps open it did not slow down. Open a lot of apps and it does start to struggle and get very sluggish.
After I first got it up and running, I found the phone was running very warm but after installed the GPU driver it ran a lot cooler. It does seem to eat through the battery as well, maybe about 4 hours from a full charge.
Windows on the Lumia works best in tablet mode but some things in Windows are a bit small on the 6 inch screen. I am going to try changing the display scaling to see if that helps.
Obviously, there isn’t really a practical reason to run full version of Windows 10 on a Lumia 950 XL but it’s an interesting challenge and fascinating to see Windows 10 on ARM. Having the dual boot option means you can switch between Windows 10 and Windows 10 Mobile.
Full credit to José Manuel Nieto for creating the tools to get this working and for Ian Walker for inspiring me to give it a go!
Here is the phone in action:
{"id":null,"mode":"button","open_style":"in_place","currency_code":"GBP","currency_symbol":"\u00a3","currency_type":"decimal","blank_flag_url":"https:\/\/thedigitallifestyle.com\/w\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/thedigitallifestyle.com\/w\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":500,"top_media_type":"none","featured_image_url":false,"featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"TheDigitalLifestyle.com","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"TheDigitalLifestyle.com","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for being a supporter!","payment_confirmation_title":"TheDigitalLifestyle.com","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
Does the HD-500 dock work?
Good question. When I tried it the first time it didn’t but since then USB C now works so it may work. I will give it a try at some point
Is they any way round it without a computer by doing it manually ????
No, you have to use the tools in the guide.
Can it run Steam??