Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Linux (Android) has made good progress on mobile SOCs. Desktop motherboards continue to shrink as more functions move onto the "CPU". The reduction in PC hardware diversity is bad for desktop hardware innovation, but it cuts the cost of Linux testing and reduces the historical advantage of Windows.

New AMD x86 CPUs include an ARM coprocessor and blur the memory boundary between CPU and GPU. Nvidia's K1 processor is transcoding ARM instructions to the hardware ISA, but is theoretically capable of transcoding x86.

What defines a "desktop"? Large monitor & keyboard? Or large local storage? ChromeOS has the first two and simplifies centralized management, but is dependent on public cloud. As mobile & PC hardware architectures converge, we need to decide if desktops are systems-of-record or local caches.



I believe he is referring to x86. ARM has the advantage in mobile because of power efficiency, but it does not have the compatibility with the commodity consumer hardware necessary for the desktop/laptop experience. I would like to see evidence of ARM being able to match the performance of x86 in difficult desktop computing tasks, and then I might consider that being an option.

All popular tasks done using Windows applications need to be accessible to users. Some ways I see this happening:

1) An alternative application for everything is provided (many companies are working on this, including Google...)

2) Provide seamless interfaces to Windows applications on the same platform, utilizing hardware virtualization

3) Provide seamless, high performance abstraction at application/process layer that can run Windows apps (JVM, WINE)

Options 1 and 3 would liberate the operating system from x86, but major improvements to the hardware and/or the software stack are needed to drive options 2 and 3. I am not confident ARM will be efficient/fast/compatible enough to knock x86 out of the box for typical desktop computing tasks even if option 1 is achieved. Though there is certainly potential for improvement/development of ARM in all of the aspects where I'm suspicious it is lacking compared to x86, I think that would take longer than it would to achieve option 1. There is also the possibility of creating a new architecture that is either compatible with or has features equivalent to x86, or performs so well that it can accomplish option 3 seamlessly, but that will also take a long time to pan out.


An intermediate version of #2 would be to give Windows ownership (IOMMU) of the GPU, mouse/touch and USB. This would cover the most problematic devices. The rest of the hardware could be virtualized by Linux, which would make a huge amount of Linux software available as local web services. Or create a market for a Windows X server to run Linux desktop apps.

Have you considered Qubes for option 2?


I'm certainly interested in trying it out! I've really only gotten hands on with virtualizing Linux within itself. Being more advanced than the average user I've never had much of a desire for running Windows apps within Linux (just switch partitions), and I definitely try to roll with option 1 for personal purposes. I love trying out all the different kinds of OSes. I'll take a look at Qubes though; even though I'm not dependent on Windows, investigating ways to help others break their dependence is highly beneficial for everybody including myself.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: