• Announcements

    • Reminder - MoDaCo position on illegal content   07/30/15

      ILLEGAL CONTENT I'd like to just reaffirm MoDaCo's position regarding piracy and illegal content in the light of some recent questions / postings. Posts will be censored by myself or my moderation team if the contain or link to: Illegal / pirated / cracked software or sites that host such softwareNintendo emulators / ROMs or sites hosting them (in light of Nintendo's legal stance)CUSTOM ROMS You may discuss and post links to custom device ROMs on MoDaCo, provided the following rules are adhered to: ROMs must not contain any illegal 3rd party software (this includes trial versions included without permission)ROMs must give full credit to the original authorISSUES If you have any issues with this policy, please contact PaulOBrien directly via PM.
    • Reminder: Selling items on the forum directly is not allowed   07/30/15

      Please note that selling items on the forum directly is not allowed by the forum rules. There is a forum for eBay auctions whereby you can list the items on eBay and link to them there. This is the ONLY forum for this type of activity. You may also advertise links to the eBay forum in your signature. Please note that selling directly in contravention of these rules will result in a warning / suspension / ban.

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

209 posts in this topic

Posted

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?

0

Share this post


Link to post
Share on other sites

Posted

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

0

Share this post


Link to post
Share on other sites

Posted

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

0

Share this post


Link to post
Share on other sites

Posted

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)

0

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted (edited)

:)

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
0

Share this post


Link to post
Share on other sites

Posted (edited)

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`
0

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted

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?

0

Share this post


Link to post
Share on other sites

Posted

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?

0

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted (edited)

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
0

Share this post


Link to post
Share on other sites

Posted (edited)

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
0

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted (edited)

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
0

Share this post


Link to post
Share on other sites

Posted

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

0

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Posted

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

MoDaCo is part of the MoDaCo.network, © Paul O'Brien 2002-2015. MoDaCo uses IntelliTxt technology.