Jump to content


Photo

Ubuntu Linux 11.04 (natty) on Vega (update 13/4)


  • Please log in to reply
208 replies to this topic

#81
hybr1d

hybr1d

    Newbie

  • Members
  • Pip
  • 43 posts

I'm on latest Xorg 1.9.

Do you have a link to the fix.


I just started working when I updated to 1.9.99.902
I'm in the process of trying to get 1.6 working at the moment (so I can use the nvidia tegra drivers) so I can't really check what changed

  • 0

#82
hybr1d

hybr1d

    Newbie

  • Members
  • Pip
  • 43 posts

I just started working when I updated to 1.9.99.902
I'm in the process of trying to get 1.6 working at the moment (so I can use the nvidia tegra drivers) so I can't really check what changed


I've been doing some investigation and the problem looks to be that the device (/dev/input/event3 in my case) is reporting X/Y co-ord on Event code 53 and 54 instead of 0 and 1 (see output of 'evtest /dev/input/event3')
The codes 0 and 1 are always just reporting zero :(
We need to determine how to tell the evdev driver to look at a different event code to get it's values.
I'm guessing that the driver in 1.99.99 already has this re-mapping done to it?

  • 0

#83
vgrade

vgrade

    Newbie

  • Members
  • Pip
  • 43 posts
Thanks hybrid

I've been doing some investigation and the problem looks to be that the device (/dev/input/event3 in my case) is reporting X/Y co-ord on Event code 53 and 54 instead of 0 and 1 (see output of 'evtest /dev/input/event3')
The codes 0 and 1 are always just reporting zero :(
We need to determine how to tell the evdev driver to look at a different event code to get it's values.
I'm guessing that the driver in 1.99.99 already has this re-mapping done to it?


  • 0

#84
vgrade

vgrade

    Newbie

  • Members
  • Pip
  • 43 posts
OK works with my Xorg veriosn without changes by using the mtev driver


I've been doing some investigation and the problem looks to be that the device (/dev/input/event3 in my case) is reporting X/Y co-ord on Event code 53 and 54 instead of 0 and 1 (see output of 'evtest /dev/input/event3')
The codes 0 and 1 are always just reporting zero :(
We need to determine how to tell the evdev driver to look at a different event code to get it's values.
I'm guessing that the driver in 1.99.99 already has this re-mapping done to it?


  • 0

#85
vgrade

vgrade

    Newbie

  • Members
  • Pip
  • 43 posts


OK works with my Xorg veriosn without changes by using the mtev driver


  • 0

#86
Michael_llewellyn

Michael_llewellyn

    Newbie

  • Members
  • Pip
  • 16 posts
  • Devices:Vega
:)

Thanks for sharing your work guys, it has allowed us mere mortals to follow in your footsteps along the beaten track :(

Did you compile the mtev driver from git or have you found some binaries somewhere?

Update: I compiled mtev and added a xorg.conf entry. The Xorg log indicates that mtev loads, sets up a new mouse device then unloads on an error (EN_SYN needed but missing). The touchscreen now works put X has no left click facility. Looking at the mtev source it would seem that mtev quits before configuring the mouse buttons -
int caps_read(struct mtev_caps *caps, int fd)
{
	unsigned long evbits[nlongs(EV_MAX)];
	unsigned long absbits[nlongs(ABS_MAX)];
	unsigned long keybits[nlongs(KEY_MAX)];
	int rc;

	memset(caps, 0, sizeof(struct mtev_caps));

	SYSCALL(rc = ioctl(fd, EVIOCGBIT(EV_SYN, sizeof(evbits)), evbits));
	if (rc < 0) {
		xf86Msg(X_ERROR, "mtev: EV_SYN needed but missing\n");
		return rc;
	}

	SYSCALL(rc = ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(keybits)), keybits));
	if (rc < 0) {
		xf86Msg(X_ERROR, "mtev: EV_KEY needed but missing\n");
		return rc;
	}
	SYSCALL(rc = ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(absbits)), absbits));
	if (rc < 0) {
		xf86Msg(X_ERROR, "mtev: EV_ABS needed but missing\n");
		return rc;
	}

	caps->has_left = getbit(keybits, BTN_LEFT);
	caps->has_middle = getbit(keybits, BTN_MIDDLE);
	caps->has_right = getbit(keybits, BTN_RIGHT);


