ljdawson
Posts: 5
Joined: Thu May 10, 2012 10:57 am
Contact: Website

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 2:36 am

mpthompson wrote:Looks like the Theora mp4 video decoder in IceWeasel is intended to have armv7 code in it. There is runtime detection of the CPU which will call the appropriate assembly optimization routines so it shouldn't cause problems running on the Raspberry Pi.

IceWeasel is now in the repository. Would someone with Raspberry Pi hardware care to install it and let us know how it works? Also, if you could attempt to view an mp4 video to verify the runtime detection of the CPU, that would be useful as well. The following page seems to have a link to a Theora video that can be used as a test:

http://www.osnews.com/story/19019/Theora_vs_h_264
Just installed IceWeasel and gave it a run. Seemed to work great, very stable. Great job :)

UnaClocker
Posts: 12
Joined: Sat May 12, 2012 5:48 pm
Contact: Website

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 3:05 am

Just installed Raspbian v3 on my Pi, after running Debian for almost a week. Works well, I get a ton of the mmc errors at the command line, but I don't see them in X, which is a relief.. :lol:
Thanks for the hard work you guys are putting into this, I'll try to post any useful feedback I can, as I use this distro.

User avatar
mpthompson
Posts: 620
Joined: Fri Feb 03, 2012 7:18 pm
Location: San Carlos, CA
Contact: Website

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 3:36 am

ljdawson wrote:Just installed IceWeasel and gave it a run. Seemed to work great, very stable. Great job :)
Thank you for the feedback. Great to know.

I'm rebuilding the gtk webkit with a possible work around for the Javascript error. That will be a two to four day build so we won't know until them if Midori is now stable. However, Iceweasel at least gives Raspbian a browser, even though it is a pretty heavy weight one.

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 4:40 am

Got my Pi today and Hexxeh's image works perfectly. My only complaint is that it's a really REALLY minimal image and I'm not sure how to bring it up to normal usability. I've been installing missing features I run across, but is there a simple command to do most of this automatically?

User avatar
mpthompson
Posts: 620
Joined: Fri Feb 03, 2012 7:18 pm
Location: San Carlos, CA
Contact: Website

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 5:05 am

Toad King wrote:I've been installing missing features I run across, but is there a simple command to do most of this automatically?
The following command may help.

# tasksel install standard

This will install packages with a "standard" priority which should make the system a bit more mature and look more like a standard Linux installation. On a minimal Debian Wheezy system it adds about 100 or so more packages. If it works and you're happy with the results, let me know and I'll add it to the wiki page.

This is one of the reasons I feel it is important to get the Debian installer running under Raspbian. That would install most of the standard utilities you expect to find on a Linux system and present menus to install other more common groups of packages.

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 5:35 am

I might have found a bug in gcc. When doing a compile I run into this error:

Code: Select all

CXX src/burn/drv/dataeast/d_cninja.cpp
src/burn/drv/dataeast/d_cninja.cpp: In function ‘INT32 StoneageFrame()’:
src/burn/drv/dataeast/d_cninja.cpp:2381:1: internal compiler error: in push_minipool_fix, at config/arm/arm.c:12116
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
Preprocessed source stored into /tmp/cc2iPc35.out file, please attach this to your bugreport.
make: *** [src/burn/drv/dataeast/d_cninja.o] Error 1
I don't think it's an out-of-memory issue; adding swap space did little to help it. Here is the preprocessed file: http://pastebin.com/Cu8C6r2y
The project I tried to compile is here: https://github.com/twinaphex/fba-libret ... cbab3b3118

User avatar
mpthompson
Posts: 620
Joined: Fri Feb 03, 2012 7:18 pm
Location: San Carlos, CA
Contact: Website

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 6:07 am

Toad King wrote:I might have found a bug in gcc. When doing a compile I run into this error:
Although rare, I've run into a couple of bugs in the gcc-4.6. I don't think that armv6 is a well tested path on the compiler.

Something to try would be to install the gcc-4.7 package and see if you have more luck with that. The compiler is newer and a little less mature, but it was able to compile some packages that gcc-4.6 wasn't able to. gcc-4.7 is mature enough to now the the default compiler for the i386 port of Debian. There is also gcc-4.5 and gcc-4.4.

After installing another compiler, you may have have to manually monkey around with the /usr/bin/gcc symbolic link. I believe there is some tool for changing it, but I can't recall what it is right now.

