Xorg With Breakout Box


Parkydr posted on May 13 2006 at 05:18 PM said:
I've got XFree86 compiling now - takes ages
Are you compiling the full thing or the smaller server? Once you've compiled it once, you can compile the server you want on its own. I think I've found a way of getting the joystick to act as a mouse, I'm in the middle of writing a driver now (I just need to work out how to combine 4 individual bytes to form an unsigned long).
 
Last edited by a moderator:
Orkie posted on May 13 2006 at 06:02 PM said:
Are you compiling the full thing or the smaller server? Once you've compiled it once, you can compile the server you want on its own. I think I've found a way of getting the joystick to act as a mouse, I'm in the middle of writing a driver now (I just need to work out how to combine 4 individual bytes to form an unsigned long).

I was just trying to get the smaller server, I think I've missed something because my Xfbdev is about 1 MB rather than 700k
 
Last edited by a moderator:
Orkie/ Parkydr -

Do neither of you have a EXT USB host adapter with a USB keyboard and mouse to test X11 with? I wouldn't be bothered controlling it with joystick for mouse and then clicking on a virtual keyboard if thats what you have in mind. It would be a good fall-back option though.
 
Parkydr posted on May 13 2006 at 04:05 AM said:
The credit should go to Orkie, I've been trying to get my head round the X build system and it's not an easy task. All I've done is a bit of configuration and used the X server as a remote display. I've not had to write a single line of code.

The X as a remote display should be enough for portable browsing if you can send the screen over a Wifi link and send keypress info back to a PC, a diskless 633mhz Via Epia Mini-ITX could surely feed it with enough to enable smooth, smooth web browsing shouldn't it?

And it might be good for some TV-Out browsing or email.

I don't mean this to downplay efforts to get full browser's on the GP2X, but this is cool and it could move the bulk of the memory and processing to a server elsewhere when at home.
 
Last edited by a moderator:
danboid posted on May 13 2006 at 09:11 PM said:
Orkie/ Parkydr -

Do neither of you have a EXT USB host adapter with a USB keyboard and mouse to test X11 with? I wouldn't be bothered controlling it with joystick for mouse and then clicking on a virtual keyboard if thats what you have in mind. It would be a good fall-back option though.

