![]() |
[Debian] Deblet Hack Challenges v1.0
So, I decided to make a list of hack challenges that could be interesting to see in Deblet, for people to work on if they want to and gain fame ;)
Some of it is low hanging fruit and some is a bit more advanced. And when I say hack, i mean the traditional sense of hacking up a solution for it ;) In any case, they are things that could be interesting to see in Deblet, and on the tablet in general. Bold challenges mark they're active and work being done on them / people looking at it, underlined means they're done. Italics means they're done and committed to Deblet in some way. Deblet Hack Challenges v1.0: * Google Gears for Deblet (epiphany-gecko, xulrunner, iceweasel? or compile Firefox so we don't have the problems with recognizing user agent?) * A2DP package: Hint from lardman: http://www.internettablettalk.com/fo...16&postcount=2 * Adapting Easy Debian scripts to Deblet so they can be configured by the installer, and the challenge on http://www.internettablettalk.com/fo...9&postcount=10 b-man working on it: http://www.internettablettalk.com/fo...54&postcount=4 b-man posting tarball: http://www.internettablettalk.com/fo...5&postcount=18 * Brightness slider activated by clicking in systray, a script using maybe zenity or similar. mb-applet-launcher can be used for making systray launchers. It should maintain state between reboots and be set in /etc/X11/Xsession.d script Stskeeps completed it as tablet-backlight: http://www.internettablettalk.com/fo...74&postcount=8 * Rotation applet in same manner as the one before * USB host/gadget switch control as manner as the one before * Adjustment of dimming-blanking time (source is in http://www.internettablettalk.com/fo...9&postcount=57 for simple python scripts talking to dsme with this purpose) * Finding a way to deal with the different Xmodmaps for different N810 keyboards/etc. * Isolating what battery applets understands HAL battery reporting (as that's the only stuff that works on tablet) and document these on wiki. * Making Hildon Input Method Framework work in Deblet. Stskeeps, qwerty12 working on it and thanks to n3x for the idea: http://www.internettablettalk.com/fo...8&postcount=19 HIM on Matchbox in LXDE: http://www.internettablettalk.com/fo...1&postcount=20 . HIM seems to require matchbox wm extensions to dock properly. * Establishing stable ways to get Deblet installer going on 770. So far the issue is that OS2008HE only has like 5mb left in flash. * Finding simple Camera applications that work with the v4l device for snapshotting and recording and documenting these on wiki. Application found by Stskeeps: http://www.internettablettalk.com/fo...9&postcount=11 * Finding ways to optimize Deblet to perform better, both in booting time (bootchartd is very useful for this) and runtime. I've had upstart running but it didn't do much difference.. under this also making the batteries last longer ;) One-two fixes from Stskeeps: http://www.internettablettalk.com/fo...9&postcount=14 * Fixing mpd (I think it has some errors while installing?) qwerty12 working on it: http://www.internettablettalk.com/fo...08&postcount=7 Hint from fatalsaint: http://www.internettablettalk.com/fo...08&postcount=9 Package from fatalsaint: http://www.internettablettalk.com/fo...9&postcount=22 Done by fatalsaint: [url]http://www.internettablettalk.com/forums/showpost.php?p=222532&postcount=25[url] * Making a LXDE based environment instead of the xfce4+matchbox environment that's standard right now, on par with the interface in Debian beta3 johnx working on it (no post yet). nit-env-lxde base without much contents committed by Stskeeps to repository. Hint from jiiv: http://www.internettablettalk.com/fo...9&postcount=21 * Trying to make GPS driver work in Deblet * Making bluetooth DUN work and maybe PAN. Progress from Stskeeps: http://www.internettablettalk.com/fo...9&postcount=16 * Working on documentation for Deblet, tricks and tricks, pitfalls, etc (wiki access is easy, just ask me) * "Easy Deblet" package using preseed confs and presets (mentioned in to make the installation very easy. Information about preseed confs and presets in http://www.internettablettalk.com/fo...9&postcount=57 * Script to show a "charging" moving logo (can't be the nokia gfx) when Deblet has been started off charger (and to resume when "on" button is clicked, and turn off when charger is removed). You can get boot reason from /proc/bootreason. * "Easy" USB networking, maybe? * Studying how a flash user interface could work on the tablets running in gtkmozembed for instance and how power hungry it is? * Package to make flash sound work (according to fatalsaint it's a matter of getting osso-esd and use this as esound daemon) Hints from fatalsaint: http://www.internettablettalk.com/fo...98&postcount=5 * See how Wammu (http://wammu.eu/) works on Deblet. * mplayer on Deblet qwerty12 showing interest in this in http://www.internettablettalk.com/fo...08&postcount=7 * fillin-packages for gstreamer libraries that are tablet chip specific (see http://trac.tspre.org/svn/deblet/tru...ald-addon-bme/ for an example.) * "Backup" program that can rsync the /home away or something ;) fatalsaint referring to Flyback: http://www.internettablettalk.com/fo...98&postcount=5 Backup to S3 possibility: http://www.internettablettalk.com/fo...05&postcount=6 * Ways to tell a user if there's WMM/proper powersave features on connected AP is enabled or not? (not sure if this can be done) * Finding ways to bring right click stylus to non-gtkstylus capable apps/desktop environments. * Maemo Mapper for deblet? * "Geek-oriented" environment that targets the more advanced user, - rdesktop, vncviewer, USB gadgets, controlling music daemon on other computer, - you know the type :P * Event handling scripts when gpio switches are activated (batcover, etc). qwerty12 showing interest: http://www.internettablettalk.com/fo...08&postcount=7 * Maemo chroot - like there's Debian chroot, is Maemo chroot possible? If anyone wants to take on any of these tasks, write it in this thread and use your posts as progress updating with knowledge about the task or simply to document the hacks. I'll edit this post who does what and other status information. If anyone comes up with some more challenges, feel free to write them in the wishlist thread ("What would you like to see in Deblet 1.0 or 2.0? (Wishlist thread)") and they would be included in next iteration if this is a success. If anyone needs SVN access to commit work done through tasks or want wiki edit on http://trac.tspre.org/projects/deblet, just private message me here and I'll set it up for you. Also, I'll gladly answer questions related to doing the tasks if you need some pointers on how to start with them. Even if you cannot do the actual work, but if you have knowledge on things on how it potentially could be done, you're more than welcome to write about it in this thread. Thanks to all the people who have done interesting Deblet/Debian on tablets hacks so far (Deblet Hack Challenge 0? ;) - you've done a great job at experimenting with this stuff already. |
Re: Deblet Hack Challenges v1.0
Quote:
Or is all sound troublesome...? |
Re: Deblet Hack Challenges v1.0
Quote:
|
Re: Deblet Hack Challenges v1.0
Quote:
Think of easy debian totally re-designed and with more options If you want to see the scripts themselves, just send me a pm and i will provide a link. Btw, That's whi you haven't seen me on the forum much, i've ben busy working hard on this software, witch is ony 1/4 complete. :p |
Re: Deblet Hack Challenges v1.0
I will take a few of these one when I get a chance.
For backup software I have used Flyback a couple of times and it works OK. We should make a deb of it. You want an external USB device to backup to. For sound you want the files libesd0 and osso-esd .. they are older versions and they conflict with a newer version required by some other software on the deblet.. so you need to 'force' install them. You also will need libosso1 available in the debian repo's. I do not know the licensing issues with the maemo packages.. maybe we can build our own deblet packages that includes both of those and somehow gets around the "conflicting file" warning? As I have time to look at these and others in the list more I'll update this post. (b-man.. I recommend you work with qole if you guys are working on similar projects .. 2 heads is better than 1 and all that.. and no need for parallel projects on something this small). |
Re: Deblet Hack Challenges v1.0
Quote:
|
Re: Deblet Hack Challenges v1.0
I'll take up some of these, I've already done work on some of them for maemo.
MPD I could do for sure, mplayer is a possibility. Event handling is something I might do if I have time. For esd, what I would do is pimp up the version number, make it create symlinks to any higher versions of the libs the old esd installs to the old versions and set Provides: esd Replaces: esd tags in the control file.I haven't read all of the debian policy but I'm pretty sure that would do it. You can't build osso-esd from source unless you want an esd daemon that talks to /dev/zero ;) Ok, I did plan on doing that but now it seems like my debian doesn't want to boot :D I'll remove the current debian and replace it with gnome. Edit, I can't get a working deblet atm, maybe i'll restore original kernel and try installing gnome again sometime over the weekend. Or maybe KDE :) |
Re: Deblet Hack Challenges v1.0
Progress on Brightness applet:
http://bsd.tspre.org/~stskeeps/nit-d...brightness.png It remembers brightness values through executions, and will soon remember between reboots too (Xsession-based). It uses zenity and a brightness setter is already in dsme-tools. EDIT: All done :) It's now in the Deblet repository + SVN snapshot, as tablet-backlight. You will need to add an application launcher for /usr/share/applications/deblet-brightness.desktop to have it in menu bar, else it's in the menu under Settings of the different desktops. It also remembers the state across desktops (try to set the level low, press ok, reboot, and notice the change in brightness when the environment starts up ;) |
Re: Deblet Hack Challenges v1.0
Quote:
As soon as I modify the default config file to point to: /home/user/music /home/user/music/playlist (with correct permissions) And then add the sound device "ao" then it works with apt-get install mpd again. Maybe we could build a tablet-mpd with the "provides mpd" and has the correct tablet config file inside of it... ? Or we make our own "mpd" and increment the version number so that apt prefers our mpd deb over the correct one. (this might be more seamless and help with other apps that 'depend' on mpd) Mplayer you have to pass -ao esd and some form of video flag.. and it'll play but extremely choppy... I imagine the maemo mplayer was built somehow lighter-weight than the regular debian mplayer?? much like the Maemo ESD files??? |
Re: Deblet Hack Challenges v1.0
Quote:
Quote:
The esd differentiates in the fact it can actually use the dsp, unfortunately the dsp headers are not open so the only way is to use maemo's one. |
Re: Deblet Hack Challenges v1.0
Another one from the list:
* Finding simple Camera applications that work with the v4l device for snapshotting and recording and documenting these on wiki. apt-get install cheese gnome-media Make sure tablet user is in 'video' group. Run gstreamer-properties to set ximagesink and select correct camera (omap24xxcam) http://bsd.tspre.org/~stskeeps/nit-debian/cheese.png |
Re: Deblet Hack Challenges v1.0
Quote:
I'm still looking into how qole made that synchroot file witch i will include in a file called cdeb2-mount and am planning to take a fuew snipits of code from debbie to work with some other components of Cdeb2. |
Re: Deblet Hack Challenges v1.0
Hey b-man, help yourself to whatever you want. I look forward to seeing your stuff.
As I've stated elsewhere, I'm aiming for one more release of the Easy Debian scripts (with a few more small tweaks and enhancements) and a new filesystem image (mostly Debian Lenny with a few Sid bits) that rolls up everything we've discovered since I released the first Easy Debian. After that, assuming there are no bugs, I'm done with the project. I'll probably focus on deblet from there on, and help you guys in the area of chroot. |
Re: Deblet Hack Challenges v1.0
Worked on this one: * Finding ways to optimize Deblet to perform better, both in booting time (bootchartd is very useful for this) and runtime. I've had upstart running but it didn't do much difference.. under this also making the batteries last longer
I have committed an update to boot-basics that includes some things Maemo does at bootup to optimize. I -think- it feels more speedier and responsive. Could any of you upgrade_deblet, apt-get dist-upgrade and reboot, and see if you can feel any difference? |
Re: Deblet Hack Challenges v1.0
I'll do it and update this with a yay or nay.
ETA: Dude ... I dont know what you did but everything in my debian seems to be launching snappier and running smoother. I thought it was decent before but this is nice... even the browsers seem to work faster and load pages better... iTT is more usable... Maybe it's just hype but I do notice a significant change. |
Re: Deblet Hack Challenges v1.0
Worked a bit on this, and got some progress
* Making bluetooth DUN work and maybe PAN. Status: wvdial fails miserably, so it's not possible to use gnome-ppp and likes. /etc/ppp/peers/gprs: /dev/rfcomm0 115200 connect '/usr/sbin/chat -v -f /etc/ppp/chat-gprs' crtscts modem -detach noccp defaultroute usepeerdns noauth ipcp-accept-remote ipcp-accept-local noipdefault /etc/ppp/chat-gprs: '' ATZ OK AT+CGDCONT=1,"IP","internet" OK "ATD*99***1#" CONNECT '' rfcomm bind rfcomm0 00:19:63:A7:9C:69 3 Nokia-N800-51-3:/etc/ppp# rfcomm release rfcomm0 Nokia-N800-51-3:/etc/ppp# rfcomm bind rfcomm0 00:19:63:A7:9C:69 3 Nokia-N800-51-3:/etc/ppp# pppd call gprs Serial connection established. Using interface ppp0 Connect: ppp0 <--> /dev/rfcomm0 Could not determine remote IP address: defaulting to 10.64.64.64 not replacing existing default route via 192.168.98.1 Cannot determine ethernet address for proxy ARP local IP address 10.20.204.180 remote IP address 10.64.64.64 primary DNS address 212.17.131.3 secondary DNS address 148.122.208.99 .. So it's atleast some progress :> |
Re: Deblet Hack Challenges v1.0
I worked on that right after I started using Deblet and got wvdial talking to my blackberry pearl.. but it segfaulted when I finally got the right combination to make it even start the dialing process..
So I was never able to get it even as far as yours. |
Re: Deblet Hack Challenges v1.0
Hello again, after working all day to create a functional Cdeb2 install, i've finaly got this working :D, Currently it still relys on a terminal window though but it has a lot of the features that i mentioned, includeing "cuser" witch is a spin-off of debbie and "csynk", witch allows safe chrootage with bootable deblet. You can download the tarball here.
Btw, I may not be responsive for today, verry busy :(. ~( started school, sports, ect..) |
Re: Deblet Hack Challenges v1.0
Decided to throw this one in with the challenges as it's quite useful if it works properly - and me and qwerty12 has done some work on it - thanks to n3x for the idea.
http://www.internettablettalk.com/fo...5&postcount=13 - getting hildon-input-method to work in Deblet. A very bad screenshot - it might work better in matchbox - but this is activated by touching the text field as on Maemo, with no hildon environment running. http://bsd.tspre.org/~stskeeps/nit-debian/h-i-m.png http://bsd.tspre.org/~stskeeps/nit-d...hod-framework/ for the ported packages from Ubuntu Mobile Files edited to get this to work: stskeeps@Nokia-N800-51-3:/etc/gtk-2.0$ cat gtk.immodules # GTK+ Input Method Modules file # Automatically generated file, do not edit # Created by gtk-query-immodules-2.0 from gtk+-2.12.11 # # ModulesPath = /root/.gtk-2.0/2.10.0/arm-unknown-linux-gnueabi/immodules:/root/.gtk-2.0/2.10.0/immodules:/root/.gtk-2.0/arm-unknown-linux-gnueabi/immodules:/root/.gtk-2.0/immodules:/usr/lib/gtk-2.0/2.10.0/arm-unknown-linux-gnueabi/immodules:/usr/lib/gtk-2.0/2.10.0/immodules:/usr/lib/gtk-2.0/arm-unknown-linux-gnueabi/immodules:/usr/lib/gtk-2.0/immodules # "/usr/lib/gtk-2.0/2.10.0/immodules/hildon-im-module.so" "hildon-input-method" "Hildon Input Method" "hildon-input-method-framework" "/usr/share/locale" "*" --EOF Make hildon-input-method run in the background when GTK has started. $ hildon-im-recache $ gconftool-2 -s /apps/osso/inputmethod/input_method_plugin -t string himExample_vkb So, I guess the challenge is to make this into something useful so we don't have to use MB for atleast GTK applications. Or QT (there's a IM plugin for that too). And I have an idea for how to make H-I-M work for normal X applications too. https://code.launchpad.net/~ubuntu-mobile is where all packages are fetchable from using bzr - it's a matter of dpkg-buildpackage them and getting build dependancies. But the -example one is probably the most interesting to hack to work in normal WMs. http://live.gnome.org/Hildon/HildonInputMethod/Theme is also interesting. |
Re: Deblet Hack Challenges v1.0
|
Re: Deblet Hack Challenges v1.0
Re:
Quote:
|
Re: Deblet Hack Challenges v1.0
mpd is fixed in my repo.. I have uploaded my own copy of mpd and ran
apt-get install gmpc mpd And it automatically grabbed mine since I raised the version number.. it installs and sets up fine.. it gives a warning when it generates the tag_cache but thats expected. No errors. It points to /var/lib/mpd/music and /var/lib/mpd/playlists for your music.. I personally change these to /home/user/music and /home/user/music/playlists (i believe this was in Johns beta3).. but I left the mpd package as default as possible and just added whats necesary to work with our sound. |
Re: Deblet Hack Challenges v1.0
Quote:
|
Re: Deblet Hack Challenges v1.0
Quote:
If you want it default like that I can do. |
Re: Deblet Hack Challenges v1.0
Quote:
|
Re: Deblet Hack Challenges v1.0
I have a suggestion for another challenge: pocketsphinx, the 'handheld' version of CMU's speech recognition package.
Apparently someone has at least started working on porting for maemo. I'm not sure how it would be useful, but it would definitely be neat. |
Re: Deblet Hack Challenges v1.0
Something more for Deblet - Deblet splash screen instead of console boot. And noticing that my boot time for Deblet is seemingily 60 seconds now, which is quite an improvement. (see http://www.daimi.au.dk/~cvm/bootchart.splash.png )
You can get it with upgrade_deblet, apt-get dist-upgrade, apt-get install nit-env-x. I can't show you screenshots as it's in framebuffer, but it does look snazzy :P This disables console boot for now when installed, but in the near feature I'll make a button-activated rescue menu like bootmenu that allows you to start up different debugging methods such as g_ether (usbnet), g_serial (bash on a serial port), enable console framebuffer, etc. |
Re: Deblet Hack Challenges v1.0
And a bit of splash screen video: http://www.youtube.com/watch?v=yPP2BGsY4BM
|
Re: Deblet Hack Challenges v1.0
The next step, for the truly adventurous, is to flash your tablet with deblet instead of OS2008, so you boot to deblet by default.
Fanoush has a procedure for this. He is talking about backing up and flashing OS2008, but it seems perfectly reasonable that any bootable rootfs should work. I only wish I had the guts to try it :) (also, you have to have a very small rootfs) |
Re: Deblet Hack Challenges v1.0
Once Bluetooth DUN works I would.
Bluetooth DUN and working video and I think Deblet will be a valid and complete replacement for Maemo.. for those that want it. The only thing I use maemo for anymore is if I need to check something to answer someone's questions.. or if I need to work on my home stuff at work :D.. Bluetooth DUN ftw. It has multimedia; bluetooth; Full Web 2.0 Experience.... sure it has it's bugs.. but it's not like Maemo is perfect :D. I think the biggest problem might be getting a full deblet with a decent window manager and all to fit in the 128MB flash size.... |
Re: Deblet Hack Challenges v1.0
What does "working video" mean?! You mean a video player? If so, use the maemo mplayer, it is nicely optimized for the tablets... but I don't think that's what you mean...
And you would be able to keep maemo, but it would be on a MMC card. JFFS2 does a great job of compressing everything; I got a 1GB rootfs down to 512MB using the above method. So you don't need to keep it under 256, but, if my experience is typical, you do need to keep it under approx. 512MB. You could also use some sort of filesystem extension method to give yourself a bit of extra space... |
Re: Deblet Hack Challenges v1.0
You've gotten the maemo mplayer to "just work" in Deblet with full screen support, sound, and all and you haven't told us how yet? :D
|
Re: Deblet Hack Challenges v1.0
Another problem I see is that you could never distribute the rootfs because Deblet steals closed source and proprietary stuff from maemo when it installs.. so distributing a tar'd up package of those binaries would be illegal I think... (right stskeeps?)
|
Re: Deblet Hack Challenges v1.0
I think 'maemo mplayer' != 'maemo video player'.
|
Re: Deblet Hack Challenges v1.0
Well true.. mplayer is what I meant.. but I updated my post to fix the confusion.
The maemo "mplayer" doesn't 'just work' for me perfectly without modifications.. and even then I can't get full screen to work. So if qole has done this in a booted deblet, and not in an Easy Debian setup, which is what would be required for a flashed deblet rootfs... then I would like to know how. |
Re: Deblet Hack Challenges v1.0
Sorry fatalsaint, didn't see your new thread about getting mplayer working in booted Deblet. My passion just doesn't lie in the bootable-Debian direction; I'm not going to be much use to those of you who are trying to get those last pieces in place.
And I don't think we'd be talking about distributing this rootfs image. After all, the whole philosophy of Deblet is to build it all from scratch with an installer. If you want to automate the process, you could add the fanoush steps at the end of the install, turning the new Deblet rootfs into a flashable image, which you then can flash to your device. Or perhaps you could make an empty jffs2 image file, mount it, and build the Deblet rootfs inside. |
Re: Deblet Hack Challenges v1.0
Some more to the speed up booting thread, and I think I'm starting to reach the max of what's possible. This is:
dash as /bin/sh, CONCURRENCY=startpar, insserv doing ordering of scripts, moving the rootfs mounting to the background way before init runs. 50-55 seconds. Maemo is 45 in comparison. bootchart is at http://www.daimi.au.dk/~cvm/bootchart.early-jffs.png So, my question is, - add a really complicated solution to get the "normal" Deblet 60 second boot time down to 45 seconds, or leave it be that it's "good enough"? |
Re: Deblet Hack Challenges v1.0
Faster is always better, but honestly I wouldn't stress about it too much- for power consumption reasons it's probably best not to shut down and restart all the time, and overall deblet seems to be stable enough that frequent reboots shouldn't be required either.
If I had more free time (and skill), I'd be spending it working on power conservation, gps and DUN support, and maybe speed optimizations for specific apps (a faster browser would be nice, and there's been some chatter about media players and such). Bluetooth DUN and maemo-mapper (well, and a key/screen lock) are the two things that keep me from running deblet full time at this point; if we could get those 'killer apps' to work then people wouldn't really need to boot back and forth. |
Re: Deblet Hack Challenges v1.0
Some more Deblet videos.. something I'm working on - Deblet Rescue Menu. Touch a key during startup and it will allow you to select what rescue options to use.
See it at http://www.youtube.com/watch?v=h24f2YjzWBE |
Re: Deblet Hack Challenges v1.0
Just while I remember.. http://packages.debian.org/lenny/libts-bin contains a ts_calibrate which will calibrate the touchscreen for you. It needs export TSLIB_TSDEVICE=/dev/input/event3 , fb_update_mode auto as it uses framebuffer.
|
All times are GMT. The time now is 17:53. |
vBulletin® Version 3.8.8