User avatar
mpthompson
Posts: 620
Joined: Fri Feb 03, 2012 7:18 pm
Location: San Carlos, CA
Contact: Website

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 6:11 am

Ugh. Why does Wordpress on the Raspberry Pi home page keep rejecting me when I attempt to add comments to one of Liz' blog postings. Very frustrating.

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 6:30 am

The tool you're thinking of is update-alternatives. I'll give that a shot tomorrow. I remember compiling this on an earlier QEMU image so I know not all compilers have this issue.

User avatar
bob_binz
Posts: 441
Joined: Thu Feb 02, 2012 7:58 pm
Location: Stockport, UK

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 7:13 am

Slightly o/t, but would someone mind sharing their command line entry for running Hexxeh's image in qemu please?

Thanks

plugwash
Forum Moderator
Forum Moderator
Posts: 3477
Joined: Wed Dec 28, 2011 11:45 pm

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 7:27 am

Some things to try when you get an ICE:

1: try using a different version of gcc
2: try using different optimisation levels (all the way from O0 to O3).
3: try and see if you can reproduce the issue on a system more well known than raspbian (by specifying armv6 and hardfloat explicitly if need be)

User avatar
mpthompson
Posts: 620
Joined: Fri Feb 03, 2012 7:18 pm
Location: San Carlos, CA
Contact: Website

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 7:35 am

bob_binz wrote:Slightly o/t, but would someone mind sharing their command line entry for running Hexxeh's image in qemu please?
I haven't tried Hexxeh's image with QEMU myself, but the QEMU configuration with a minimal install of Raspbian that I made two weeks ago is here:

http://archive.raspbian.org/qemu/

These files contain a specially made kernel for QEMU kernel emulating an armv6 device, a batch file for starting up QEMU under Windows and a Raspbian QEMU disk image The arguments given in the batch file should be nearly the same for a Linux version of QEMU. The windows command line entry is:

Code: Select all

qemu-system-arm.exe -M versatilepb -cpu arm1136 -m 256 -kernel raspbian\vmlinuz-2.6.32-qemu-armv6 -initrd raspbian\initrd.img-2.6.32-qemu-armv6 -hda raspbian\raspbian.img -net nic -net tap,ifname=TAP32 -append "root=/dev/sda1"
Once booted, you should be able to use 'apt-get update' and 'apt-get upgrade' to upgrade all the packages to the latest version of Raspbian. Before doing this, you should change the /etc/apt/sources.list file to:

deb http://archive.raspbian.org/raspbian testing main
deb-src http://archive.raspbian.org/raspbian testing main

If you are trying Hexxeh's image, I believe you should be able to substitute it in place of the disk image in this download, but I'm not 100% certain of that.

I should probably make a more up-to-date QEMU image now that so much more is functional in Raspbian.

I hope this is helpful.

User avatar
bob_binz
Posts: 441
Joined: Thu Feb 02, 2012 7:58 pm
Location: Stockport, UK

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 7:56 am

mpthompson wrote:
bob_binz wrote:Slightly o/t, but would someone mind sharing their command line entry for running Hexxeh's image in qemu please?
<snip>

I hope this is helpful.
Mike, when has *anything* you've said on here *not* been helpful!!

Thanks for your detailed reply.

plugwash
Forum Moderator
Forum Moderator
Posts: 3477
Joined: Wed Dec 28, 2011 11:45 pm

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 8:10 am

mpthompson wrote: If you are trying Hexxeh's image, I believe you should be able to substitute it in place of the disk image in this download, but I'm not 100% certain of that.
You will have to change the root= option too since the hexxh images have the root filesystem on the second partition.

User avatar
bob_binz
Posts: 441
Joined: Thu Feb 02, 2012 7:58 pm
Location: Stockport, UK

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 8:29 am

plugwash wrote:
mpthompson wrote: If you are trying Hexxeh's image, I believe you should be able to substitute it in place of the disk image in this download, but I'm not 100% certain of that.
You will have to change the root= option too since the hexxh images have the root filesystem on the second partition.
Yeah, appreciate that. To be honest, I thought the image would be usable as per all the other images, i.e. dd it to SD then run standard command line. Doing that was giving me an illegal instruction error after an info statement to do with setting makefile-style to concurrent, followed by some respawning too fast errors, so I just wondered whether the c/l was different.

I am trying it with cnxsoft 3.1.9 kernel though, so maybe that's the problem. Anyway, don't want to pollute this thread with my trivia.

