Jump to content

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


Guest hybr1d

Recommended Posts

Guest unwowed

Thanks for all the hard work, guys.

I followed the simple version of the guide in the first post and got this:

After the

[ 13.653349] AR6000 Reg Code = 0x60

the booting stops, and the following message is being repeated every two minutes:

INFO: task cpufreq-dvfsd:38 blocked for more than 120 seconds.

cpufreq-dvfsd D c04a747c 0 38 2 0x00000000

Backtrace:

Function entered at [<c04a716c>] from [<c00c288c>]

Function entered at [<c00c281c>] from [<c00af3ac>]

r6:00000000 r5:00000000 r4:00000000

after 15 or so minutes it finally loads into the desktop environment and runs extremely slowly. Does anyone know how to fix this?

Link to comment
Share on other sites

Guest vgrade

Hi Mate,

Did you do something special to get touch working.

I can see touch events coming through when I do xinput -test and pointer moves but always to 0,0.

It seems the touch point is coming through in a[5], a[6] elements

Thanks

vgrade

Ubuntu does manage to boot/run okay now - it is just rather slow to load X due to delays in udevd (it is forking a large number of threads and taking a long time to parse the various rules.d files)

If you give it time it will get there eventually :(

Wifi is working better now (you can use network-manager to handle connections like normal) and performance is slightly improved

I'll upload an updated root image soon.

ubuntu-screenshot.jpg

Link to comment
Share on other sites

Guest hybr1d
Hi Mate,

Did you do something special to get touch working.

I can see touch events coming through when I do xinput -test and pointer moves but always to 0,0.

It seems the touch point is coming through in a[5], a[6] elements

Thanks

vgrade

This was fixed up in later X-server releases (so breaks when I try to move back to 1.6 :( )

Link to comment
Share on other sites

Guest hybr1d
Thanks for all the hard work, guys.

I followed the simple version of the guide in the first post and got this:

After the

[ 13.653349] AR6000 Reg Code = 0x60

the booting stops, and the following message is being repeated every two minutes:

INFO: task cpufreq-dvfsd:38 blocked for more than 120 seconds.

cpufreq-dvfsd D c04a747c 0 38 2 0x00000000

Backtrace:

Function entered at [<c04a716c>] from [<c00c288c>]

Function entered at [<c00c281c>] from [<c00af3ac>]

r6:00000000 r5:00000000 r4:00000000

after 15 or so minutes it finally loads into the desktop environment and runs extremely slowly. Does anyone know how to fix this?

Are you using the most recent version of my rootfs?

There was a problem with rsyslog that needed fixing and was only fixed a day or so ago.

The slow bootis mostly due to slow IO to the root device - you may get better performance from a higher speed microSD card (I'm using a class 10 one)

Link to comment
Share on other sites

Guest vgrade

I'm on latest Xorg 1.9.

Do you have a link to the fix.

This was fixed up in later X-server releases (so breaks when I try to move back to 1.6 :( )
Link to comment
Share on other sites

Guest hybr1d
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

Link to comment
Share on other sites

Guest hybr1d
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?

Link to comment
Share on other sites

Guest vgrade

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?

Link to comment
Share on other sites

Guest vgrade

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?

Link to comment
Share on other sites

Guest Michael_llewellyn

:)

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 :(

post-849925-1299876122_thumb.jpg

Edited by Michael_llewellyn
Link to comment
Share on other sites

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`
Link to comment
Share on other sites

Guest YeftyBar

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.

Link to comment
Share on other sites

Guest hybr1d
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.o
In 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'
[/codebox]

Any ideas why it is failing?

Link to comment
Share on other sites

Guest vgrade

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.o
In 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'
[/codebox]

Any ideas why it is failing?

Link to comment
Share on other sites

Guest hybr1d

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

Link to comment
Share on other sites

Guest vgrade

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 :(

Link to comment
Share on other sites

Guest hybr1d
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

Link to comment
Share on other sites

Guest Panayioti
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
Link to comment
Share on other sites

Guest Michael_llewellyn
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.o
In 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'
[/codebox]

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
Link to comment
Share on other sites

Guest hybr1d
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

Link to comment
Share on other sites

Guest Michael_llewellyn

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.org/wiki/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...

mtev.tar.gz

Edited by Michael_llewellyn
Link to comment
Share on other sites

Guest hybr1d
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.org/wiki/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

Link to comment
Share on other sites

Guest hybr1d
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!!

Link to comment
Share on other sites

Guest the_corvus
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.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.