Nokia Qt SDK

So sehen langfristige Business-Pläne aus: Zur Verblüffung vieler hat Nokia im Jänner 2008 die Firma Trolltech (und damit das plattformübergreifende freie Toolkit Qt) gekauft. Schon damals gab es das Versprechen, daß Qt „irgendwann“ die einheitliche Entwicklungsplattform für alle mobilen Nokia-Geräte sein würde.

„Irgendwann“ ist heute: Die Beta des Nokia Qt SDK wurde veröffentlicht. Es handelt sich um eine Entwicklungumgebung, mit der Programme im Idealfall ein Mal geschrieben und dann für alle existierenden und zukünftigen Smartphone-Betriebssysteme von Nokia veröffentlicht werden können. S60v3 wird unterstützt, S60v5, Symbian^3 (das Betriebssystem des heute vorgestellten N8), Maemo 5 und das noch Monate entfernte MeeGo.

Für Applikationsentwickler ist das ein großer Schritt zur Vereinfachung. In Videos auf dem YouTube-Kanal QtStudios zeigen sich bekannte Softwarehäuser begeistert: Rovio zum Beispiel hat die bereits existierenden Spiele Angry Birds und Bounce Evolution auf das Qt SDK portiert, um sie auf mehr Geräten anbieten zu können. Dieses Video zeigt die Programme auf Maemo und Symbian^3.

Ich bin gespannt, ob diese rein Qt-basierende Entwicklungsumgebung das Ende der guten alten Scratchbox für die Maemo-Entwicklung einläutet. Wär irgendwie schad drum - ich hätt mich grad ein bißchen an dieses Monster gewöhnt. 😉

Richtung, Gefühl und Emmentaler

Ich wurde minigolftechnisch entjungfert heute. Zum ersten Mal in meinem jungen Leben hab ich mich auf die kunstvoll ineinander verschlungenen Bahnen gestellt - und für unser Team den Punktestand mitgeschrieben. 😉

Nein, ganz so passiv war ich nicht, ich hab schon auch brav eingelocht. Im Rahmen einer Abschiedsfeier für unser durch Reorganisationswirren zerschlagenes Team hat mir eine Mischung aus Noch- und Ex-Kollegen liebevoll den Umgang mit den Bällen und dem Schläger beigebracht. Ich kenne jetzt die Grundregeln: zuerst die Richtung, dann das Gefühl. (Irgendwie ist mir dabei auch Vielleicht stimmt dann mit Deinem Gefühl etwas nicht aus Loriots Frühstücksei wieder eingefallen.) Bei den letzten Bahnen gabs sogar einen Ausblick auf Themen des Fortgeschrittenenkurses: Krafteinsatz und vor allem das gekonnte Frühbücken (!) stehen dann im Mittelpunkt.

Der Crash-Kurs hat gewirkt: Ich hatte die meisten Punkte, zumindest in unserer Gruppe. Damit hab ich gewonnen, richtig?

Zur Belohnung gabs ein wirklich gutes Essen im nahen Strandcafé (gebackenen Emmentaler eben). Ich bin also gestärkt für die nächste Reorganisation. 😉

N900’ünüz Türkçe konuşuyor

Aylar süren hazırlık ve testlerden sonra, Mart’ta beklenen oldu: N900 arayüzü için Türkçe çevirisi Uygulama Yöneticisi üzerinden kolayca kurulmaya hazır. Türkçe paketi, topluluk tarafından geliştirilen ve test edilip, Extras deposunda sunulan ilk çeviri oldu. (Diğer diller üzerinde çalışılıyor, fakat henüz testler tamamlanmadı.)

Peki bu, Türkçe konuşmayanlar için neden önemli? Nokia’nın N900’ü sadece az sayıda seçilmiş pazar için tasarlandı. Cihazın sistem ayarlarında seçilebilir dil listesi, Symbian’da olduğundan çok daha az.

