Notices


Reply
Thread Tools
Johnx's Avatar
Posts: 643 | Thanked: 628 times | Joined on Mar 2007 @ Seattle (or thereabouts)
#51
Just edit /etc/init.d/hildon-session . Look through the code until you get to the part where hildon-session is started comment that out with a # at the beginning of the line. Then replace it with xfce4-session. And as much as I am amazed by your devotion to avoiding the onscreen keyboard, maybe it's worth a try to debug your networking problems? (Just press the center d-pad button).
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#52
EDIT: Ok, I got keyboard working on the ROXTerm... Will update later...

And as I said before, there's no xfce4-session, only a startxfce4, is that what you mean? Heck, I'll give it a try. I think I'll also try to boot to the Debian install that I've been chrooting to.

EDIT: No-go on switching out Hildon and switching in xfce4. I renamed /usr/bin/start-hildon (the script called by /etc/init.d/hildon-session to actually start Hildon) to hildon-desktop.old and then I did a soft link from startxfce4 to start-hildon, but no joy. Debian doesn't ever boot; it just sits at the "Booting from mmc4" screen forever.

EDIT2: I've found xfce4-session, and I've tried various ways of swapping stuff in and out to get xfce4 instead of hildon desktop. Nothing works...
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!

Last edited by qole; 2008-05-04 at 09:48. Reason: Results of xfce4 test, Keyboard: OK I'm an idiot
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#53
Ok. So I feel pretty stupid, I was saying that I couldn't get the keyboard to work, but I did, in ROXTerm. But then ROXTerm wouldn't let me sudo. So then I tried ssh root@localhost, and I did it! I got to root.

Then I did ifup wlan0 and it said that it was already up! Hmm... ifconfig showed it had no IP address... I did ifdown wlan0 and it disconnected (DHCPRELEASE on wlan0 to 192.168.1.1 port 67 ... huh? No such address around here!) and then I did ifup wlan0 again and woohoo! I got a connection to my LAN! Now I can successfully SSH in from anywhere.

OK, this is very funny! I ran "/etc/init.d/hildon-session stop" (screen went white with mouse pointer only) then I ran "/etc/init.d/x-server stop" (nothing changed), then I ran "startxfce4" and I got something quite unexpected! I had, out of habit, run my SSH with the -Y parameter (insecure X forwarding), and the XFce4 desktop started up, 1024x768 in Windows XP (my SSH client)! I've never been able to get my N800 to X-Forward from the Hildon desktop, and suddenly, there it was, forwarding the entire N800 desktop to my XP laptop! Cool!

__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!

Last edited by qole; 2008-05-04 at 10:32.
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#54
One last update, and then off to bed.

I can't seem to get xfce4 running on the tablet, because, if the xomap server is running, xfce4 aborts saying that it can't start the x server. If I stop the server (I had to stop the vkb-hider first), the xorg server won't start. See below for the errors that xorg server gave me.

Here's how I shut down the hildon desktop (via SSH). I left the Xomap x-server running.

Code:
/etc/init.d/hildon-session stop
Then, I installed Xephyr, a nested X-Server, to run inside the "XOmap" x-server (apt-get install xserver-xephyr). I did the following commands to get XFce4 to start.

Code:
export DISPLAY=:0
exec /usr/bin/Xephyr :1 -screen 800x480x16 -dpi 96 -ac &
export DISPLAY=:1
startxfce4 &
THIS WORKS, and I can run XFCE4 on the tablet.

------------------