Thanks for the assistance and for all the work being done for HF.

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5372
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 6:07 pm

I can confirm that iceweasel seems stable. It is slower to launch and slower to render web pages than midori (but it has working javascript).

I've also tested the Broadcom libraries from github and all are good.
The hello_triangle/hello_video/hello_audio all run fine (building demo code inside raspbian after installing build-essential, linking with prebuilt libraries).

Also got quake 3 running. This was built with cross compiler (from raspberrypi/tools github).
I did find than running the executable gave an error:
# ./ioquake
-bash: ./ioquake3.arm: No such file or directory
I could launch it with:
# /lib/ld-linux-armhf.so.3 ./ioquake3.arm
I'm sure someone who knows about this can explain what's going on.

User avatar
mpthompson
Posts: 620
Joined: Fri Feb 03, 2012 7:18 pm
Location: San Carlos, CA
Contact: Website

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 7:54 pm

Dom, thank you for testing out the Broadcom libraries. It was always an open question in the back of my mind if they would give us problems, but I'm very glad to hear they seem to work fine with Raspbian. Just need to get them put into nice Debian packages now for ease of installation.

Regarding Midori, I'm hoping the rebuild of webkit without the Javascript JIT will get it working. We'll know in about 48 hours when the build finishes. BTW, iceape will be uploaded to the public repository soon. That's the old Mozilla browser so that will be another option as well, but it will probably run slower than Iceweasel.

Hopefully someone can explain the issue with launching Quake. I suppose it doesn't use floating point calculations so it should run about the same as it does under Debian armel.

Mike

plugwash
Forum Moderator
Forum Moderator
Posts: 3477
Joined: Wed Dec 28, 2011 11:45 pm

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 10:46 pm

I could launch it with:
# /lib/ld-linux-armhf.so.3 ./ioquake3.arm
I'm sure someone who knows about this can explain what's going on.
The issue is one of dynamic linker paths and sonames.

Upstream gcc used the same dynamic linker path for both hardfloat and softfloat binaries. This meant it was not possible for them to coexist on the same system. As a result debian moved the dynamic linker for hardfloat to /lib/arm-linux-gnueabihf/ld-linux.so.3 . They thought they had concensus on this with other major distros but when it came time to push it upstream a load of new people brought their paintbrushes to the bikeshed.

A new concensus was formed to use /lib/ld-linux-armhf.so.3

This new name also meant a new soname for the dynamic linker and a hack had to be included in debians dynamic linker to manage binaries and libraries that were expecting different dynamic linker sonames.

Debian is working with upstream gcc/glibc on getting the new concensus implemented but I don't know how far along they are with that.

Anyway the quick fix for now is to symlink /lib/ld-linux.so.3 to /lib/ld-linux.so.3 . This means you lose the ability to do a multiarch install with a mixture of armel and armhf but I don't personally consider that too big a deal given that we have hardfloat versions of the broadcom libraries and multiarch is kinda experimental at the moment. The hexxh image has that symlink but if you bootstrap yourself you will have to create it manually. I guess I will include that symlink in the package for the videocore libraries when I create it.

Note that due to the soname change a debian/raspbian armhf binary will not work on distros that don't have these changes even if you create a symlink for the dynamic linker.

Now i've answerd your question can you answer one of mine which we really need to know before deciding how to package the broadcom libs?

How are these libs supposed to be used? are they supposed to replace the corresponding mesa libs or are they supposed to only be used for software specifically built for them? i'm guessing the latter since apparently they don't work with x11. Can you confirm this as it determines how we choose to package them.

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5372
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Debian Hard Float (armhf) for RPi

Fri May 18, 2012 11:53 pm

They are intended as plug in replacements for the mesa software libraries, but there are caveats.
Firstly does anything in Debian actually support openGL ES?
Secondly, the khronos specs only talk about an abstract native window handle. There is no standard way to get that on the screen. When we get openGL ES based X acceleration, I expect that can be done in a standard-ish way that may allow open GL ES on X apps to run (if they exist).
Porting something like Glut ES is a different standard-ish way to get openGL ES code running. These typically run full screen so the port is more straightforward.
What GL ES apps are there in Debian?

User avatar
mpthompson
Posts: 620
Joined: Fri Feb 03, 2012 7:18 pm
Location: San Carlos, CA
Contact: Website

Re: Debian Hard Float (armhf) for RPi

Sat May 19, 2012 12:26 am

