Pages

Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

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.

Conclusion
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

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.

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.

Friday, 29 May 2009

verminds-alarm-clock 0.5.4.4

verminds-alarm-clock is now at version 0.5.4.4.
Changes include removal of the save button, since the program now saves settings on exit. Also, all actions on the user interface cause the alarm thread to refresh, meaning that your changes now reliably take effect instantly.
Get the new version here:

Monday, 18 May 2009

PyGTK - the easy way

Someone with a bit of free time made an installer that has everything needed to run PyGTK on windows. So, now people interested in an alarm clock that uses a media player for playing the alarms, can just download and install this, and then unzip and double-click my alarm clock. This 2-step process replaces the previously mentioned 6-step process.
Edit: It would seem that the installer cannot be downloaded any more. Therefore, I looked for and found another one. Enjoy.

Thursday, 14 May 2009

Verminds Alarm Clock 0.5.4.2

Changelog:
0.5.4.2
  • Background the player process

Links to packages:
See previous posts for installation instructions.

Wednesday, 13 May 2009

Verminds Alarm Clock 0.5.4.1

The alarm clock is now version 0.5.4.1. Changes:
  1. Works on Windows, requires the .svg icon in the same folder as the .py. Further requirements:



  2. Fixed song selection file chooser associating with player selection
  3. Playing the alarm now hangs the alarm clock, until the player command returns. This is because I use the subprocess package for launching the player, this was the only way to get filenames with spaces in them to behave correctly on Windows. To be fixed.
Packages available:
Installation instructions:
  • Linux: double-click on the .deb, follow instructions. The alarm clock can be started from the Accessories submenu. The console command verminds-alarm-clock.py also does the job.
  • Windows: Install the requirements mentioned above. Then extract the .zip and double-click verminds-alarm-clock.py to run.