Here are the errors I got when I tried to run xfce4 directly on top of the XOmap x-server (I didn't shut down the XOmap server):

Code:
/usr/bin/startxfce4: X server already running on display :0
Agent pid 3377
The program 'xfce4-session' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadName (named color or font does not exist)'.
  (Details: serial 91 error_code 15 request_code 45 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Agent pid 3377 killed
And here are the errors that I got when I tried to stop Xomap and run XOrg instead:

Code:
This is a pre-release version of the X server from The X.Org Foundation.
It is not supported in any way.
Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.
Select the "xorg" product for bugs you find in this release.
Before reporting bugs in pre-release versions please check the
latest version in the X.Org Foundation git repository.
See http://wiki.x.org/wiki/GitPage for git access instructions.

X.Org X Server 1.4.0.90
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
Build Operating System: Linux Debian (xorg-server 2:1.4.1~git20080131-4)
Current Operating System: Linux Nokia-N800-51-3 2.6.21-omap1 #2 Fri Dec 7 11:17:13 EET 2007 armv6l
Build Date: 30 April 2008  06:36:30PM
 
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sun May  4 11:43:45 2008
(==) Using config file: "/etc/X11/xorg.conf"
xf86PciVideoInfo is not set
Could not get primary PCI info

Backtrace:
0: /usr/bin/X11/X(xf86SigHandler+0x70) [0x76230]

Fatal server error:
Caught signal 11.  Server aborting

XIO:  fatal IO error 104 (Connection reset by peer) on X server ":0.0"
      after 0 requests (0 known processed) with 0 events remaining.
EDIT: It looks like the problem is that I've updated my system too far, and the x server I'm using is experimental and broken.
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!

Last edited by qole; 2008-05-04 at 12:20.
 
Johnx's Avatar
Posts: 643 | Thanked: 628 times | Joined on Mar 2007 @ Seattle (or thereabouts)
#55
startxfce4 starts an x server, then starts an xfce session on top of it. The x server it will try to start is the xorg x server. The x server you *want* to use is the xomap x server. xfce4-session just starts xfce in the running x server. So you can say 'DISPLAY=:0 xfce4-session' and have a running xfce desktop as long as you already have an x server running. Glad to see something is working for you at least though. And isn't X forwarding like the coolest thing ever?
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#56
Originally Posted by Johnx View Post
The x server you *want* to use is the xomap x server. xfce4-session just starts xfce in the running x server. So you can say 'DISPLAY=:0 xfce4-session' and have a running xfce desktop as long as you already have an x server running.
Originally Posted by qole View Post
Here are the errors I got when I tried to run xfce4 directly on top of the XOmap x-server (I didn't shut down the XOmap server):

Code:
/usr/bin/startxfce4: X server already running on display :0
Agent pid 3377
The program 'xfce4-session' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadName (named color or font does not exist)'.
  (Details: serial 91 error_code 15 request_code 45 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Agent pid 3377 killed
As I said above, I found I had to run the Xephyr nested server on top of the Xomap server in order to get xfce4 to start.
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 
Johnx's Avatar
Posts: 643 | Thanked: 628 times | Joined on Mar 2007 @ Seattle (or thereabouts)
#57
I believe I ran into it as well. I had trouble tracking it down, but it seemed to go away after I installed some fonts. I really can't tell you the root cause though. My other thought is that it might be some left-over part of hildon interfering the xfce. Make sure you kill off hildon session and restart the x server, before starting xfce.

-John
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#58
Originally Posted by Johnx View Post
I believe I ran into it as well. I had trouble tracking it down, but it seemed to go away after I installed some fonts. I really can't tell you the root cause though.
I can't get xfce4 to start on the Xomap server at all. But my Xephyr method works. I'm pretty sure I'll be able to get it to boot directly to xfce4 instead of Hildon using Xephyr on top of Xomap. This server-on-server action doesn't seem to have a serious (if any) performance penalty.

Some notes on booting to Debian.
  • You want to set as much up as possible using the chroot method, because you have access to your full Maemo system.
  • If you want to use vncserver, the only one currently available for armel is tightvncserver.
  • It always takes two boots on my system. The first boot just sits at the booting screen for a couple of minutes then it reboots the system (you have to be quick on the menu button to tell it to boot again to the Debian partition), then the second boot gets to the Hildon desktop.
  • With the proper wlan0 settings in /etc/network/interfaces (as Johnx stated above), you can auto-connect to your wireless by adding two lines to /etc/rc.local ...
    Code:
    ifdown wlan0
    ifup wlan0
    Do not ask me why you need to take it down and put it back up. It works.
  • The internal flash and the SD cards don't have any entries under /mnt so there's no way to mount anything else. This would seem to be a high priority for any future versions.
  • Without any power management utilities, it can be a rather sudden shock when the battery runs out and your tablet goes black.

Some notes on running xfce4 on Debian:
  • No pressure sensitivity. Is there some other kind of mouse driver we should be using? A tablet driver, perhaps?
  • No touchscreen calibration. It can be a bit of a challenge to remember where you need to click.
  • No HW key mappings or right-click. I think we'll need some of the hacks developed for penguinbait's KDE.
  • Bluetooth Manager crashes with some sort of DBus exception in the Bluetooth audio section.
  • Transparency is cool! You can make xvkbd transparent so you can see what you're typing into the window below.
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#59
Sorry for all the posts. This is a different question, though.

I want to be able to chroot to my Debian partition and run X programs.

When I try running any kind of X program from the chroot, however, I get some variation on "cannot open display".

Anybody have any ideas? I've tried messing with xhost, the DISPLAY variable, etc. I just can't figure it out.
EDIT: I got it figured out!

I just needed to bind the /tmp and /dev/pts dirs.

Here's my chroot script. See below for notes.
Code:
###
#mount the Debian partition.
insmod /mnt/initfs/lib/modules/2.6.21-omap1/mbcache.ko
insmod /mnt/initfs/lib/modules/2.6.21-omap1/ext2.ko
mount /dev/mmcblk0p4 /opt -o noatime
###
#make the tablet's devices available to Debian.
mount --bind /dev /opt/dev
mount --bind /proc /opt/proc
###
#Gentoo wiki says this will make X work.
mount -t devpts none /opt/dev/pts
mount --bind /tmp /opt/tmp
###
#Mount various external devices (SD cards, USB devices)
mount --bind /media /opt/media
mount --bind /media/mmc1 /opt/media/mmc1
mount --bind /media/mmc2 /opt/media/mmc2
mount --bind /media/usb /opt/media/usb
###
#Make the Internet work.
cp /opt/etc/resolv.conf /opt/etc/resolv.conf.old
cp /etc/resolv.conf /opt/etc/resolv.conf
cp /opt/etc/hosts /opt/etc/hosts.old
cp /etc/hosts /opt/etc/hosts
###
#Custom prompt. Reduces confusion.
export PS1="[\u@Debian: \w]"
###
#Actually chroot. 
chroot /opt
Here's Debian armel XEyes running on my Hildon desktop.

Notes:
  • You will need to change /dev/mmcblk0p4 to your partition.
  • You may want to mount the partition somewhere other than /opt
  • The N810 will have a different internal SD card structure.
  • I have managed to make the standard Debian MPlayer display the feed from the built-in camera, using this trick.
  • Haven't done a huge amount of testing. Tried to install gedit, crashed the tablet.
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!

Last edited by qole; 2008-05-09 at 06:56. Reason: fixed the SD card mounting
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#60
Only now does it become clear that:

THIS CHANGES EVERYTHING.

Using PenguinBait's KDE and the Debian armel chroot with full access to all of the tablet's hardware, we have a COMPLETE WORKING DEBIAN SYSTEM ON THE TABLET.

I can install and run Epiphany Webkit, Gimp, VLC... you name it, all on the tablet, and all recognizing the tablet's hardware, SD cards, WiFi, bluetooth, and USB connections, and all working alongside the tablet's interface... no compiling, no hassles, all running at full speed.

I'm in heaven. This whole Debian thing went from being early beta to right-now-usable for me!

I will post several (astonishing) screenshots later today.
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!

Last edited by qole; 2008-05-09 at 06:55.
 

The Following 3 Users Say Thank You to qole For This Useful Post:
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 05:44.