After the
good news about openSUSE 12.2 booting and running successfully in headless mode on the CuBox, the next step on the way to the ultimate home premium professional double scoop openSUSE experience on the CuBox is to get the graphics mode working.
Now, I knew from the start that this wasn't going to be easy. There were plenty of posts over on the solid-run forum about graphics not (or barely) working. The
current workaround seems to be to use a
frightful looking tarball loaded to the gills with Marvell proprietary code and other assorted binary only cruft (well, "loaded to the gills" might be a bit of an exaggeration, but some really important stuff in there is proprietary and the wheels kind of fall off the car if it isn't used).
To get started, I figured I'd have a look to see exactly what the license terms are for the "proprietary code". When I downloaded and unpacked the "big CuBox tarball" (available
here) I found that it contained a "packages" directory, which itself contained (surprise!) many packages. I don't claim to know very much about graphics on the CuBox (or on any hardware at all for that matter), but I had seen already on the
CuBox wiki that marvell-ipp is considered "proprietary". I figured that that package is as good a place to start as any, so I unpacked the package there (marvell-ipp_0.2.1-0ubuntu1~ppa10.tar.gz), fired off a find . -name "*icense*" and then opened the file ./marvell-ipp/lib/License.txt. It is a relatively bog standard hardware manufacturer license for software for end users - it forbids everything and the kitchen sink. The following section was, however, quite interesting:
2.1.2 Linux/FreeBSD Exception. Notwithstanding the foregoing terms of Section 2.1.1, SOFTWARE designed exclusively for use on the Linux or FreeBSD operating systems, or other operating systems derived from the source code to these operating systems, may be copied and redistributed, provided that the binary files thereof are not modified in any way (except for unzipping of compressed files).
Now if marvell-ipp is "designed exclusively for use on the Linux ... systems [including systems derived from the source code thereof]", then it looks like permission is granted to copy and redistribute in unmodified form. It could be possible to allow such binaries to be distributed as part of the NonFree project of openSUSE - if such a project exists for the ARM port. All of this would need to be checked on a case-by-case basis though.
I haven't looked at the rest of the packages yet, though. What I really would be interested in, though, would be some kind of diagram or table explaining exactly what we need to redistribute for graphics to work. There is a table over at
http://www.solid-run.com/mw/index.php/CuBox_Drivers_rebuild which breaks the components down into "Render", "Decode" and "More" - maybe somebody could make a real table out of it with additional columns to indicate if there already is an openSUSE package for the component - or what other work needs to be done to get one.
After getting to the top of
Boot Hill, it looks like a long and winding road to the
Graphical Palace, but we'll get there...