Saturday, July 7, 2007

X and OPIE

The original idea was to setup the X according to endors mini how-to X/Qt on OESF, and then to use Xqt2 as an Xserver. the first part worked fine, but I couldn't convince the Xqt2 server work properly. Then something corrupted the boot sequence and I had te reflash. I installed X again, with some success, but not Xqt2.
The situation after the installation process is that fluxbox hangs during startup in such a way I have to soft-boot the Zaurus (Alt-Home-B). It seems that if I stop OPIE start the X from the command line and go back to OPIE X will start up fine. I thought the problem was memory so I created a swap file -but this didn't solve the problem.
I have found a little bit more about this problem, it seems that in the cases fluxbox hangs it goes into "uninterruptible sleep" ('D' status under top or ps - someone said that D stands for 'Dead'). Apparently there is no way to kill those processes apart of reboot.

first add the X11 feed to /etc/ipkg.conf,

src/gz x11 http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4.1/feed/x11
src/gz x11-old http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4/feed/x11
src/gz upgrades-old http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4/feed/upgrades
Then install (don't forget to ipkg update) xserver-kdrive-fbdev and it's dependencies,
# ipkg install -d loop0 xserver-kdrive-fbdev
# ipkg-link add libxau0 ; ipkg-link add libxdmcp0 ; ipkg-link add libxfont1 ; ipkg-link add xserver-kdrive-fbdev
next, install xserver-common,
# ipkg install -d loop0 xserver-common
# ipkg-link add libexpat0 ; ipkg-link add libfontconfig1 ; ipkg-link add libx11-6 ; ipkg-link add libxcalibrate0 ; ipkg-link add libxext6 ; ipkg-link add libxft2 ; ipkg-link add libxrandr2 ; ipkg-link add libxrender1 ; ipkg-link add libxtst6 ; ipkg-link add xdpyinfo ; ipkg-link add xmodmap ; ipkg-link add xrandr ; ipkg-link add xserver-common ; ipkg-link add xtscal
install xbase-clients
# ipkg install -d loop0 xbase-clients
# ipkg-link add libxmuu1 ; ipkg-link add xauth ; ipkg-link add xhost ; ipkg-link add xrdb ; ipkg-link add xset
install libcairo1,
# ipkg install -d loop0 libcairo1
# ipkg-link add libcairo1 ; ipkg-link add libpixman1
install gpe-session-scripts (this will install GPE),
# ipkg install -d loop0 gpe-session-scripts
# ipkg-link add atd ; ipkg-link add blueprobe ; ipkg-link add bluez-utils-dbus ; ipkg-link add dbus-1 ; ipkg-link add gdk-pixbuf-loader-gif ; ipkg-link add gdk-pixbuf-loader-jpeg ; ipkg-link add gdk-pixbuf-loader-png ; ipkg-link add gdk-pixbuf-loader-xpm ; ipkg-link add glibc-gconv ; ipkg-link add glibc-gconv-iso8859-1 ; ipkg-link add gpe-announce ; ipkg-link add gpe-bluetooth ; ipkg-link add gpe-clock ; ipkg-link add gpe-icons ; ipkg-link add gpe-login ; ipkg-link add gpe-question ; ipkg-link add gpe-session-scripts ; ipkg-link add gtk+ ; ipkg-link add libatk-1.0-0 ; ipkg-link add libaudiofile0 ; ipkg-link add libcontactsdb0 ; ipkg-link add libesd0 ; ipkg-link add libeventdb0 ; ipkg-link add libglade-2.0-0 ; ipkg-link add libgpelaunch0 ; ipkg-link add libgpepimc0 ; ipkg-link add libgpevtype0 ; ipkg-link add libgpewidget1 ; ipkg-link add libice6 ; ipkg-link add libiw28 ; ipkg-link add libmb1 ; ipkg-link add libmimedir-0.3-0 ; ipkg-link add libschedule0 ; ipkg-link add libsm6 ; ipkg-link add libsoundgen1 ; ipkg-link add libsqlite0 ; ipkg-link add libstartup-notification-1-0 ; ipkg-link add libxcursor1 ; ipkg-link add libxfixes0 ; ipkg-link add libxinerama1 ; ipkg-link add libxpm4 ; ipkg-link add libxsettings-client0 ; ipkg-link add matchbox ; ipkg-link add matchbox-applet-inputmanager ; ipkg-link add matchbox-common ; ipkg-link add matchbox-desktop ; ipkg-link add matchbox-panel ; ipkg-link add matchbox-wm ; ipkg-link add pango ; ipkg-link add pango-module-basic-fc ; ipkg-link add pango-module-basic-x ; ipkg-link add xkbd ; ipkg-link add xstroke
to correct the errors:
# mkdir /media/loop0/packages/etc/gtk-2.0 # ln /media/loop0/packages/etc/gtk-2.0 /etc/gtk-2.0 -s
and then rerun,
# ipkg install -d loop0 gpe-session-scripts
remove gpe-login
# ipkg-link remove gpe-login
# ipkg remove gpe-login
fluxbox
To solve the "Interruptible sleep" I tried installing it to the internal memory,
# ipkg install fluxbox-gpe
mrxvt - more than rxvt,
# ipkg install -d loop0 mrxvt
# ipkg-link add mrxvt
OpenSSH
I'll install openssh for the X11 forwarding,
# ipkg install -d loop0 openssh-ssh
# ipkg-link add openssh-ssh

ROX-filer
this package seems to be problematic - the first time I installed it it cause corruption in the filesystem - after fsck.ext2 /media/card/images/loop0 and reinstalling the package for the Zaurus - not by ssh'ing it was installed okay.
# ipkg install rox-filer -d loop0
# ipkg-link add libxml2 ; ipkg-link add rox-filer ; ipkg-link add shared-mime-info
and to fix the errors rerun,
# ipkg install rox-filer -d loop0
In order for rox-filer to work propely the APP_DIR variable needs to be defined,
# export APP_DIR=/usr/share/rox/
startx.sh
I couldn't find the package that provides the startx script so I created one, which sets the DISPLAY and APP_DIR variables and runs Xserver, Xinit, rox-filer and fluxbox.

X/Qt 2
I'll try Xqt once more,
# ipkg install xqt2 -d loop0
# ipkg-link add xqt2
Runing Xqt failed with segmentation fault, when I changed the QWS_DISPLAY to "Transformed:Rot270:0" variable I managed to start Xqt but with the same problems as before (screen is rotated and doesn't get refreshed).

No comments:

Post a Comment