Özellikle Türk kullanıcılar, ülkelerinin seçilmiş pazarlardan biri olmadığını, dolayısıyla kullanıcı arayüzünün Türkçe desteği olmayacağını farketmekten memnun kalmadı. Kasım 2009’da Maemo forumunda bu konuda ilk tartışmalar başlamış oldu. Önce, kullanıcılar Nokia’yı Türkçe dilinin desteklenmesinin mantıklı bir fikir olduğuna ikna etmeye çalıştı. Cihazı Türkiye’de dağıtmak planlarda olmasa da, Türkçe konuşan çok sayıda insan Nokia’nın asıl pazarı olan Avrupa Birliği ülkelerinde yaşıyordu, bu da Türkçe çevirisi için geçerli bir sebepti. En azından topluluk böyle düşündü.

Kısa süre sonra, Aralık ortasında, Aranel Surion Nokia’yı beklemeyi bırakıp, topluluk destekli bir çeviri yapmaya karar verdi. Sonuçta, bu özgür bir işletim sistemi değil miydi? Bu sırada, Türkçe klavye düzeni ukeyboard projesinin bir parçası olarak zaten destekleniyordu.

Yaklaşık bir buçuk ay kadar sonra, Şubat 2010’un ilk günlerinde, ilk beta sürümleri depolardan indirilmeye sunuldu. Bu paketler daha sonra resmi ve stabil “Sürüm 1.0” olarak, Mart ortasından itibaren kullanılmaya başlandı.

Türkçe çevirisi, birkaç sebepten ötürü önemli. Elbette, Maemo topluluk potansiyeline Türkçe’yi ana dili olarak kullanan 65 milyon insanın eklendiği gerçeği var. Fakat bu bize çok daha önemli şeyleri gösterdi, özgür bir işletim sistemi, üreticisi tarafından alınan pazarlama kararlarından bağımsız olabiliyordu. Üstte de belirtildiği üzere, Türkçe sadece başlangıç oldu. Bulgarca, Macarca, Yunanca ve bir çok dilin beta sürümleri şimdiden hazır, ve bu pazarların hiçbiri Nokia tarafından hedeflenmemişti. Topluluğun özgür olması, sadece yazılımı değil, pazarlama stratejilerini de etkiledi. Bu, ‘sadece’ bir çeviri gibi görünen bir şeyden bahsettiğimizde, kolayca gözden kaçırılabilir bir gerçektir.

Ekran görüntüleri Aranel Surion’un blogunda mevcut. Türkçe Maemo/Meego hakkında daha fazla bilgi için meegoturkiye.org (yine Aranel Surion tarafından) adresini ziyaret edebilirsiniz.

A2DP mit PulseAudio auf Gentoo

Vor ca. zwei Jahren habe ich hier eine Anleitung zur Steuerung von Bluetooth-Headsets unter GNU/Linux veröffentlicht. Die ist mittlerweile nur völlig veraltet - jedenfalls funktionierts bei mir so schon lange nicht mehr. Irgendwie hat mich das gewundert: Sowohl mein N900 als auch der Ubuntu-Laptop „tun“ brav mit meinem Bluetooth-Kopfhörer (sogar mit dem A2DP-Profil, also in wirklich guter Tonqualität). Warum also kanns der große Desktop-Rechner nicht?

Heut hatte ich ein bißchen Zeit zum Überlegen und hab die Lösung gefunden: Sowohl das N900 als auch Ubuntu verwenden PulseAudio als Soundserver. Ich hab mich da unter Gentoo noch nicht drübergetraut. Pulseaudio ist neu und man kennt ja die Sprüche von wegen „never change a running system“ und so … Naja. Heut laß ich mal Sprüche Sprüche sein und change mein system:

Pulseaudio ghört natürlich mal installiert und das „pulseaudio“ USE-Flag systemweit gesetzt. (Letzteres kann das Neukompilieren einiger Programme notwendig machen.) Außerdem braucht man in der Regel (und diesen Hinweis hab ich nirgendwo gefunden) das Paket alsa-plugins. Danach kann man schon mal mit dem Befehl
eselect esd list
die Optionen für den Sound-Daemon anzeigen lassen.

