anarsoul's blog
embedded stuff, kernel hacking, etc...
Monday, April 29, 2013
topIcons extension for gnome-3.8
Well, I dislike gnome devs decision about putting legacy tray icons to the attic (message tray), and prior to gnome 3.8 there was an extension to move all tray icons to the top panel. But after upgrade to gnome-3.8 subj extension didn't work properly (tray icons disappear after locking/unlocking screen). I've waited for a fix about a week, and then I decided to fix it by myself, result is on github.
Saturday, January 5, 2013
Wayland and software rendering
Recently I spent few evenings for hacking wayland. I like idea of wayland - rendering is done completely on client (in whatever way), compositor (server part) is responsible in rendering buffers from clients on the screen. Issue for me was rendering part of weston (reference compositor for wayland) - it uses GLES for compositing, but I want to try wayland and weston on devices without hw acceleration (pure software rendering), and running software GL on PXA270@312MHz does not sound like a good idea, does it? :)
So I asked on #wayland@irc.freenode.org if it possible to implement software renderer, Kristian Høgsberg (khr) responded that in master branch of weston repo there's a nice abstraction of renderer, so it's possible to implement pixman renderer. So I did :)
khr and pq from #wayland were very helpful, and described place of renderer in wayland architecture, here're some points
So I asked on #wayland@irc.freenode.org if it possible to implement software renderer, Kristian Høgsberg (khr) responded that in master branch of weston repo there's a nice abstraction of renderer, so it's possible to implement pixman renderer. So I did :)
![]() |
| weston with x11-backend and pixman renderer |
khr and pq from #wayland were very helpful, and described place of renderer in wayland architecture, here're some points
- renderer just performs rendering of surface in order passed by compositor (compositor::surfaces_list)
- each surface has opaque (surface::opaque region) and non-opaque regions, for performance optimization it makes sense to render them differently (with different composite operators, PIXMAN_OP_SRC and PIXMAN_OP_OVER respectively)
- surface::opaque region is in surface coordinates, and damage region is in global coordinates, so one needs to translate surface::opaque region into global coordinates before compositing
I've also added MIT-SHM support to x11-backend to test pixman renderer, it's activated by passing "--use-shm" argument to weston.
I plan to add 16bpp formats support to wayland (currently it supports only 32bpp) and implement fbdev backend. As one maybe guessed, then I want to try wayland on my PDAs: Zipit Z2 and iPAQs :)
As usual, code is on github, I'll submit it upstream tomorrow.
Wednesday, October 31, 2012
gnome 3.6 and keyboard layout configuration
Gnome 3 devs are stupid enough to remove features before some replacement is implemented. Simplified nautilus and (what's much more important for me!) broken keyboard layout configuration. Well, you still can configure what layouts to use, but you can't choose usual shortcut to switch layout, and you can't configure led to indicate alternative layout.
Well, I still can use setxkbmap (setxkbmap -layout "us,ru" -option "grp:caps_toggle,grp_led:scroll"), but that's f***ing ridiculous to remove things that were working here for years and propose nothing for replacement! They broke core functionality (who can work without a keyboard?!), and it makes me sick!
Update: more haterays to gnome-devs! Gnome 3 overrides xkbmap settings somewhere, I wonder if there's a way to prevent it...
Update-2: you can remove gnome-settings-daemon keyboard plugin as a workaround (sudo rm /usr/lib/gnome-settings-daemon-3.0/libkeyboard.so)
Well, I still can use setxkbmap (setxkbmap -layout "us,ru" -option "grp:caps_toggle,grp_led:scroll"), but that's f***ing ridiculous to remove things that were working here for years and propose nothing for replacement! They broke core functionality (who can work without a keyboard?!), and it makes me sick!
Update: more haterays to gnome-devs! Gnome 3 overrides xkbmap settings somewhere, I wonder if there's a way to prevent it...
Update-2: you can remove gnome-settings-daemon keyboard plugin as a workaround (sudo rm /usr/lib/gnome-settings-daemon-3.0/libkeyboard.so)
Wednesday, October 24, 2012
ArchLinux and broken gnome-settings-daemon
Just another post of hate. This time rays of hate go to maintainers of archlinux Gnome 3 packages. In short words:
- global hotkeys are broken in Gnome-3.4 when using it with recent xorg-server
- upstream patch exists, however no tarball was released (who cares!)
- ArchLinux Gnome 3 package maintainers are lazy enough to import this patch and rebuild package
- bug was reported and closed as "won't fix" because they're waiting for gnome-3.6.1 to stabilize and enter into extra repo.
Users suffer from bug for ~3 weeks! They even do not need to investigate what causes problem, patch exists. Btw, I've even created a source package and sent them a link. Some user from archlinux bbs created package in aur
I'm still wondering why they do not respect their users...
Tuesday, October 9, 2012
Hacking on fingerprinting again or AES2550/AES2810 driver for libfprint
Back in 2007 I participated in driver development for AuthenTec AES2501 scanner, driver was later merged into libfprint project. I didn't hack much on libfprint, just sent few bugfixes, but recently AuthenTec announced that they're willing to send fingerprint scanners for opensource enthusiasts who wants to develop driver for those scanners. So far, so good... I've wrote a letter to AuthenTec and they proposed to send AES2550 or AES2810 scanner to me. I chose AES2550. Actually, AES2550 and AES2810 are pretty same (AES2550 driver should work with AES2810), the only difference is missing crypto engine on AES2550 (who needs cryptography anyway? :))
So, I've got parcel with scanner in August, but unfortunately had no spare time for hacking, I only coded driver stub and read datasheet from AuthenTec.
So, in September/October I've spent few (5-6?) nights hacking on this driver, and finally got it working on my AES2550. Image quality is much better then on my AES2501. Driver lacks crypto features for AES2810 and external flash support for both devices. Anyway, libfprint has no external flash API yet, so there's some space for hacking :)
As usual, code is on my github page, branch aes2550-v2. Some testing is appreciated :)
P.S. Thanks to AuthenTec for opened specs and provided hardware! AuthenTec rocks!
Update: driver was merged into upstream, so you can use upstream libfprint repo
So, I've got parcel with scanner in August, but unfortunately had no spare time for hacking, I only coded driver stub and read datasheet from AuthenTec.
So, in September/October I've spent few (5-6?) nights hacking on this driver, and finally got it working on my AES2550. Image quality is much better then on my AES2501. Driver lacks crypto features for AES2810 and external flash support for both devices. Anyway, libfprint has no external flash API yet, so there's some space for hacking :)
As usual, code is on my github page, branch aes2550-v2. Some testing is appreciated :)
P.S. Thanks to AuthenTec for opened specs and provided hardware! AuthenTec rocks!
Update: driver was merged into upstream, so you can use upstream libfprint repo
Wednesday, September 26, 2012
Reboot instead of shutdown issue
Recently hit subj issue on 2 PCs, on 2 different distros:
- ubuntu 12.04 on my sister's nettop
- current archlinux on my mother's-in-law PC
Here're symptoms: PC shutdowns on poweroff command and then immediately turns on. Sounds weird, right?
It turned out that cause is forcedeth driver (both PCs are based on nVidia chipset). I suspect it's somehow related to WoL implementation (however there's not WoL packets in my network for sure - local segment contains only router + 1-2 PCs). Solution is to 'rmmod forcedeth' somewhere on shutdown path. Can't investigate this issue more broadly, I've no permanent access to those PCs :) But some forcedeth dev is guilty for sure
Sunday, June 3, 2012
fheroes2 on zipit
Just got fheroes2 running on z2.
Rays of hate to the author for "-I$(PREFIX)/include" in Makefile. PREFIX is usually /usr, so it pulled headers from host and produced weird compile errors. It took half a day to debug and fix it.
You'll need data and maps from original heroes 2 in /root/.fheroes2 to play.
As usual, here's screenshot:
Btw, I've moved to gcc-4.6, so don't forget to get updated openwrt .config
Binaries are here: uImage rootfs
Rays of hate to the author for "-I$(PREFIX)/include" in Makefile. PREFIX is usually /usr, so it pulled headers from host and produced weird compile errors. It took half a day to debug and fix it.
You'll need data and maps from original heroes 2 in /root/.fheroes2 to play.
As usual, here's screenshot:
Btw, I've moved to gcc-4.6, so don't forget to get updated openwrt .config
Binaries are here: uImage rootfs
Subscribe to:
Posts (Atom)


