16
I Use This!
Activity Not Available

News

Posted over 13 years ago
This is a follow-up to the previous story about am7xxx devices. The 0.1.2 stable release of libam7xxx is out, and some binary Debian packages are available as well. Check out also the am7xxx page on Ohloh. The devices supported in this release are: ... [More] Acer C110. Philips/SagemCom PicoPix PPX 1020 (this one has not been tested as we —the libam7xxx developers— haven't got any of these, but it should work fine). This release comes with a display daemon based on libav, it is called am7xxx-play and you can use it to: display your X desktop: am7xxx-play -f x11grab -i :0.0 display the content of a single X window with a script like this one: #!/bin/sh set -e WIN_INFO="$(xwininfo)" X=$(echo "$WIN_INFO" | sed -n -e "/^[[:space:]]*Absolute upper-left X:[[:space:]]*/s///p") Y=$(echo "$WIN_INFO" | sed -n -e "/^[[:space:]]*Absolute upper-left Y:[[:space:]]*/s///p") WIDTH=$(echo "$WIN_INFO" | sed -n -e "/^[[:space:]]*Width:[[:space:]]*/s///p") HEIGHT=$(echo "$WIN_INFO" | sed -n -e "/^[[:space:]]*Height:[[:space:]]*/s///p") set -x am7xxx-play -f x11grab -i ":0+${X},${Y}" -o video_size="${WIDTH}x${HEIGHT}" display the output of a framebuffer device: am7xxx-play -f fbdev -i /dev/fb0 display the output of a v4l2 device: am7xxx-play -f video4linux2 -i /dev/video0 -o video_size=640x480,frame_rate=30 display any files supported by libav (but note that the framerate is not accurate in this case and audio is not decoded at all): am7xxx-play -i http://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_640x360.m4v Keep in mind that am7xxx-play is just a prototype, I think it is not worth adding audio decoding and audio/video synchronization to it. It is interesting to note that the freedom to send images of arbitrary resolutions to the projectors exposed some bugs in the devices firmware. So if you get garbage output try replugging the device and changing the dimensions of the image you are sending for display. Where to go from here? In the long run I think that we could write a libav output format, or —maybe better— a GStreamer video sink based on libam7xxx. GStreamer looks interesting to me, and maybe keystoning can be implemented as an element of a GStreamer pipeline too. I'll ask GStreamer devs about that. On linux systems, writing a kernel driver is also a possibility, the first easy choice would be writing it as a v4l2 output device accepting JPEG images or raw NV12 frames, this way v4l2sink from GStreamer could be used immediately. I don't know if the framebuffer way is viable, since we would have to do JPEG encoding in userspace anyways; I'll ask linux-media for advice. But if we want portability (GStreamer runs on Windows too, doesn't it?) the linux kernel driver becomes low priority. There is also the issue of having some display-extension-mode, right now am7xxx-play is enough if you are only interested in a clone of the current screen, but what if we want another screen displayed by the projector? I read the Xvfb might go away in future Xorg versions and that we should use xf86-video-dummy, but I've just learned about it, I have to see how to use it, if it supports RANDR and stuff like that. Call for help If any Debian Developer is willing to sponsor the libam7xxx package for upload to the Debian archive, let us know, I'll try asking on debian-mentors as well. The packaging bits are in the libam7xxx debian branch. If you are interested in sponsoring a port to Android/Linux, get in touch, we could use some (even old) Android device with USB Host support and maybe some other projectors to test multi-device operation of libam7xxx. If you'd like to have an Open Projectors project where you can find Open Source software to use with video projectors, speak up! I'd like to hear some opinions before I start putting time on that. The L.A.S.E.R. Tag Linux port is an example of the kind of software I am talking about. We are in the #am7xxx channel on the freenode IRC network. Side Note: the development of am7xxx-play brought also a little fix for libavdevice. [Less]
Posted over 13 years ago
After having skipped FOSDEM in 2011, I wanted to go this year, especially because of the Golden Delicious stand where we had the OpenPhoenux GTA04 on show. A lot of people came around and were excited that someone picked up where Openmoko had left in ... [More] 2009. The GTA04 is the true successor of the FreeRunner and I strongly invite all of you to support this movement by buying one. You will not get a more open mobile phone anywhere else. I know that Brussels is always a bit colder than Frankfurt, so I tend to carry appropriate clothing… what I didn’t expect though was that it was frickin’ -20 on saturday. I have never been freezing more in my life. Lets cross fingers that I won’t come back home with a cold. Especially due to the crazy public transportation situation. The Deutsche Bahn managed to accumulate a one hour delay on my way to Brussels – that’s ok, however they managed to crash the engine in Aachen on my way back. So badly that we had to switch to a regional train and switch again in Cologne. Man… *sigh* On to some good news… another thing I didn’t expect was kind of an Openmoko family reunion. It was amazing to find Jan Lübbe, Stefan Schmidt, Daniel Willmann, Harald Welte, and even Rasterman hanging around at FOSDEM. That was just great. I also happened to share my hotelroom with Boudewijn which was unexpected but again very cool. So despite the freezing, it was a great FOSDEM for me and I’m looking forward to go again next year, perhaps bringing Sabine and Lara Marie as well. [Less]
Posted over 13 years ago
I was looking into compact/mini/pico/handheld projectors, and I obviously wanted something I could use under GNU/linux, there were basically two choices: Pick up a projector with VGA/HDMI: Operating System independent. Pick up a USB projector: ... [More] shipped only with drivers for MS Windows (and sometimes for MacOSX too). Since the first choice was more expensive and I verified that writing a driver for the second case wasn't too hard, I picked up an Acer C110, I paid it about 160 €, but you can find it even cheaper somewhere else, grr. AM7X or AM7XXX The C110 is based on an Actions Micro AM7212P IC and uses USB bulk transfers with a simple packet based protocol on top to exchange data and commands to and from a host system and the AM7XXX chip. Other projectors using the same protocol are: Acer Series C pico projectors (C20 C110 C112 C120) Philips/SagemCom PicoPix projectors (PPX 1020, PPX 1230, PPX 1430, PPX 1630) CEL-TEC MP-01 Other unbranded projectors These projectors use the USB Vendor and Product IDs 1de1:1101 in mass storage mode and 1de1:c101 in display mode. Some DPFs too (from Hannspree for instance) are known to use these chips but I don't know yet if they can be put in USB display mode. I will refer to these devices as either AM7X or AM7XXX devices. Open Source driver for AM7XXX devices Reto Schneider and I are reverse engineering the USB protocol used by these devices, using USB dumps and disassembling the Windows device driver, and a basic but already usable library to communicate with those AM7x based projectors can be found in libam7xxx. Reto was the first to start working on that, in the form of acerc11xdrv. So you can now get these projectors to work wherever libusb-1.0 works, that means you can use them with your phone if it can run GNU/Linux for instance, or even Android/Linux but I don't have an Android device to verify that. For now all the communication about the development is happening on the #am7xxx IRC Channel on the Freenode Network, come find us, and let us know if you want to help: like hosting a mailing list for us, or sponsoring some hardware (USB projectors you want to use freely or devices you want to use these projectors with). Side note: the user manuals of these devices sometimes refer to the functionality of displaying images over USB as Display over USB (or DoUSB), this definition is used on a lot of projectors but I don't know if it refers always to the same protocol/mechanism to send images over USB. Linux running ON other projectors Incidentally, when I was doing my pre-purchase market research, I ran into several projectors which —unsurprisingly— are running a Linux system themselves (linux kernel, busybox, etc.), here is a summary of what I found out: Samsung SP-H03 (not based on AM7X): the firmware image can be downloaded here, and Samsung is providing the source code for the Free Software used in it, you can find it on opensource.samsung.com (AFAIR Harald Welte gave them some directions about GPL compliance, right?). This could be an interesting device if you want to run your own code on a projector. Acer K330: based on a chip of the same am7x family as the C110. The firmware image is available for download and it does contain the Linux kernel and other Open Source software, but the source code is not available, neither Linux or the GPL are mentioned in the downloadable documentation; I am going to do more research on this later to see if Acer is in compliance with the GPL. Open Projectors? Having the ability of processing an image before projecting it —either on an external system, or on the projector itself— opens up to a lot of possibilities, and I can foresee an increase of AR applications using projectors; so, do you think there is enough interest for an Open Projectors project? A place where we can share the techniques (keystone correction, or some more sophisticate anamorphic transformations by the means of a Camera-Projector system) and the Open Source software implementing them, all in a single place. Get in touch if you have any ideas about that. [Less]
Posted over 13 years ago
Every time I read AOSP in the news I think something is not quite right. Here is a faint attempt to set things straight —with some humor, don't take is too seriously—: here is aosp.it. And I don't even have an Android device... yet. But seriously ... [More] , if anyone is interested in the aosp.it domain for some Android/Linux, Open Source related community site (maybe the very Italian one?), just let me know, I may be willing to concede it, if I decide not to start one myself. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License Attached images:  [Less]
Posted over 13 years ago
Information Technology has seen a really crazy year. Among all the smaller incidents, the big bangs involved Nokia partnering with Microsoft, abandoning Maemo, HP driving with WebOS against the wall, patent lawsuits everywhere. What that means for ... [More] FOSS-lovers is clear… you can’t trust any company to continue working on anything. Business demands are what counts in the world of mass markets. If you want longterm support for a platform, your best bet is to build a community around it. But you will also want to work on hardware support otherwise you’ll run into the next dead end. To be honest, right now I don’t see much of a future for any mobile Linux-inspired platform other than the mutation called Android. But that’s not much of a problem per se. The smartphone market is crazy. To compete in that world, you have to give up on freedom. But is the mass market really what we want? Is it what mobile Linux needs? I don’t think so. There are still huge opportunities for using Linux-based mobile software platforms in niches such as machine2machine communication, home automation, research, teaching, and more. That’s where a service-based middleware like FSO comes into the game: for special interests. However, even niche-adoption is hindered without a minimal set of applications. And that is where we still lack: Even special interest people want to use their smartphones to manage contacts, browse the web, send mails, play media, etc. We don’t have an integrated software stack with a complete set of UI applications that would cover these needs. Openmoko worked on one, but failed. Nokia worked on multiple ones, but gave up (multiple times). What else do we have? With HP’s recent announcement about releasing WebOS as open source, the game may have changed. If we could use the WebOS application stack on top of the FSO middleware, we may have a real chance to get something great and usable – and complete – soon. I have always liked the WebOS UI. If it’s a bit slower than other UIs, who cares as long as it is free? [Less]
Posted over 13 years ago
Tempus fugit. I can tell you. Even more so, if you have a baby. I must confess I somewhat underestimated the impact the baby would have on my spare time. In some weird mindset I really thought I could continue working as usual on my open source ... [More] projects… as we know now I couldn’t. I completely lost track and have to catch up with all changes that happened over the last 6 months. The first bunch of weeks with the baby were really demanding. I mean, really. She screamed a lot and could only sleep in our arms. Boy, were we tired. We carried her around so much we have Schwarzenegger arms now. But it’s great to see her developing, err… growing up, of course. With 6 months now she is a very interested baby, eager to learn new things and always trying to become more mobile. Luckily both my wife and me are self-employed. It so much easier when you can skip some hours at the usual start of the workday and also at the usual end. Of course, the work needs to be done, so we have to compensate when she’s in bed. But still, it’s very satisfying being able to see her twice a day for a couple of hours — not all families have this luxury. Plus the existence of our two invaluable grandmas… it’s great. Company-wise, the Lauer & Teuber GbR had an amazing year with many interesting iOS (and some Android) projects. We have reached the maximum we can do with the two guys we are, so we decided to grow and hire our first regular employee who’s going to start in 2012. We also rented another office and are already moving. I’m slowly getting back into some of my beloved open source projects… it’s great that work on e.g. FSO did not stall at all, but continued while I was “away”. Last week, I attended the 3rd installment of the Open Hard- and Software Workshop in munich, where the latest development of the very promising GTA04 mobile phone was presented. I had a talk about Vala which was well received. By the way, my Vala-book plans are not dead yet… just in parking position Next week I’m attending the FSOSHRCON, a joined conference with the people working on the freesmartphone.org middleware and the SHR software. It’s going to be great seeing all the folks again, concentrating a full weekend to agree on some important issues laying the path forward for the next year. Can’t wait to be there. What’s left is the feeling that an extremely busy year has passed by, spiced with incredibly intense emotions. I’m a happy man and I love my life. I’m given exciting opportunities, but also challenges – and I plan to accept everything All the best to you guys! [Less]
Posted over 13 years ago
In Debian Unstable the transition to Gnome 3 is taking place; when Gnome 3.0 firstly came out some unnamed geeky users complained loudly about the design decisions of the development team to push strongly towards gnome-shell as a new default UI; ... [More] gnome-shell was designed focusing on usability (usability is a metric relative to a certain target audience BTW) and simplicity, hiding a lot of details from the users. Obviously you can never make everyone happy so some of us simply happened to be "out of target": you know us computer people (*cough cough*), we like to be in charge and control The Machine... I must admit I still don't have a definitive opinion about the gnome-shell concept, for now I just know that it does not suit me; I am going to try it eventually, maybe I'll get used to it, but in the mean time I need my desktop back just like I shaped it through the years; can this be done without loosing all the good Gnome technologies (Empathy over all of them)? To be completely fair I have to say that there is little to complain about with Gnome developers, we can still get our good old GNOME desktop fully back by using the fall-back mode based on gnome-panel and live happily ever after, let's take a look at how this can be accomplished. NOTE: GNOME people state that the fall-back mode is meant for systems with older graphic cards which cannot run gnome-shell, however it can very well be seen as a good opportunity for those who do not want to run gnome-shell just yet. Getting back to the topic: some minor touches are needed to make the panel look more like what we are used to, maybe some of these settings could even become default for fall-back mode, we'll see. First, enable fall-back mode (on Debian there is a dedicated session you can choose from the Log-in Manager for that) and change some desktop settings, in a terminal type: $ gsettings set org.gnome.desktop.session session-name 'gnome-fallback' $ gsettings set org.gnome.desktop.interface 'menus-have-icons' true $ gsettings set org.gnome.desktop.interface 'buttons-have-icons' true $ gsettings set org.gnome.desktop.background 'show-desktop-icons' true gnome-tweak-tool can be used for some of these settings like shown in the attached images. Then rearrange the applets on the panel as you please (use Alt-RightClick to access the panel properties), and fix the theming using this patch to have a light panel again (against gnome-themes-standard=3.0.2-1): $ mkdir $HOME/.themes $ cd $HOME/.themes $ cp -r /usr/share/themes/Adwaita Adwaita-fallback $ cd Adwaita-fallback $ patch -p1 < $HOME/adwaita-fallback-panel-theme.patch $ gsettings set org.gnome.desktop.interface 'gtk-theme' 'Adwaita-fallback' Some final touches for the Metacity window manager and to the clock applet, and we are all set: $ gconftool-2 --type string --set /apps/metacity/general/focus_mode mouse $ gconftool-2 --type boolean --set /apps/metacity/general/compositing_manager true $ gconftool-2 --type string --set /apps/panel3-applets/clock/custom_format '<span color="#333">%a %d %b</span> <b>%H:%M</b>' $ gconftool-2 --type string --set /apps/panel3-applets/clock/format custom Ah, in the new gnome-panel based on Gtk3 there are still some details to take care of, I hope issues like that will be addressed and that the panel will be supported for quite some time. Attached images:  Attached files:  Adwaita theme patch for fall-back mode [Less]
Posted about 14 years ago
After letting us wait for a bit longer than scheduled (13 days), the hospital initiated the contractions. For the first couple of hours, everything went just perfect, but then the little one got stuck on the way and we had to resort to a cesarean ... [More] section. Lara Marie Lauer was born 8th of June at 04:41 (AM) with 3460 gramms and 49 cm. Mummy was still on intensive care and so they gave her to me. I can’t express the feelings I had in this very moment. I’m still kind of overwhelmed every time I see her. Thanks for all of you who waited anxiously with me and those who prayed for us. The most important tasks for the near future is getting Mummy to recover and Lara Marie to become accustomed to us and the rest of the outside world. Please bear with me if in the next time I’m not as responsive as usually [Less]
Posted about 14 years ago
And now for something completely different… while we are all waiting for my baby to arrive (who was scheduled for 25th of May), she just received her first greeting card – together with a personalized bib and a towel (with integrated hood – pretty ... [More] fancy!) from my good friends at #openmoko-cdevel. Guys, seeing this card was very heartwarming – it means a lot to me that you share my anticipation, thanks a lot! And I’m 100% sure she will appreciate her gifts… now let’s cross fingers it won’t take much longer… waiting is the hardest part of it Yours, Mickey. [Less]
Posted about 14 years ago
I had been experiencing errors when cloning the OpenEZX kernel with git and I was finally able to solve the issue on the server, I am putting some notes here to save some time to someone else. Here's how the story started: ao2@jcn:~$ git clone ... [More] git://git.openezx.org/openezx.git Cloning into openezx... remote: Counting objects: 1954118, done. remote: fatal: unable to create thread: Resource temporarily unavailable remote: aborting due to possible repository corruption on the remote side. fatal: early EOF fatal: index-pack failed Looking at the server statistics with htop confirmed this was happening because git was running out of memory on the server; it is worth noticing that the issue were not present when cloning other projects from the same server (Linux kernel projects as well, hence with a comparable size in principle). With the following points in mind: The server hosting the remote repository has about 1.6 GiB of RAM, but no swap space; In OpenEZX we are using TopGit to track topic branches, which generates tons of merge commits and makes the git repository heavier; my thoughts went like: during a clone operation some compression of git objects occurs; because of the lack of swap space the compression operation must fit in memory; because of TopGit the compression operation on this repository was more onerous than on the other projects, causing the memory outage. So some optimization on the repository about objects compression was needed. The first thing that came to mind was git-gc but that was failing as well: openezx:~# cd /home/git/repositories/openezx.git openezx:/home/git/repositories/openezx.git# git gc --aggressive Counting objects: 1954118, done. Delta compression using up to 2 threads. warning: suboptimal pack - out of memory02) fatal: Out of memory, malloc failed (tried to allocate 602234 bytes) error: failed to run repack The repack operation is performed by git-pack-objects, so after Reading The Fine Manual I was able to make git-gc run successfully using these steps: openezx:/home/git/repositories/openezx.git# git config pack.thread 1 openezx:/home/git/repositories/openezx.git# git gc --aggressive Counting objects: 1954118, done. Compressing objects: 100% (1936802/1936802), done. Writing objects: 100% (1954118/1954118), done. Total 1954118 (delta 1618716), reused 0 (delta 0) note that using only one thread makes the process quite slow. In some other cases it could be useful to change also the pack.windowMemory config option, but a relation involving the address space, the available memory and the number of threads has to be found, so since just using one thread worked fine for me, I took that as the minimal fix for my problem. Bottom line: cloning the repository is now back working: ao2@jcn:~$ git clone git://git.openezx.org/openezx.git Cloning into openezx... remote: Counting objects: 1954118, done. remote: Compressing objects: 100% (318086/318086), done. remote: Total 1954118 (delta 1618716), reused 1954118 (delta 1618716) Receiving objects: 100% (1954118/1954118), 377.38 MiB | 738 KiB/s, done. Resolving deltas: 100% (1618716/1618716), done. Side note: the more attentive reader would have noticed a cosmetic defect in the output when git-gc fails (more precisely from git-pack-objects: warning: suboptimal pack - out of memory02)), well don't loose any sleep over it :) it has been reported and there is a workaround for that already. [Less]