(Wahrscheinlich lautet die Ausgabe

Available ESounD implementations:
[1]   ESounD original *
[2]   PulseAudio

In diesem Fall schaltet
eselect esd set 2
um auf PulseAudio.)

Nutzen tut das aber noch nicht viel - zumindest bei mir nicht. Ich mußte den vielen nicht-pulseaudiofähigen Applikationen noch eine virtuelle ALSA-Soundkarte einrichten, die dann aufs PulseAudio-System zeigt. (Das ist der Grund, warum alsa-plugins installiert werden muß: Dort befindet sich dieser ALSA-Treiber.)

Um diese „Pulse-Soundkarte“ unter ALSA einzurichten und als Standard zu aktivieren, hält man sich am besten an diese Anleitung aus dem PulseAudio-Wiki. Ich habe eine Datei ~/.asoundrc entsprechend dieser Anleitung so angelegt:

pcm.!default {
type pulse
}
ctl.!default {
type pulse
}

Damit ist die angebliche Soundkarte „pulse“ das Standardgerät für alle Programme, die eine ALSA-Umgebung erwarten. Blöd nur, daß auch PulseAudio zur Steuerung der lokal vorhandenen Hardware auf ALSA zugreift und sich damit selbst als Standardgerät anspricht, ohne jemals meine wirkliche Soundcard zu finden. Eigentlich sollte (laut allen Anleitungen) HAL dieses Problem selbständig lösen - tut es aber bei mir nicht. Daher hab ich in der Datei /etc/pulse/default.pa die Abschnitte zur automatischen Konfiguration auskommentiert und die manuelle Konfiguration mit der ausdrücklichen Angabe der Hardware aktiviert.

Folgende Abschnitte sind also raus aus meiner /etc/pulse/default.pa:

.ifexists module-udev-detect.so
load-module module-udev-detect
.else

(… und das nachfolgende „.endif“)

Dafür hab ich folgende Zeilen hinzugefügt (bzw. aktiviert - sie waren nur auskommentiert):

load-module module-alsa-sink device=hw:0,0
load-module module-alsa-source device=hw:0,0

Ob die Werte hinter device=hw: mit „0,0“ wirklich richtig angegeben sind, verrät der Befehl
aplay -l
Er listet die vorhandenen Karten- und Gerätenummern auf; in der Regel wird auf einem einfachen Desktop-System „0,0“ schon der passende Wert sein.

PulseAudio greift auf die BlueZ-Bibliotheken zu und kommuniziert so mit einem verbundenen Bluetooth-Gerät. Funktioniert prächtig. Darüber hinaus ist es ein leistungsfähiger Soundserver (dazu wurde es ja eigentlich entwickelt), der es mir ermöglicht, jedem laufenden Programm sein Ausgabegerät und seine individuelle Lautstärke zuzuweisen. Also beispielsweise: Der Porno im Browser wird über die Bluetooth-Kopfhörer gespielt, während der Media-Player den Raum mit leise Hintergrundmusik durch die externen Boxen beschallt. Alles ist möglich. 😉

Xorg-Server Updates

Aus der beliebten Kategorie „Note to Self“:

Wenn man (so wie bei Gentoo) sein System selbst kompiliert, erfordert ein Update des Xorg-Servers hin und wieder auch das Neukompilieren aller bereits installierten Treiber.

Welche Pakete das sind, erfährt man durch den Befehl
qlist -I x11-drivers/.
Ich kann mich erinnern, daß ich beim letzten Mal Probleme hatte, weil ich genau diesen Hinweis im Log übersehen hab.

ABBA Wood

Ein Fuzo-Indio spielt am Praterstern „Fernando“ von ABBA. Solo auf der Regenwald-Panflöte. Sein Stamm hat ihn offenbar verlassen. Die CD gäbs aber zu kaufen. „ABBA Wood“?