dom wrote:When we get openGL ES based X acceleration, I expect that can be done in a standard-ish way that may allow open GL ES on X apps to run (if they exist).
Is there a organized effort to make an OpenGL ES based X server? In the IRC when the talk of an accelerated X server comes up it doesn't sound like this is the approach being taken. However, I'm only vaguely aware of what they are doing and I may be wrong.

Looking on Google, it doesn't look like anyone has yet produced an OpenGL ES based X server. At least not one that is publicly available. I imagine the RPi is the first device to have such a need.

Given the requirements, it's too bad that the Xegl server never came to fruition. Having an OpenGL based Xserver would have been a good starting point for an OpenGL ES equivalent. I wonder if the Xegl project could be resurrected or at least examined for ideas.

User avatar
mpthompson
Posts: 620
Joined: Fri Feb 03, 2012 7:18 pm
Location: San Carlos, CA
Contact: Website

Re: Debian Hard Float (armhf) for RPi

Sat May 19, 2012 5:01 am

As of Friday evening, the packages counts are now:

Debian armhf 34413
Raspbian armhf 30601

Less than 4000 packages to reach parity with Debian armhf. The package count is moving up a little slower these days because we are now building more complex and larger packages than say a week or two ago. For instance, this evening I have both the gtk webkit and the Qt webkit packages compiling which are least 48 hour builds each. Hopefully once some of these longer builds are finished we'll see the package count again grow a bit faster.

shirro
Posts: 248
Joined: Tue Jan 24, 2012 4:54 am

Re: Debian Hard Float (armhf) for RPi

Sat May 19, 2012 5:34 am

plugwash wrote: How are these libs supposed to be used? are they supposed to replace the corresponding mesa libs or are they supposed to only be used for software specifically built for them? i'm guessing the latter since apparently they don't work with x11.
The libs aren't a plug in replacement for apps in practice because EGL requires platform specific native window setup. But they do implement pretty much the same functionality so I think they are alternatives and conflict with each other rather than something you would want side by side.

On Debian sid armhf if I install libegl1-mesa it just puts the library in /usr/lib/arm-linux-gnueabihf/libEGL.so.1 which is probably where I would expect to find the broadcom library if it was packaged (btw why all these stupid platform subdirectories - what was wrong with /usr/lib for everything? Nobody wants to use multiarch in practice.)

Looking at Ubuntu Precise on another machine and if I install libegl1-mesa it updates alternatives so that /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf -> /etc/alternatives/i386-linux-gnu_egl_conf -> /usr/lib/i386-linux-gnu/mesa-egl/ld.so.conf which adds the path of the mesa libs in /usr/lib/i386-linux-gnu/mesa-egl to ld.so.conf.d - that is pretty damn ugly IMO.

dave_p
Posts: 26
Joined: Sun Mar 04, 2012 2:11 pm

Re: Debian Hard Float (armhf) for RPi

Sat May 19, 2012 12:30 pm

mpthompson wrote:The following command may help.

# tasksel install standard

This will install packages with a "standard" priority which should make the system a bit more mature and look more like a standard Linux installation. On a minimal Debian Wheezy system it adds about 100 or so more packages. If it works and you're happy with the results, let me know and I'll add it to the wiki page.
The tasksel package is not included in the v3 disk image, so for completeness the wiki page ought perhaps to include the "apt-get tasksel" step.

User avatar
mpthompson
Posts: 620
Joined: Fri Feb 03, 2012 7:18 pm
Location: San Carlos, CA
Contact: Website

Re: Debian Hard Float (armhf) for RPi

Sat May 19, 2012 2:15 pm

dave_p wrote:The tasksel package is not included in the v3 disk image, so for completeness the wiki page ought perhaps to include the "apt-get tasksel" step.
Thanks. I'll update the wiki.

KeithSloan
Posts: 321
Joined: Tue Dec 27, 2011 9:09 pm

Re: Debian Hard Float (armhf) for RPi

Sat May 19, 2012 4:02 pm

Given the requirements, it's too bad that the Xegl server never came to fruition. Having an OpenGL based Xserver would have been a good starting point for an OpenGL ES equivalent. I wonder if the Xegl project could be resurrected or at least examined for ideas.
yes http://en.wikipedia.org/wiki/Xgl makes interesting but despondent reading, but I expect making an X Server that uses OpenGL is a lot of work and will be a lot more hard work than just porting some existing effort. Personally I don't think its likely we will see any solution for the Pi in the short to medium term.

Return to “Raspbian”