I don't have a EXT USB host adapter. I'm interested in having an X server because there are many applications that are made available by having an X available (I've also done quite a bit of X programming in my day job).
 
Last edited by a moderator:
nubie posted on May 13 2006 at 09:21 PM said:
The X as a remote display should be enough for portable browsing if you can send the screen over a Wifi link and send keypress info back to a PC, a diskless 633mhz Via Epia Mini-ITX could surely feed it with enough to enable smooth, smooth web browsing shouldn't it?

And it might be good for some TV-Out browsing or email.

I don't mean this to downplay efforts to get full browser's on the GP2X, but this is cool and it could move the bulk of the memory and processing to a server elsewhere when at home.

It's possible to use the GP2X as a remote X terminal, it's what I've been doing (the display part anyway). You're not going to see Firefox on the GP2X - it uses too much memory but other light weight browsers will be possible.
 
Last edited by a moderator:
I have a break out board but my USB keyboard is dead and I can't get my optical mouse to do anything. I'm currently trying to write a driver to use the GP2X controls as a mouse and then I'll probably try to find a small virtual keyboard.

Statically linked, the server should be 6-8MB. To compile it like that, you need to compile it with only the -msoft-float option via CDEBUGFLAGS (I haven't compiled it with this but I assume it would work), then compile the Xserver with only -static.
 
Orkie posted on May 13 2006 at 10:27 PM said:
Statically linked, the server should be 6-8MB. To compile it like that, you need to compile it with only the -msoft-float option via CDEBUGFLAGS (I haven't compiled it with this but I assume it would work), then compile the Xserver with only -static.

I couldn't get CDEBUGFLAGS read directly. After looking through the makefiles, I ended up putting the following in my hosts.def file

Code:
#define OptimizedCDebugFlags	   -O2 -msoft-float
#define ServerCDebugFlags		  -static
 
Last edited by a moderator:
Parkydr posted on May 14 2006 at 11:47 AM said:
Orkie posted on May 13 2006 at 10:27 PM said:
Statically linked, the server should be 6-8MB. To compile it like that, you need to compile it with only the -msoft-float option via CDEBUGFLAGS (I haven't compiled it with this but I assume it would work), then compile the Xserver with only -static.

I couldn't get CDEBUGFLAGS read directly. After looking through the makefiles, I ended up putting the following in my hosts.def file

Code:
#define OptimizedCDebugFlags	   -O2 -msoft-float
#define ServerCDebugFlags		  -static

You might be interested in the version of gpm which I've compiled for the GP2X (I've written a basic driver to use the joystick as a pointer, but the mouse buttons aren't yet working and I'm still working on it). It is possible to use gpm as a repeater for X if X doesn't support the mouse protocol but gpm does by using the -R option, but I can't get it to work with my X server so if you can work it out, please let me know how you did it, then I'll finish off the driver and compile a complete package with gpm, X and the X libraries.

http://www.orkiesrealm.co.uk/x11-14may2006.zip (vanilla static X build with a single line added to make it search for a mouse at /dev/gpmdata as well as the other locations & gpm with the gp2x driver)

To run it, you need to pass -m /dev/GPIO -t gp2x followed by whatever other options you wish to use. If you kill the gp2xmenu then run it, you can try it out not in X.

STATUS UPDATE (15th May 2006): I have gotten the joystick to act as a mouse as long as you don't mind it only going up and being stuck to the left hand side of the screen (not sure what it causing that yet) :) Other than that, it works fine!
 
Last edited by a moderator:
I don't think anyone really thought we would get firefox running with decent speed on the gp2x , but some leightweight browsers like k-meleon, dillo or something similar should be possible. Firefox is even on modern computers kind of slow sometimes :D (i use it tough, I admit ;D )
 
Orkie posted on May 14 2006 at 01:18 PM said:
You might be interested in the version of gpm which I've compiled for the GP2X (I've written a basic driver to use the joystick as a pointer, but the mouse buttons aren't yet working and I'm still working on it). It is possible to use gpm as a repeater for X if X doesn't support the mouse protocol but gpm does by using the -R option, but I can't get it to work with my X server so if you can work it out, please let me know how you did it, then I'll finish off the driver and compile a complete package with gpm, X and the X libraries.

http://www.orkiesrealm.co.uk/x11-14may2006.zip (vanilla static X build with a single line added to make it search for a mouse at /dev/gpmdata as well as the other locations & gpm with the gp2x driver)

To run it, you need to pass -m /dev/GPIO -t gp2x followed by whatever other options you wish to use. If you kill the gp2xmenu then run it, you can try it out not in X.

I'll give it a go
 
Last edited by a moderator:
im of the general idea that X is evil,bad,huge,slow,bloated on an embedded device then i stumled on an kernel module called fbui an framebuffer windowing driver (gives the framebuffer much of the functionality of X)

so how big is it ?

[hold on to your hat] :ph34r:

50kb :blink:

http://fbui.org/
 
evol posted on May 14 2006 at 11:44 PM said:
im of the general idea that X is evil,bad,huge,slow,bloated on an embedded device then i stumled on an kernel module called fbui an framebuffer windowing driver (gives the framebuffer much of the functionality of X)

so how big is it ?

[hold on to your hat] :ph34r:

50kb :blink:

http://fbui.org/

X is over the top for embedded systems, but the point of getting X to work is to reduce the effort needed port applications. If you want to rewrite the UI, you might just as well use SDL.

X has extra features (or bloat :) ) that can be useful, such as been able to display applications remotely, which is what I've been doing.
 
Last edited by a moderator:
Just A thought but couldn't we increase the size of the screen using a virtual rez. I haven't seen it done in a while, but Im sure you know what Im talking about. For those that don't, your physical screen might be 320x240 you can have a virtual screen of what ever you like. Granted its kindof a pain having to mv back an forth from one side of the screen to the other but its a thought :)
 
Aimless_E posted on May 15 2006 at 04:32 PM said:
Just A thought but couldn't we increase the size of the screen using a virtual rez. I haven't seen it done in a while, but Im sure you know what Im talking about. For those that don't, your physical screen might be 320x240 you can have a virtual screen of what ever you like. Granted its kindof a pain having to mv back an forth from one side of the screen to the other but its a thought :)
It may be possible, I'll look into it when I get chance though I'm not sure if kdrive supports larger than physical screens.

Another progress report: I now have a working mouse driver inside X. There are two problems with it though. The first is that it refuses to allow the mouse to work without gpm running in the background (despite the fact that I'm no longer using that for the mouse, I moved the code into kdrive itself) and the second is that the mouse is really jumpy - so jumpy that if you knock the stick, it leaps almost instantaneously to the other side of the screen.

EDIT: The joystick-as-mouse driver now works nearly perfectly. I'll post some more info tommorow.
 
Last edited by a moderator:
Orkie posted on May 15 2006 at 07:38 PM said:
Aimless_E posted on May 15 2006 at 04:32 PM said:
Just A thought but couldn't we increase the size of the screen using a virtual rez. I haven't seen it done in a while, but Im sure you know what Im talking about. For those that don't, your physical screen might be 320x240 you can have a virtual screen of what ever you like. Granted its kindof a pain having to mv back an forth from one side of the screen to the other but its a thought :)
It may be possible, I'll look into it when I get chance though I'm not sure if kdrive supports larger than physical screens.

Another progress report: I now have a working mouse driver inside X. There are two problems with it though. The first is that it refuses to allow the mouse to work without gpm running in the background (despite the fact that I'm no longer using that for the mouse, I moved the code into kdrive itself) and the second is that the mouse is really jumpy - so jumpy that if you knock the stick, it leaps almost instantaneously to the other side of the screen.

EDIT: The joystick-as-mouse driver now works nearly perfectly. I'll post some more info tommorow.

Thats good news, but I really just want to hear from someone who has got a normal USB keyboard and mouse working with it. Anyone got all the kit required to test this out?

Orkie- are you going to try and get 640x480 TV output working under X too?
 
Last edited by a moderator:
I have the bits to test it out, but I can't get my USB mouse working with the GP2X at all, otherwise I would've already.

I'll take a look at TV-out at some point but the next thing I would like to do is remove the dependency on gpm. I have released a build for everybody to try (kindly hosted by Khato): http://khato.fatfurs.co.uk/orkie/gp2x11-RC1.2.zip

You need to cd into the x11 directory on the root of your SD card and run ./x11.gpu. The joystick acts as the mouse, B=left button, X=right button and Y=middle button. The script launches X, xeyes and xvkbd (a virtual keyboard). You can't yet run it from the menu.

 
Thanks and congratulations to anyone who made progress with X !

Because of the higher virtual resolution, as I said before, up to 1024x should be possible in terms of hardware, but I wonder if it wouldn't be even smarter to have - workspaces - where you launch programs in (like one for each space, switch with L/R/button combination? ).

TV-Screen-Resolution would be amazing ;D !
 
Orkie-

Have you tried your mouse (and keyboard) under the gp2x port of Qtopia? That would be a good test of your hardware setup if you haven't tried it already.

Thanks for the screenshot- shame that vkbd panel is so big! Is there not a way to make it smaller? As it is it looks like we'll be lucky to fit that onto a 640x480 desktop, nevermind 320x240.

Can't wait for TV-out support under gp2x11- hopefully we'll have a BoB to try it all out with soon..

evol-

Thanks for that link to fbui- I'd never heard of that project before. If fbui can offer similar functionality to fltk then it should be an interesting project to watch out for- there are of course great advantages to dumping the 2 decade old X-Window legacy.

If you think X is slow though its because you haven't tried the ROX desktop yet. On an average PC, from the X login screen it takes around 1s to load, if that. Its VERY fast all round and will run fine in 32MB RAM. Its fully featured yet lightweight file manager rox-filer features picture and video preview icons, the cleanest interface you could hope for and, importantly I think, loads instantly. Drag and drop is used extensively and unlike many X windows managers you can easily make links to apps or files on the desktop. Under the new rox-desktop package for Debian that I've been testing it has all this and pre-configured automounting/ easy unmounting of removeable drives. Add all this onto the facts that its open-source and you can run it on everything from a Zaurus, an XBOX, a PS2, a 10yr old PC and very soon the GP2X.. its my perfect desktop!
 
Back
Top