Hidden hardware requirement - Windows 8 General

Hello,
while trying to run W8 on my Tablet PC (Toshiba Portege M200) I came across "hidden" hardware requirement - PAE and thus NX bit support.
It came with Consumer Preview, Developer Preview didn't have this requirement.
It stops right after it starts booting with error 0xC0000260.
The problematic CPUs are all Pentium Ms with 400MHz FSB. (And I have one of those damnit!)
-- Andrew
// Hidden means that it tells you AFTER it installs. If you boot from network that is!

Related

Curious about WM5 execution, .net, emulation etc

I'm a game programmer by profession, quite knowledgeable about hardware and OSes in general, and somewhat familiar with the .net programming environment. But I can't seem to find the answer to this simple, but very important (given the abominably slow speed of WM5), question:
Do programs running on Windows Mobile devices (WM5 in particular) execute natively on the processor, or do they go through any kind of emulation or JIT compilation?
Related questions: Do all programs on WM run in the .net environment? Or can WM5 execute "native" programs as well?
Are WM .net programs installed as MSIL (non-native) assemblies? When they are executed, do they go through the .net JIT compilation process, thus causing periodic delays, and doubling the amount of precious RAM needed?
And if any "native" programs run on WM5... how "native" are they? Isn't it true that starting with WM 2003 all programs were compiled to run on the ARM processor? And that if your device had a non-ARM processor (say, oh, a TI OMAP), it had to emulate the ARM code, thus running the program at a fraction of native speed?
I can't seem to get an answer to these questions, and it's driving me buggy. I want to know whether one of the reasons WM devices are slower than an 8-bit computer is because of an evil & unnecessary (IMO) processor emulation architecture, or whether it's just due to Microsoft's terrible terrible programming in general.
Cheers
Most of WinMobile applications are "native". I.e. they are executed directly on CPU without any emulation layer. On my device there are no MSIL programs at all.
I don't know how .NET apps are executed, but probaly the process is identical to a "big PC" - something like JIT compilation.
WM5 is slower because it is more secure then older OSes, it has lots os security checks that slowdown things incredibly. It also allows mixing ARM (32-bit) and THUMB (16-bit) code in a program, and 16-bit code is typically slower. And it uses "persistent storage" - this is the main reason if incredible slowdown comparing to WM2003SE.
Regardong TI OMAP. As far as I remember it uses the same ARM/THUMB instruction sets as intel PXA CPUs. It probably does not have intel x-scale instructions, which are rarely used (mostly in games).
I want to know whether one of the reasons WM devices are slower than an 8-bit computer is because of an evil & unnecessary (IMO) processor emulation architecture, or whether it's just due to Microsoft's terrible terrible programming in general.
Click to expand...
Click to collapse
The slowdown is due to the ugly architecture of Windows Mobile OS. This is similar to all OSes made by that company - the newer the OS is, the slower it works.

[Q] Windows 8 on ARM

