a humble suggestion
Seriously. Talk Like A Pirate Hour: it's the new hotness.
Free Software driver for AMD (ATI) RadeonHD released
Last night we have pushed out the initial developers release of the RadeonHD driver for ATI's RADEON R5xx and R6xx chipsets. After a long dark period of no specifications AMD has decided to not only make code but also specifications available to the free software community.
So far we have seen specifications to do mode setting and possibly a little bit of video overlay. The specs cover most of what is needed to enable different outputs (VGA DAC, TMDA for DVI and LVDS for panels) TV out is not yet on the plate.
Also they allow to implement video overlays (classical color key overlays).
People are wondering if AMD's move was a one time PR blitz to muffle their biggest critics in the free software community.
My personal take on this is: I don't think so.
AMD has a long history of successful cooperation with the free software community. This cooperation was crucial for the success of their x86-64 project (we are only beginning to see versions of MS Windows appear which are 64bit capable).
In the past 4 month our X Developer Team at SUSE has worked extensively with AMD to make these things happen. We have only been dealing with people form AMD with technical background - no marketing people were involved.
Everyone involved has shown a great willingness and worked hard during long hours to do whatever it takes to open up the
specs and provide whatever it takes to get a free driver going.
Yes, we did encounter delays. Most of them were due to fact that what has happened here is a novelty in the graphics chipset
industry. Tools had to be implemented, processes had to be created, legal issues had to be resolved.
How did it all start?
Around mid of April (4 1/2 month ago) I have been contacted by AMD and asked to put together a proposal how an open source driver for the latest generation of ATI hardware could become reality. Our team wrote a proposal which included as two major goals:
- involving the free software community in the development process early on
- make chipset documentation available to the community with no strings (read NDA) attached.
Linux Vendors
To most Linux OS vendors like us at SUSE the unavailability of a free driver has created a huge burden. At SUSE we have made the conscious decision to not ship any non free software with out base product (even without this policy in place the GPL violation issue in the kernel would have prevented us as an OS vendor to ship the proprietary driver with our base product).
This however meant we were not able to ship a proper driver for a widely used range of hardware with our product.
We at Novell as a company we worked extensively with ATI and later on with our partner AMD to explain the dilemma and find ways to change this situation. Most of these discussions have not taken place in the public eye. After all it be bad style if business partners gave each other advice in public on how to do business.
Why did it happen right now?
Changes in paradigms like what we have seen here don't happen over night. As for any commercial entity there needs to be some business justification as such steps require effort and thus cost money.
Business justifications evolve either when the business model of a company or the business environment changes.
Here both things have happened:
- ATI has been purchased by AMD. AMD had a different business model in the Linux and free software market than ATI had.
- The business environment has changed: the b2b market (and this has been the market where conclusive data existed in terms of how much it is paying the bills) requires a free driver more than before.
To me AMD's move looks like a great opportunity. For the first time in many years graphics chipset documentation is made available to a broad public without the requirement of any NDA.
In fact I have a hard time to remember when I was able to download graphics chipset specs from a manufacturers web site without having to go through a pile of paper work.
AMD puts itself somewhat ahead of other graphics chipset vendors: In contrast to other free drivers for which only code but no documentation exists this approach allows a broad development community to poke bits and registers in crazy new ways to try out crazy things things that are not on the plate of those who are paying for the driver development.
Even if we won't see all results from these hacks appear immediately in the next release of the driver I expect it to kick off a lot of new development.
For a long time our community was somewhat cut off from the the information what state-of-the-art hardware was capable of. New features were limited to what hardware manufacturers - even those who developed free software drivers - considered to be a must-have for their drivers. This all is going to change now.
frantically moving to gnome 2.20.0
So far, it's proving to be rather light work, and really not all that frantic, although we do intend to finish this update very soon. The mail Gary sent last week has the details.
The fine work done by the GNOME release team makes this relatively easy, so many thanks to them.
Zattoo unter openSUSE 10.2 64-Bit
Wie auf heise online berichtet ist Zattoo jetzt auch in Deutschland frei verfügbar. Leider aber nur als 32-Bit-Programm und mit einer etwas merkwürdigen Installationsanleitung.
Zum Herunterladen ist zunächst eine Registrierung notwendig. Entgegen der Aussage auf der Webseite muss man aber eigentlich noch nicht mal eine gültige Emailaddresse verwenden, da keine Aktivierungsemail verschickt wird, sondern die Addresse wirklich lediglich zur Benutzeridentifikation verwendet wird.
Die Installationsanleitung verwundert etwas, da sie unter anderem möchte, dass man XULRunner in das Zattoo-Verzeichnis installiert, obwohl dieses eigentlich bei openSUSE mitgeliefert wird. An den in der Anleitung angegebenen von Hand angelegten symbolischen Links kommt man leider nicht vorbei. Außerdem sind im RPM leider keine Abhängigkeiten gepflegt. Deshalb müssen einige Bibliotheken leider von Hand auf 32-Bit umgestellt werden.
Bevor man das Zattoo-RPM installiert sollte man zunächst sicherstellen, dass man die folgenden Libraries in 32-Bit installiert hat. Es kann sein, dass weitere Bibliotheken benötigt werden, aber diese sind mir aufgefallen. Um ein Paket in 32-Bit zu installieren muss man im YAST Packetmanagment im Reiter Version die 32-Bit Version (i586) auswählen. Ist das Paket schon installiert kann es notwendig sein das Paket auch noch von Hand auf "Aktualisieren" zu setzen.
- libgnomeui-32bit (Ok, die ist immer 32-Bit)
- gtkglext
- mozilla-xulrunner181
- faad2
Nachdem das Zattoo-RPM installiert ist müssen die symbolischen Links hinzugefügt werden. Möchte man die XULRunner-Bibliothek von openSUSE verwenden sehen die Links allerdings etwas anders aus.
sudo ln -s /usr/lib/xulrunner-1.8.1/libgtkembedmoz.so libgtkembedmoz.so.0d
sudo ln -s /usr/lib/xulrunner-1.8.1/libxpcom.so libxpcom.so.0d
sudo ln -s /usr/lib/xulrunner-1.8.1/libmozjs.so libmozjs.so.0d
sudo ln -s /usr/lib/libplds4.so libplds4.so.0d
sudo ln -s /usr/lib/libplc4.so libplc4.so.0d
sudo ln -s /usr/lib/libnspr4.so libnspr4.so.0d
sudo ln -s /usr/lib/xulrunner-1.8.1/libxul.so libxul.so.0d
Anschließen muss man noch den Linker auf die im Zattoo-Verzichnis liegenden Bibliotheken und Links hinweisen.
sudo /sbin/ldconfig /usr/lib/zattoo/
Bei Auslassen dieses Schrittes stürzt Zattoo jedesmal ab sobald es anfängt einen Kanal abzuspielen. In der Logdatei ~/.Zattoo/Data/logs/zattoo.errorlog findet sich dann eine Meldung, dass eine bestimmte Funktion nicht gefunden werden konnte.
Persönlich finde ich es auch noch praktisch das Programm als zattoo verfügbar zu machen, da zattoo_player doch etwas lang zum tippen ist und zattood ein Tab-Complete verhindert.
sudo ln -s /usr/bin/zattoo_player /usr/local/bin/zattoo
Anchließen hat man einen funktionierenden P2P-Fernseher der auf den ersten Eindruck sehr gut zu funktionieren scheint.
Office 2.
I'm just back from the Office 2.0 conference in San Francisco. I was participating in a panel discussion about Document Formats:
Very nice crowd the Office 2.0 guys. They really taught me to think more about collaboration.
Many thanks for the nice presentations. (And for the insight that most of you use OpenOffice.org to convert between HTML and the other file formats ;-))
Ahh -- and almost forget. I will look into OpenSAM. Promised. Sounds really like a good idea for OpenOffice.org supporting it.
Howto use Git and svn together
In these days I’ve heard lot of rumors around Git. After reading some manual/tutorial/guide I discovered that it can be really useful, especially if you spend lot of time coding off-line (that’s my situation).
This is a really small howto that describes how to work on a project versioned with svn (maybe taken from KDE repository ;) ) using git.
What’re the advantages?
Since Git is a distributed revision control system (while svn is a centralized one) you can perform commits, brances, merges,… on your local working dir without being connected to internet.
Next time you’ll be online, you will be able to “push” your changes back to the central svn server.
Steps to follow:
You’ve to:
- install git and git-svn
- create the working dir:
mkdir strigi - init your git working dir:
cd strigi && git-svn init https://svn.kde.org/home/kde/trunk/kdesupport/strigigit-svn init command is followed by the address of the svn repository (in this case we point to strigi’s repository) - Find a commit regarding the project (you can get it from cia version control). Warning: the command git-log will show project’s history starting from this revision.
- Perform the command
git-svn fetch -rREVISIONWhere REVISION is the number obtained before. - Update your working dir:
git-svn rebaseNow you’ll be able to work on your project using git as revision control system.
To keep update your working copy just perform:
git-svn rebase
You can **commit your changes ** to the svn server using the command:
git-svn dcommit
In this way each commit made with git will be “transformed” into a svn one.
Solve git-svn rebase problems
While adding new cool features to your program, you may experiment some
problem when synchronizing with the main development tree. In fact you have to
commit all local modifications (using the git-commit command) before
invoking git-svn rebase.
Sometimes it isn’t reasonable since your changes are not yet ready to be committed (you haven’t finished/tested/improved your work). But don’t worry, git has a native solution also for this problem, just follow these steps:
- put aside your changes using the command:
git-stash - update your working copy using:
git-svn rebaseas usual - take back your changes typing:
git-stash apply - clear “the stash” typing:
git-stash clearAfter the first step all your uncommitted changes will disappear from the working copy, so you’ll be able to perform the rebase command without problems.
For further informations read git-stash man page.
That’s all.
A special mention goes to Thiago Macieira for his help.
Automatically Upgrade Your Wordpress
Today I upgraded my Wordpress from 2.2.1 to 2.2.2. They didn't change many things, it was only a security update. So, being not a major update, it is possible to copy the new wordpress files overwriting the old files from your installation, without being necessary to update your database. This worked well, but here I want to point the other method to update your wordpress blog, using a plugin that will upgrade your blog automatically to the latest version. The plugin can be downloaded here and the detailed instructions to using it are here.
The steps which the plugin does;
1. Backs up the files and database and makes them available for
download.
2. Downloads the latest files from http://wordpress.org/latest.zip and
unpack it.
3. Puts the site in maintenance mode, deactivates all active plugins
and will enable them at the end.
4. Upgrades wordpress files and give you the possibility to upgrade the
database.
5. Re-activates the plugins.
If you don't want to see/use the intermediate steps let the plugin to be run in an automated mode, and you don't have to carry about, you will see only the final page and you are invited to check your blog.
That's all .
Minor problems in my case:
1. the plugin had no rights to write in wordpress install directory, so I had to fix this first, and rerun the update
2. all plugins were activated but only the sidebar plugin was not activated at the end, so, it was necessary to activate it manually
Strigi gains full Xesam queries support
As I said in this previous post, Strigi’s Xesam support was half-done since XesamUserSearchLanguage wasn’t yet handled. Well, this is no longer true… ;) In these weeks I’ve been working on XesamUserSearchLanguage support. Ehm… to be honest, I’ve been fighting with Bison.
But in the end I tamed the beast and now Xesam support in Strigi is full.
IMHO XesamUserSearchLanguage can be considered more important than XesamQueryLanguage since common users will write queries in this way.
As reported on the project page: {% blockquote %} It is [XesamUserSearchLanguage] designed as an extended synthesis of Apple’s spotlight and Google’s search languages. {% endblockquote %}
These are some possible queries (examples taken from freedesktop site):
-
_type:music hendrix_will return all music items related to hendrix -
_type:image size>=1mb tag:flower africa_will return all pictures displaying a flower greater than 1 Mb and related with africa
Technical aspects
The Xesam’s UserSearchLanguage query –> Strigi::Query object conversion is made using a hand-written scanner and a C++ parser created by Bison.
You don’t have to worry if you don’t have Bison installed on your system since all parser generated code is already put into svn. In these days, as soon as I’ll have some spare time (when?!), I’ll write another post about open-source scanner and parser generators.
By now I would like to thank Andreas Pakulat (developer of KDevelop) for his help with parser generators.
s/evento/acontecimiento/
s/evento/acontecimiento/. Por favor.
(En el evento que lo de que hablas sea un evento sigue usando evento.)