Saturday, 11 June 2011

Linux Hybrid Graphics: Current Status

Optimus and multi-GPU computers
A while ago, nVidia introduced what they call Optimus. This is a way to use two graphics cards on one machine. One of the cards is typically a low-power Intel or nVidia card, and the other one a high-performance, more energy hungry card. The Optimus laptop would then only do graphics on the high-performance card when the 3D application seemed to require more performance. This would be seamless, and the low-power card would be on 100% of the time.
At about the same time, multi-GPU laptops such as the Asus UL30Vt without the Optimus technology entered the market. These work slightly differently. The high-performance card is separate from the low-power card, and they can be switched when no 3D applications are running. This switches one card off and enables the other.

On Linux
That was the status on Windows. On Linux, nVidia provided no support for either type of multi-GPU machines. However, with the efforts of several Linux people, we now have solutions. asus-switcheroo and the vga-switcheroo kernel mechanism allow one to switch between two different graphics cards, provided that one first logs out. This is because a running X session locks a card so that it cannot be switched off. More detail and a solution for easy switching is at the hybrid graphics wiki. Now, this is not seamless, and rather cumbersome, since one is forced to log out in order to switch cards. Also, this only works on the non-Optimus machines. For those with Optimus, one would use Bumblebee. This is basically an X server that runs on the high-performance card, and copies its output to the screen that runs on the low-power card. With some acpi magic Bumblebee can turn on the high-performance card when you run a demanding application, and turn it off when it stops running. At the moment, this needs to be done manually.  Instead of running for example google earth with "googleearth" one would run it with "optirun32 googleearth". The 32 comes from the fact that google earth is a 32-bit application. If you run 64-bit applications on a 64-bit Linux, you would use simply e.g. "optirun mplayer".

On my UL30Vt, I have combined Bumblebee, acpi_call and asus-switcheroo, allowing me to run applications on the high-performance card using the optirun and optirun32 commands. The high-performance is turned off when these applications are not run, saving battery. I use the asus-switcheroo and acpi_call to turn off the high-performance card when the computer is started, so that I get 10 hours of battery life with Wifi turned off. If I want a fully high-performance desktop, or to use the HDMI port, I type the word "nvidia" into a special file called switcheroo.txt, and log out. The system will then switch the cards and give me a session running with the high-performance nVidia card.

On Linux, one can run demanding applications with the high-performance card manually. One can keep the high-performance card off at other times, saving battery. On multi-GPU non-Optimus machines, one can also switch cards after logging out.

Sunday, 8 May 2011

Unity and which Linux to choose today

Ubuntu adorers may be shocked by the article at lxer that criticizes the dumbed-down new interface in Natty, Unity. I have used Ubuntu for a long time, for its ease of use and flexible GNOME desktop, that I do customize a lot from its default appearance and function. My current choice is Linux Mint Debian Edition, because of its great application menu. This menu allows you to search for applications to run or install, and also browse through categories as in the traditional menu. I add dockbarx for a good application launcher / window list, similar to that of Windows 7 and less toy-ish than that of Unity. I put that on the left side of the desktop. Finally, I use AWN as a notification area. These are both available from the webupd8 ppa. The finished desktop looks something like the attached picture:
We have a more capable application launcher and window list on the left, and a notification area in the top right. We do not have a Mac OS X - like global menu. I dislike that because I have not been able to use it together with mouse focus (sloppy focus / focus follows mouse). It is just incompatible with focusing everything the mouse traverses, which is useful to my workflow.

Thursday, 24 June 2010

Dessy on SourceForge

My research project Dessy (Desktop Search and Synchronization) is officially on sourceforge. The project is Free (as in beer and freedom) Open Source Software (FOSS). You can download and use it on Windows, Linux, Mac (not tested), BSD, Nokia N900, and MIDP phones. The software lets you search synchronize individual files and whole filesystems.
Software download sites have also picked up on Dessy: softsea on Dessy r65 and softpedia on Dessy r67 (windows variant), softpedia on Dessy r67 (Mac variant). I hope it works on the Mac, because I have not tested it there.

DiscGolfer for N900, Windows, and MIDP

I have published a piece of software for recording (Disc) Golf scores while on the track. The software is Free (as in beer and freedom) Open-Source Software (FOSS). You can add/remove players and holes, and use numbers 1 to numberOfPlayers and numberOfPlayers+1 to 2 * numberOfPlayers to add/remove throws of players. On the Nokia N900, qwerty... and asd... can be used similarly, to support up to 10 players. On MIDP phones, numbers 1-9, 0 are used and 5 maximum players are supported. Games can be saved and loaded, though on MIDP there is currently no way to export games from the device.

Funny stuff from Kansas City

Funny stuff from Kansas City. Check it out on Picasa Web:

Things to check out in (Ubuntu) Linux

The default setup of Ubuntu is still not on par with Windows or Mac OS X:
  • An icon-based application switcher with previews is missing.
  • The option for a Mac OS X - style global menu bar is coming in the next Ubuntu release.
  • The Ubuntu Menu is clearly separated into Applications, Places, and System, but requires several clicks to get you where you want to go, and does not support search.
  • The File manager does not support quick preview of most file types.
In this post, I offer solutions for these four issues. I believe each is worth trying for anyone using Ubuntu Linux. Most are possible to try under other distributions as well, though you may need to compile things from source or search for alternate binary releases to the ones I present here.

Nokia N900 and disk space

The disk space woes on the Nokia N900 seem to be partially solved by the PR 1.2 release. /usr/games, /usr/share/pixmaps, /usr/share/themes, and a bunch of other things are symlinked to /opt, which by default has the 2GB of space. Also, some games in extras and extras-devel allow you to place game data under MyDocs. An example is Albion.