As this is a developers forum - lets share here information on WoA (Windows on ARM) architecture.
What is known for now from different sources:
- WoA 8 would require UEFI to boot (instead of BIOS on x86), ACPI is required too. So no WoA to existing devices (they don't have UEFI/ACPI and I don't think that anyone would waste his time on emulating them).
- No native support for x86 apps on ARM, nor ARM apps on x86. Only .NET apps would work in both worlds.
But it is possible to create an emulator similar to DosBox that would run native x86 programs on WoA and, for example, I'm currently working in this direction.
- Though existing C++ apps can be recompiled for ARM from sources, it is not a 100% working solution. Current VS11 contains a rather limited set of ARM libraries - no DirectX libs earlier than 11, no import libraries for NtDll.Dll and similar DLLs.
I don't have access to any WoA builds, so I can't check whether these features are completely removed from ARM, or those LIBs are just not present in current VS11 build. But at least now we can compile test apps for ARM and analyze the code (though we don't have where to execute them yet).
- Native WoA programs use THUMB2 instruction set (ARMv7 and above). Though ARM instruction set would be supported too.
- According to "Microsoft Portable Executable and Common Object File Format Specification v8.2" WoA machine type in PE files would be 0x1c4, and some new relocations types are added (for example IMAGE_REL_BASED_ARM_MOV32T = 7). IDA understands such EXE files, though complains on relocs.
- SEH is implemented in a different way than on x86 (similar to x64, google for RtlAddFunctionTable to get the idea).
- WoA is more secure by default. For example TPM can be rarely found on x86, but it would be required on ARM.
- Most of existing drivers are source-code compatible with ARM (of cause if not using x86-specific stuff). But ARM would never allow to load unsigned drivers (unlike x86 Win7/8).
- As platform is completely new - all ARM drivers would be added to windows update site to simplify our life. Some obsolete hardware like 1394 is not implemented at all, so there would not be so many drivers for ARM llike for x86.
- All binaries would be the same for all SoC providers.
- No "native" ARM VisualStudio - developer tools are x86 only.
WoA requirements from different sources:
- 10.1” display with 1366x768 min resolution (though smaller screens may be supported with reduced functionality)
- Volume Control, Windows, Rotation, Lock power buttons
- Dual core CPU with hardware accelerated GPU
- at least 1 Gb RAM
- min 16 Gb fixed storage
- 100mW idle power in standby
- there are rumors that there would be standart "Phone call API" ("Apollo" UI)
Does anyone have access to ARM WDK? It would definitely contain a complete set of import libraries and would provide lots of info on WoA internals in headers/documentation. Seems that Windows 8 WDK on MSDN does not have ARM tools
so your bottom line says: no w8 on arm (ever)?
I'm not quite sure where you found that it requires ACPI. I didn't turn anything up.
The UEFI requirement is expected, and I doubt will be that much of a hurdle. UEFI is all open, and it should be pretty trivial to chainload a UEFI-compatible environment on top of the existing firmwares, provided that nvidia doesn't provide us with an implementation to start with, which I suspect they'll do.
For the emulator, I believe the best thing to do would be to provide something opposite of WINE, something that'd emulate the instructions, but pass API calls and translate between the two. A full Windows SDK will likely come out for ARM processors once it's finalized, if it's not already out. Have you checked in the Ultimate build of VS2011, or the express build?
Everything I could find relating to the TPM says that it's optional, but will be automatically utilized if available.
The rest is pretty inconsequental, at least to what I think most people here are interested in.
nvidia started a windows 8 development program for ARM (Clickey here), but I haven't seen anything else from it, has anyone else gotten anything?
mamaich said:
As this is a developers forum - lets share here information on WoA (Windows on ARM) architecture.
What is known for now from different sources:
- WoA 8 would require UEFI to boot (instead of BIOS on x86), ACPI is required too. So no WoA to existing devices (they don't have UEFI/ACPI and I don't think that anyone would waste his time on emulating them).
Click to expand...
Click to collapse
Actually they said it would continue to support BIOS for older devices.
See: Current machines dual-booting Windows 7 and Linux should be able to upgrade to Windows 8 without wiping out the Linux install. As Microsoft notes in the Building Windows 8 blog, “We will continue to support the legacy BIOS interface.” However, machines using UEFI instead of BIOS “will have significantly richer capabilities” including faster boot times and greater security. (from Arstechnica)
That's for x86. ARM was said to require UEFI. Besides, there is no real bios on Android tablets, at least not a common platform.
netham45 said:
I'm not quite sure where you found that it requires ACPI. I didn't turn anything up.
Click to expand...
Click to collapse
I've got it in one of the "windows-on-arm" non-public documents dated the first half of this year. While UEFI,ACPI,TPM are an option for x86, they are required for ARM hosts.
So no custom WM8 bootloaders, drivers, patched kernel on ARM hosts (like "windows activators" do) until sign keys would be leaked or some backdoors would be found. Of cause this is good as this would make rootkit creation more difficult, and require device drivers signed by MS (so we'd get more stable OS) but I really don't think that this "protection" would last more than 1-2 months after WoA would be released.
For the emulator, I believe the best thing to do would be to provide something opposite of WINE, something that'd emulate the instructions, but pass API calls and translate between the two.
Click to expand...
Click to collapse
I'm already working on such tool. It emulates x86 instruction set with dosbox or bochs CPU emulation library (I'm using both of them for debugging purposes, while working on my own one that would be much more simple->faster), translates x86 WinAPI to "native" host WinAPI + emulates API that is not present or differently implemented on WoA. It is designed to be truly cross-platform, so just a recompilation + creating several thunks/stubs would be necessary when I'll get my hands to an ARM host running windows8.
Of cause programs that use heavy anti-debugging, self-modifying code, undocumented features and SEH tricks would not work. Currently it is rather far from being finished (I have to implement&debug WinAPI and COM thunks that cannot be automatically generated) but old games like "heroes of might and magic" are already working fine in a test environment.
A full Windows SDK will likely come out for ARM processors once it's finalized, if it's not already out. Have you checked in the Ultimate build of VS2011, or the express build?
Click to expand...
Click to collapse
Of cause I'm talking about "ultimate" VS11, as express is designed to target mostly .NET (though ARM compiler is present there too).
And WDK that it published on MSDN does not allow creation of ARM drivers. I'm currently in a process of renewing my company's MSDN subscription, so I can't prove that myself, but I've read that on OSR forums.
I am waiting to hack my iPad and put win8 on it
I would hope touchpad would be the next viable option. Hp could still make more and just dump W8 on it. Thanks all of you for working this thread. I will be reading your progress as it unfolds. Good Luck devs and if I can find anything you will be the first to know.
Sent from my mwp6985 / Trophy using XDA Windows Phone 7 App
Some information on Win8 "Apollo" is available. Apollo - is a name for a new "windows phone" OS from MS.
- Apollo is based on the same "desktop" code as Windows 8. No Windows CE at last!
- Apollo would provide the same user experience as old Windows Phone 7.x - Metro UI, People hub, builtin office apps, etc. Seems that software compatibility with WinPhone 7.x apps would be preserved, but this is just my own guess.
- All applications on Apollo are required to be signed, similar to Windows Phone 7.
- Device drivers can be written only by IHVs, MS and OEMs, not by ISVs. This would be a problem for antivirus vendors or tools like daemon-tools.
- There would be a "built-in" eMMC card with OS and vendor partitions, and maximum one SD card. eMMC supports NTFS, SD-card supports only FAT/exFAT.
Build-in eMMC would have C:\ drive letter, SD-card would be D:\ if present.
eMMC contains several partitions. Some of them would be made readonly during boot.
- Near Field Communication is built in.
- The same list of sensors as in WP7 Mango is supported.
- There would be BSOD like in a desktop OS
- Unproven, but it seems that only .NET ("Splash UI framework" and "Silverlight") APIs would be available to independent developers. So no native code again.
- Seems that x86 architecture is supported for Apollo too.

Windows 8 without NX, SSE2 support

Hi, I have a pentium 3 1ghz that not supporting NX and SSE2. I tried to install it in many ways but this is impossible. There is a change to be able to install windows 8 without this problem?
Sorry for my English. Greetings.
I'm sorry to disappoint you, but it seems very close to, if not completely, impossible to me, that you will be able to run Windows 8 in any version on that CPU.
See http://msdn.microsoft.com/en-us/library/windows/hardware/hh975398.aspx
Somehow we need to remove the UNSUPPORTED_PROCESSOR (0x0000005D) bugcheck from the kernel. The Consumer Preview worked fine.
you're right about that... well I wish you good look with it, but honestly - I don't believe you'll manage to do it but this is xda, so anything can happen xD
If it wasn't for Jessenic's comment, I'd say it's probably a lost cause; the P3 line is over a decade old by now and there have been many additions to the x86 instruction set since then. I believe Vista and Win7 were able to run on P3 but not on anything older, and given the changes and support for new hardware that Win8 brings, it wouldn't surprise me if they decided to drop that legacy support.
That said, if you want to try working around whatever test is bugchecking, set up a kernel debugger, generate the bugcheck, and then work backward from there to find the test. Spoof it, jump over it, or otherwise avoid taking the code path to BSOD-land, and you should be good to go.
There's actually usable documentations on what's checking when. Sadly it only scratches the surface (no pun intended). But it should give us a lead on, where to check if we can't disable the check in the kernel or spoof its result.
For the mentioned documentation see my first link in this thread.
I can upgrade to RTM from the preview to avoid this problem?
Kisler your pentium 3 is old already 10 years or more so it could be unseported that would be weard because Windows 7 you can install.
Sent from my LG-P970 using xda premium
I installed the consumer preview and it works really slow. In the virtual machine from another pc, I tried with 1ghz and 768 ram and worked well but maybe the ram (speed 133) is too slow compared with that of the virtual machine (1333) ... This is over.
Thanks!
Wait, and what about the Pentium 4? Those had SSE2... And about no nx support, well if it was just an option in xp, vista, 7 and dev preview 8 then I do not see why it really matters.
Hi I have the solution to install Windows 8 / 8.1 without NX
Write "without nx" on google and open the first link (it's a video tutorial).
following this tutorial you'll be able to install Windows 8/8.1 even on a pentium 3

Samsung Ativ 500T. Android dual boot? Upscaling?

I believe the best hackers/minds/tinkerers in the internet are typically found in these forums, so I like to post the most intricate questions that all other forums failed to answer as my last resort. As they say, save the best for last. (No pressure, lol)
Issue 1:
Upscaling. Atom Clovertrail Z2760 does not have any upscaling option built into its Intel Graphics Control Panel. It is a known issue with all atom 2760 devices including my own tablet Samsung Ativ 500t, as well HP Envy X2, Asus Vivotab Smart, Asus Vivotab tf810c. etc.
The problem presents itself when attempting to run an old game designed for a resolution of 800 x 600, for example. When you go into "full screen" mode, what you get is a still tiny window with huge black bars all around. Somebody suggested using the windows magnifier, but that cuts off some of the game screen.
So, is there any third party mods to the Intel drivers, third party upscaler software, or anything of the sort I can use to solve this situation? Intel did not develop official drivers, and people contacting Samsung were pretty much told "screw you, we dont care"
Issue 2:
Android:
Research found that Bluestacks does not seem to work with my particular tablet. I encountered an interesting thing called Android X86, which Im sure you guys already know about. While going through their website, my head exploded. I do not have the savvy to reconfigure a kernel, or make a bootable USB drive using Linux without..well..Linux. I was just hoping that somebody has successfully installed Android x86 in a more recent Windows 8 tablet. I have found instances of people who did in older Windows 7 tablets, like the Acer w500 for example, but no one yet with specific information no how to install this on a clovertrail tablet.
I was hoping could help me out getting this done. Being able to dual boot the Sammy Ativ 500 would be a dream come true.
Thank you very much for your time.
There's a thread literally right next to this one that talks about installing Android-x86 on a Win8 tablet. You might start there...
The usual solution to the options for display scaling not appearing in the driver control screen is to put Windows into a lower resolution (for example, 1024x768 or 800x600) and then usually (though I haven't tried on Clover Trail) the option you're looking for (display scaling) will appear.
GoodDayToDie said:
There's a thread literally right next to this one that talks about installing Android-x86 on a Win8 tablet. You might start there...
The usual solution to the options for display scaling not appearing in the driver control screen is to put Windows into a lower resolution (for example, 1024x768 or 800x600) and then usually (though I haven't tried on Clover Trail) the option you're looking for (display scaling) will appear.
Click to expand...
Click to collapse
Yeah I tried that. I also tried the whole f11 thing. Nothing. Did not notice that other thread. will go check into it.
GoodDayToDie said:
There's a thread literally right next to this one that talks about installing Android-x86 on a Win8 tablet. You might start there...
The usual solution to the options for display scaling not appearing in the driver control screen is to put Windows into a lower resolution (for example, 1024x768 or 800x600) and then usually (though I haven't tried on Clover Trail) the option you're looking for (display scaling) will appear.
Click to expand...
Click to collapse
Im sorry if Im blind but..which thread are you referring to? I assumed it was the Iconia w700 one but saw no mention of Android X86
Near the end of the w700 thread its become a android-ia discussion not android-x86.
Anyway. The clovertrail CPU used in the 500t ONLY supports windows and will likely refuse to boot anything but windows. It might well be possible to male it boot the Linux kernel eventually but only with that kernel configuration you mentioned not wanting to do. Basically its not possible right now, but if it is possible one day there are 2 solutions to your making a usb drive in Linux without Linux. Firstly, ubuntu is free if you are willing to install it on another machine first (I think you can buy ubuntu DVDs or burn one yourself from windows). Secondly you can make bootable usbs in windows.
Android on clovertrail could eventually work, probably easier job than the surface RT guys have. The clovertrail replacement will be back to normal and support any x86 OS, I don't know why clovertrail has such a restriction, it just does.
Bluestacks for surface pro apparently works fine on clovertrail as does jar of beans. I haven't tried either one myself but have heard the various complaints about bluestacks working or not working.
The driver does not support upscaling.
I'm not sure if there is a hardware upscaler in the PowerVR SGX545 core or not.
but it can be done with software, like upscaling a lowres framebuffer to a highres framebuffer (f.e 640x480 -> 1366x768) and using opengl or directX for filtering or interpolation.
It has to be either done by the driver or as a dll hooked into a directdraw/directX/opengl application.
Driver would be the best option because it would be universal and work with all applications.
darkleafar said:
I believe the best hackers/minds/tinkerers in the internet are typically found in these forums, so I like to post the most intricate questions that all other forums failed to answer as my last resort. As they say, save the best for last. (No pressure, lol)
Issue 1:
Upscaling. Atom Clovertrail Z2760 does not have any upscaling option built into its Intel Graphics Control Panel. It is a known issue with all atom 2760 devices including my own tablet Samsung Ativ 500t, as well HP Envy X2, Asus Vivotab Smart, Asus Vivotab tf810c. etc.
The problem presents itself when attempting to run an old game designed for a resolution of 800 x 600, for example. When you go into "full screen" mode, what you get is a still tiny window with huge black bars all around. Somebody suggested using the windows magnifier, but that cuts off some of the game screen.
So, is there any third party mods to the Intel drivers, third party upscaler software, or anything of the sort I can use to solve this situation? Intel did not develop official drivers, and people contacting Samsung were pretty much told "screw you, we dont care"
Issue 2:
Android:
Research found that Bluestacks does not seem to work with my particular tablet. I encountered an interesting thing called Android X86, which Im sure you guys already know about. While going through their website, my head exploded. I do not have the savvy to reconfigure a kernel, or make a bootable USB drive using Linux without..well..Linux. I was just hoping that somebody has successfully installed Android x86 in a more recent Windows 8 tablet. I have found instances of people who did in older Windows 7 tablets, like the Acer w500 for example, but no one yet with specific information no how to install this on a clovertrail tablet.
I was hoping could help me out getting this done. Being able to dual boot the Sammy Ativ 500 would be a dream come true.
Thank you very much for your time.
Click to expand...
Click to collapse
I made a post about this, and i was able to make it boot to ''chose your language screen'' also it boots in safe mode.
Good News People!
I got android x86 installation to boot perfectly, going to install now. posting instructions when i can.
Good news. bad news.
With a program called easyuefi you are able to get it to boot to android x86 installation, however keyboard is not working when choosing an hard drive partition. in grub screen it works fine.
make a new partition, extract android x86 iso there.
Now open up easyuefi and click add entry
When choosing a boot file, In your extracted android x86 files there is a folder called efi.
choose 32bit efi file and click ok. well add to description android so it wont whine about missin description. Now at the easyuefi boot entry screen click on the entry you just created and choose one time boot, now click on power and choose reboot and then click yes.
Cyanogen based android x86 boots fine in live mode but the resolution is ''out of range'' the cyanogen bootlogo is really wide and bugged out, welcome screen is pixeled out.
Not working my friend. Any other suggestions or updates
justanpotato said:
With a program called easyuefi you are able to get it to boot to android x86 installation, however keyboard is not working when choosing an hard drive partition. in grub screen it works fine.
make a new partition, extract android x86 iso there.
Now open up easyuefi and click add entry
When choosing a boot file, In your extracted android x86 files there is a folder called efi.
choose 32bit efi file and click ok. well add to description android so it wont whine about missin description. Now at the easyuefi boot entry screen click on the entry you just created and choose one time boot, now click on power and choose reboot and then click yes.
Click to expand...
Click to collapse
not working
Ghalilo said:
not working
Click to expand...
Click to collapse
Posted to remixos section of xda, asking help with pictures that remix os actually boots but i still have some problems with it.
Remember to install android files to its own partition on your 500t hard drive / preinstall it there. You can add, modify and remove partitions from Disk Management.
I got remix os to boot with their own installer and cyanogenmod based android x86 android image with easyuefi.
remember to disable from bios the boot protection.
https://forum.xda-developers.com/remix/remix-os/samsung-ativ-500t-boot-remix-os-t3500257

Raspberry Pi 2, now with Windows 10 support

Raspberry Pi 2 spec:
A 900MHz quad-core ARM Cortex-A7 BCM2836 CPU (up from a single-core 700Mhz part)
1GB LPDDR2 SDRAM (up from 512MB)
Complete compatibility with Raspberry Pi 1 (software will need to be recompiled to take advantage of the new multi-core processor)
Identical form factor to the existing Raspberry Pi, which means it can fit into existing enclosures
10/100 Ethernet port
40-pin extended GPIO
4 x USB 2.0 ports
4 pole Stereo output and Composite video port
Full size HDMI
CSI camera port for connecting the Raspberry Pi camera
DSI display port for connecting the Raspberry Pi touch screen display
Micro SD slot
Micro USB power source
Its not going to be a full Win 10 like on a PC, its Win 10 IoT.
Well yeah it can not be full version still there is a windows support, I'm still waiting for Android support
Wonder if they will have proper display drivers with Win 10... Those are the reason Android hasn't been 100% successful in being ported over
Nypan sr said:
Its not going to be a full Win 10 like on a PC, its Win 10 IoT.
Click to expand...
Click to collapse
But hopefully it will be more like more like the x86 Windows version without any dumb restrictions, as opposed to the Windows on ARM SKUs we've seen so far (Windows RT and phone) that have too many restrictions. I believe the current IoT version is prrety stripped down and runs win32 executables, but I guess it remains to be seen exactly what the Windows 10 IoT SKUs (x86 or ARM) will be like.
Either way this is good news, and especially as it's the first Windows on ARM release (that I'm aware of) that isn't pre-installed on a device, and can be installed and removed at will (again, unlike Windows RT/Phone device with a locked bootloader). So that at least is encouraging.
I know it is a silly question, apart from the company news, has anyone independently managed to get a developer copy to work? I scoured all over the web and have not been able to see any info with regards to that.
vulcanize said:
I know it is a silly question, apart from the company news, has anyone independently managed to get a developer copy to work? I scoured all over the web and have not been able to see any info with regards to that.
Click to expand...
Click to collapse
There is no copy anywhere. At least, I managed Windows RT to boot with hardware-accelerated Qemu(and a basic Tegra3 emulation) if I disable the graphics driver. Still no input but that should just be some boring code to write.
black_blob said:
There is no copy anywhere. At least, I managed Windows RT to boot with hardware-accelerated Qemu(and a basic Tegra3 emulation) if I disable the graphics driver. Still no input but that should just be some boring code to write.
Click to expand...
Click to collapse
That's sounds very interesting (maybe should have posted that on the Windows RT section)
as a couple of us would be interested in learning how you did that
xsoliman3 said:
That's sounds very interesting (maybe should have posted that on the Windows RT section)
as a couple of us would be interested in learning how you did that
Click to expand...
Click to collapse
I should clean the UEFI implementation and adapt the HalExtTegra3 to something cleaner without a hacked VersatilePB target. How to disassemble that lib?
A bluescreen is the result with the RTSM emulator. Does anyone have Windows RT BSP documentation or a disassembler?
Just noticed someone else who has done amazing things with Windows RT on generic ARM hardware
http://winocm.moe/projects/bringup/osports/2015/01/12/giving-windows-on-arm-a-hand/
I think Linux is much more important than windows support.

Categories

Resources