Is this something to do with how kernel events are sent by the kernel?

PS here is a photo of my debian install :(

Attached Files


Edited by Michael_llewellyn, 12 March 2011 - 10:58 AM.

  • 0

#87
Teo`

Teo`

    Newbie

  • Members
  • Pip
  • 8 posts
  • Devices:PoV Mobii TEGRA
Please excuse me if this question seems silly but where do I get the bootloader.bin file? nvflash fails without it.
file not found: ./bootloader.bin																																																					
command failure: bootloader download failed

Update: never mind, I used the one from the official Vega ROM and it seems to work

Update: Works nicely and faster than I expected. Even KDE installs and mostly works. Unfortunately neither GNOME nor KDE in their present stable state have a finger-friendly UI and aren't really usable for me on the Vega.

Edited by Teo`, 14 March 2011 - 12:06 PM.

  • 0

#88
YeftyBar

YeftyBar

    Newbie

  • Members
  • Pip
  • 2 posts
You might like to look at the debian on openmoko experience for some hints on getting things finger friendly. That's a touchscreen smartphone with 640x680 unaccelerated display, 400MHz armv4 processor and no keyboard, so if it works there it should be fine on a tegra. I guess you won't find everything packaged for ubuntu, but if you're lucky the debian ones might work. You would probably get better performance if you recompile though. Enlightenment E17 with Illume2 should be good, especially if you can find the left-click gadget. libgtkstylus might be useful too.

  • 0

#89
hybr1d

hybr1d

    Newbie

  • Members
  • Pip
  • 43 posts

OK works with my Xorg veriosn without changes by using the mtev driver


I've been trying to recompile the mtev driver with xorg 1.6 but it fails for me.
(I'm running 1.6 so that I can use the accellerated tegra drivers which work quite nice :D )
I just get a bunch of errors such as:
gcc -I/usr/include/xorg -I/usr/include/pixman-1 -O2 -g -Wall -fpic -c src/multitouch.c -o obj/src/multitouch.oIn file included from src/multitouch.c:27:/usr/include/xorg/exevents.h:51: error: expected ')' before 'int'/usr/include/xorg/exevents.h:56: error: expected ')' before 'int'

Any ideas why it is failing?

  • 0

#90
vgrade

vgrade

    Newbie

  • Members
  • Pip
  • 43 posts
hybr1d hi,

A lot has changed since 1.6 I'm sure this is the issue.

Anyway no need for accelerated gfx in fennec

http://mge.bz/6k

vgrade


I've been trying to recompile the mtev driver with xorg 1.6 but it fails for me.
(I'm running 1.6 so that I can use the accellerated tegra drivers which work quite nice :D )
I just get a bunch of errors such as:

gcc -I/usr/include/xorg -I/usr/include/pixman-1 -O2 -g -Wall -fpic -c src/multitouch.c -o obj/src/multitouch.oIn file included from src/multitouch.c:27:/usr/include/xorg/exevents.h:51: error: expected ')' before 'int'/usr/include/xorg/exevents.h:56: error: expected ')' before 'int'

Any ideas why it is failing?


  • 0

#91
hybr1d

hybr1d

    Newbie

  • Members
  • Pip
  • 43 posts
That's looking awesome :D
You're probably right that it is just a 1.6/19 issue stopping the compile.

I'd still like to get things working on 1.6 since my aim is to allow the vega to be used as a 'netbook replacement' rather than as a tablet (meego/android are much better suited to tablet usage) and so getting full performance in X is desired.
I'll keep working on things and see how they go :(

hybr1d hi,

A lot has changed since 1.6 I'm sure this is the issue.

Anyway no need for accelerated gfx in fennec

http://mge.bz/6k

vgrade


  • 0

#92
vgrade

vgrade

    Newbie

  • Members
  • Pip
  • 43 posts
I'll keep you updated as we have a couple of nVidia contacts we are pushing to build some Xorg drivers

That's looking awesome :D
You're probably right that it is just a 1.6/19 issue stopping the compile.

I'd still like to get things working on 1.6 since my aim is to allow the vega to be used as a 'netbook replacement' rather than as a tablet (meego/android are much better suited to tablet usage) and so getting full performance in X is desired.
I'll keep working on things and see how they go :(


  • 0

#93
hybr1d

hybr1d

    Newbie

  • Members
  • Pip
  • 43 posts

I'll keep you updated as we have a couple of nVidia contacts we are pushing to build some Xorg drivers


Thanks, that would be even better :D

  • 0

#94
Panayioti

Panayioti

    Enthusiast

  • Members
  • PipPipPip
  • 174 posts
  • Gender:Male
  • Devices:Advent Vega

That's looking awesome :D
You're probably right that it is just a 1.6/19 issue stopping the compile.

I'd still like to get things working on 1.6 since my aim is to allow the vega to be used as a 'netbook replacement' rather than as a tablet (meego/android are much better suited to tablet usage) and so getting full performance in X is desired.
I'll keep working on things and see how they go :(

Well good luck because thats what i would like to use it as (netbook/laptop). Anyway Im new to ubuntu so what files does it use to install a program? (Windows uses .exe)

Thanks

Edited by Panayioti, 15 March 2011 - 06:55 PM.

  • 0

#95
Michael_llewellyn

Michael_llewellyn

    Newbie

  • Members
  • Pip
  • 16 posts
  • Devices:Vega

I've been trying to recompile the mtev driver with xorg 1.6 but it fails for me.
(I'm running 1.6 so that I can use the accellerated tegra drivers which work quite nice :D )
I just get a bunch of errors such as:

gcc -I/usr/include/xorg -I/usr/include/pixman-1 -O2 -g -Wall -fpic -c src/multitouch.c -o obj/src/multitouch.oIn file included from src/multitouch.c:27:/usr/include/xorg/exevents.h:51: error: expected ')' before 'int'/usr/include/xorg/exevents.h:56: error: expected ')' before 'int'

Any ideas why it is failing?



I don't know why it's failing but I compiled mtev against xorg 1.6 on my debian base. My record of cross compiling is poor so I've been compiling things directly on the vega. Although it is a bit like watching paint dry.

I'm not home at the mo but If you like I'll upload my mtev binaries when I get back tomorrow night.

Michael

PS - stupid question but have you tried to use ignore ABI server flag in X? It froze my vega when I tried but I was just curious as I thought the nvidia should run against xorg 1.6 (although the driver reports it's compiled for 1.5)

EDIT - I didn't read your post fully - I didn't realise you had the nvidia driver running! Is it a different binary from the one in the tegra developer l4t rootfs?

Edited by Michael_llewellyn, 15 March 2011 - 09:13 PM.

  • 0

#96
hybr1d

hybr1d

    Newbie

  • Members
  • Pip
  • 43 posts

I don't know why it's failing but I compiled mtev against xorg 1.6 on my debian base. My record of cross compiling is poor so I've been compiling things directly on the vega. Although it is a bit like watching paint dry.

I'm not home at the mo but If you like I'll upload my mtev binaries when I get back tomorrow night.

Michael

PS - stupid question but have you tried to use ignore ABI server flag in X? It froze my vega when I tried but I was just curious as I thought the nvidia should run against xorg 1.6 (although the driver reports it's compiled for 1.5)

EDIT - I didn't read your post fully - I didn't realise you had the nvidia driver running! Is it a different binary from the one in the tegra developer l4t rootfs?


Which compiler version did you use?
The nvidia driver i'm using is just the one from the most recent linux4tegra download

  • 0

#97
Michael_llewellyn

Michael_llewellyn

    Newbie

  • Members
  • Pip
  • 16 posts
  • Devices:Vega
Here it is. Versions numbers are as follows. You may notice that my X version is 1.7 not 1.6 *red face*
gcc/squeeze uptodate 4:4.4.5-1
gcc-4.4/squeeze uptodate 4.4.5-8
gcc-4.4-base/squeeze uptodate 4.4.5-8
g++/squeeze uptodate 4:4.4.5-1
g++-4.4/squeeze uptodate 4.4.5-8
xorg/squeeze uptodate 1:7.5+8
xorg-dev/squeeze uptodate 1:7.5+8
libpixman-1-dev/squeeze uptodate 0.16.4-1
x11proto-bigreqs-dev/squeeze uptodate 1:1.1.0-1
x11proto-composite-dev/squeeze uptodate 1:0.4.1-1
x11proto-core-dev/squeeze uptodate 7.0.16-1
x11proto-damage-dev/squeeze uptodate 1:1.2.0-1
x11proto-dmx-dev/squeeze uptodate 1:2.3-2
x11proto-dri2-dev/squeeze uptodate 2.3-1
x11proto-fixes-dev/squeeze uptodate 1:4.1.1-2
x11proto-fonts-dev/squeeze uptodate 2.1.0-1
x11proto-gl-dev/squeeze uptodate 1.4.11-1
x11proto-input-dev/squeeze uptodate 2.0-2
x11proto-kb-dev/squeeze uptodate 1.0.4-1
x11proto-randr-dev/squeeze uptodate 1.3.1-1
x11proto-record-dev/squeeze uptodate 1.14-2
x11proto-render-dev/squeeze uptodate 2:0.11-1
x11proto-resource-dev/squeeze uptodate 1.1.0-1
x11proto-scrnsaver-dev/squeeze uptodate 1.2.0-2
x11proto-video-dev/squeeze uptodate 2.3.0-1
x11proto-xcmisc-dev/squeeze uptodate 1.2.0-1
x11proto-xext-dev/squeeze uptodate 7.1.1-2
x11proto-xf86bigfont-dev/squeeze uptodate 1.2.0-2
x11proto-xf86dga-dev/squeeze uptodate 2.1-2
x11proto-xf86dri-dev/squeeze uptodate 2.1.0-1
x11proto-xf86vidmode-dev/squeeze uptodate 2.3-2
x11proto-xinerama-dev/squeeze uptodate 1.2-2
xkb-data/squeeze uptodate 1.8-2

Most of them are probably not relevant but I'd rather be over inclusive. I based them of this:
PkgConfigBR:
	- xorg-server
	- xkbfile
	- xproto
	- inputproto
	- xrandr
	- randrproto
	- xextproto

I had a google and it looks like multiple mouse pointers were not added until xorg 1.7 (http://www.x.org/wiki/Releases/7.5) when they added xinput2 and MPX (http://en.wikipedia....Multi-Pointer_X). MPX was working pre 1.7 and wasn't part of xorg branch so maybe explore how MPX was enabled in previous versions...

Attached Files


Edited by Michael_llewellyn, 17 March 2011 - 12:41 AM.

  • 0

#98
hybr1d

hybr1d

    Newbie

  • Members
  • Pip
  • 43 posts

Here it is. Versions numbers are as follows. You may notice that my X version is 1.7 not 1.6 *red face*

gcc/squeeze uptodate 4:4.4.5-1
gcc-4.4/squeeze uptodate 4.4.5-8
gcc-4.4-base/squeeze uptodate 4.4.5-8
g++/squeeze uptodate 4:4.4.5-1
g++-4.4/squeeze uptodate 4.4.5-8
xorg/squeeze uptodate 1:7.5+8
xorg-dev/squeeze uptodate 1:7.5+8
libpixman-1-dev/squeeze uptodate 0.16.4-1
x11proto-bigreqs-dev/squeeze uptodate 1:1.1.0-1
x11proto-composite-dev/squeeze uptodate 1:0.4.1-1
x11proto-core-dev/squeeze uptodate 7.0.16-1
x11proto-damage-dev/squeeze uptodate 1:1.2.0-1
x11proto-dmx-dev/squeeze uptodate 1:2.3-2
x11proto-dri2-dev/squeeze uptodate 2.3-1
x11proto-fixes-dev/squeeze uptodate 1:4.1.1-2
x11proto-fonts-dev/squeeze uptodate 2.1.0-1
x11proto-gl-dev/squeeze uptodate 1.4.11-1
x11proto-input-dev/squeeze uptodate 2.0-2
x11proto-kb-dev/squeeze uptodate 1.0.4-1
x11proto-randr-dev/squeeze uptodate 1.3.1-1
x11proto-record-dev/squeeze uptodate 1.14-2
x11proto-render-dev/squeeze uptodate 2:0.11-1
x11proto-resource-dev/squeeze uptodate 1.1.0-1
x11proto-scrnsaver-dev/squeeze uptodate 1.2.0-2
x11proto-video-dev/squeeze uptodate 2.3.0-1
x11proto-xcmisc-dev/squeeze uptodate 1.2.0-1
x11proto-xext-dev/squeeze uptodate 7.1.1-2
x11proto-xf86bigfont-dev/squeeze uptodate 1.2.0-2
x11proto-xf86dga-dev/squeeze uptodate 2.1-2
x11proto-xf86dri-dev/squeeze uptodate 2.1.0-1
x11proto-xf86vidmode-dev/squeeze uptodate 2.3-2
x11proto-xinerama-dev/squeeze uptodate 1.2-2
xkb-data/squeeze uptodate 1.8-2

Most of them are probably not relevant but I'd rather be over inclusive. I based them of this:
PkgConfigBR:
	- xorg-server
	- xkbfile
	- xproto
	- inputproto
	- xrandr
	- randrproto
	- xextproto

I had a google and it looks like multiple mouse pointers were not added until xorg 1.7 (http://www.x.org/wiki/Releases/7.5) when they added xinput2 and MPX (http://en.wikipedia....Multi-Pointer_X). MPX was working pre 1.7 and wasn't part of xorg branch so maybe explore how MPX was enabled in previous versions...


Ahh - you are running a newer xorg than 1.6 - so the binary you uploaded won't work on my install.
It really does seem that I'll have to accept either a working touchscreen OR accelerated X at this point :D

  • 0

#99
hybr1d

hybr1d

    Newbie

  • Members
  • Pip
  • 43 posts

Ahh - you are running a newer xorg than 1.6 - so the binary you uploaded won't work on my install.
It really does seem that I'll have to accept either a working touchscreen OR accelerated X at this point :D


I found the root cause of why events were not being reported properly.
The kernel was reporting pointer location as ABS_MT_POSITION_X/ABS_MT_POSITION_Y instead of ABS_X/ABS_Y
The new names are for multi-touch devices but evdev 2.2.5 doesn't understand that
I have patched/recompiled the evdev driver to use the new axes and it is working!!

  • 0

#100
the_corvus

the_corvus

    Enthusiast

  • Members
  • PipPipPip
  • 200 posts

I found the root cause of why events were not being reported properly.
The kernel was reporting pointer location as ABS_MT_POSITION_X/ABS_MT_POSITION_Y instead of ABS_X/ABS_Y
The new names are for multi-touch devices but evdev 2.2.5 doesn't understand that
I have patched/recompiled the evdev driver to use the new axes and it is working!!



So we have a ubuntu with touchscreen and X accel working?

Corvus.

  • 0
If you like my work, you can buy me some beer... Press here.

If you have a problem, i will spend the same time helping you than you've spent for asking for help, so write a detailed description of your problem.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users