For a few years I have been waiting for an ARM based netbook. Every few months I would hear about all these new ARM devices and how they would be on the market 6 months time. 6 months later and there was nothing and rarely ever an official statement explaining why except in the case of the Lenovo Skylight here.
Yesterday I found the Toshiba AC100 and the initial impression was "Wow! A real smartbook with decent hardware from a real company!" but I was snapped back to reality when I was investigating exactly why I shouldn't have placed an order in the next 15 minutes. There is simply no community that I can find. If I can't work something out with the software who will I complain to? Getting support from the manufactuer is laughable and you have to be completely naive to believe they could support their product anywhere near as well as a community could.
The hardware looks great, build wality seems great but you have to remember that this is not some x86 based netbook. With ARM it isn't quite as simple as just blasting the stock OS away and replacing it with something you like and know. This smartbook runs Android and does not have a touch screen. Using a mouse in Android is... funky, and not in a good way. A full Linux desktop would be nice but I think Android would indeed suffice until somebody works out how to get Linux running nicely on the device.
The Nvidia Tegra T20 chipset which while very awesome is not very common in affordable devices but it seems that Nvidia provides a decent amount of support and documentation that is required to get a hacking community on its' feet. I own a SmartDevices SmartQ V7 which if you want to have access to the chipset you need to illegially acquire software for and the closed source video accelleration driver and decoders from Telechips is an unreliable blob of crap. I don't think this is the case for Tegra -- at least their proprietary blob of crap seems to be well supported and regularly updated just like their Unix graphics driver. The hackers around the SmartQ devices are severely hobbled by the lack of manufacturer support for the chipset.
The device is quite new so hackers need to get their hands on the hardware and find the appropriate place to congregate. Hopefully one appears or I get drunk enough to buy the device and go start one.
I watch the Haiku-development mailing list as occasionally there is some quite interesting and informative posts.
Yesterday a tentative GSOC student asked about the current status of Gallium3D hardware accellerated grahpics support in Haiku. A developer called Zenja Solaja replied with an informative and exciting status update.
I've actually started porting the Nouveau Linux HW driver, going by the way
of designing a linux compatibility layer for video drivers.
At the moment, the following is done:
- Entire Nouveau Linux driver compiles and links with no warnings (via
compatibility layer)
- Haiku version of mini-DRM (linked to Haiku kernel) compiles and links with
no warnings. By Mini-DRM is subset needed to compile Nouveau driver.
- Haiku accelerant for the Nouveau driver is done (minimal 2D support for
now, set/display mode etc)*
- TTM (another memory manager for graphics card resources) is 20% ported -
when this is done, then the whole stack should come alive.
- GEM is implemented via TTM wrapper.
The nasty thing about the video stack port I'm doing is that I cannot do an
integration test until all the components are done. I expect that
everything should come together once the TTM port is done.
Once all of the above is complete, then it should be trivial to wrap the
Nouveau Gallium 3D driver to the Haiku accelerant calls (which calls the
Nouveau driver via DRM - in our case, via the accelarant).
Since I'm building a driver compatibility interface, I dont forsee any
problems porting the RadeonHD driver as well.
PS. I've actually been working on this for the last couple of weeks full
time (with a couple of high priority interruptions, but thats normal I
guess).
Maybe this is old news, but as I have been a little out of the Haiku loop lately this is new to me.
This fairly short email has a number of interesting points. Firstly it mentions a Linux driver compatibility layer, which is no mean feat to pull off due to the dynamic nature (*cough* instability of ABI *cough*) of Linux drivers but this is definitely not the first port of alien infrastructure to Haiku. The networking stack is sourced from FreeBSD and the Wifi drivers are also ported from FreeBSD thanks larely to the great work of Colin Günther who also driving forward with WPA support. As it stands Haiku has a FreeBSD compatibility layer (view relevant SVN here) and this has been great for networking in Haiku. FreeBSD has a Linux compatibility layer but I have no idea how it is implemented or if it too can be ported across.
The amount of work that would have gone into getting the entire Nouveau driver plus a decent portion of TTM, GEM ported must have meant many nights of research and debugging.
Zenja also mentions that he is creating a Linux driver "compatibility interface" so that ATi drivers can be ported (which he seems to think will be relitively easy). I would speculate that if the compatibility interface is written in a sufficiently extensibile and generic manner this could open the doors for other non-graphics Linux drivers.
There is some bloody talented developers in the Haiku community who I find very inspiring. I really need to get stuck into C++ so I can go work with them, but at the moment all I can really do is donate to Haikuware Bounties and advocate the promising project!



Latest comments