<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pandorawiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wtachi</id>
	<title>Pandora Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://pandorawiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wtachi"/>
	<link rel="alternate" type="text/html" href="https://pandorawiki.org/Special:Contributions/Wtachi"/>
	<updated>2026-05-03T06:26:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0-alpha</generator>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=10971</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=10971"/>
		<updated>2012-07-01T05:21:25Z</updated>

		<summary type="html">&lt;p&gt;Wtachi: Undo revision 10583 by Apple (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
These will be written when I have time.. the uncreated ones below being an indicator of what's to come.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unwritten parts may be split up, moved, or otherwise manipulated before actually going live, so don't take the following as set in stone till the link turns blue!&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
Part One - Setup Stuff!&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE_Overview GLESGAE Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Engine_Design_Overview Engine Design Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Environment_Setup Environment Setup]&lt;br /&gt;
* [[GLESGAE:Setting Up A Window and Context]]&lt;br /&gt;
* [[GLESGAE:The Event and Input Systems]]&lt;br /&gt;
Part Two - Show me Stuff!&lt;br /&gt;
* [[GLESGAE:Making a Mesh]]&lt;br /&gt;
* [[GLESGAE:Fixed Function Rendering Contexts]]&lt;br /&gt;
* [[GLESGAE:Shader Based Contexts]]&lt;br /&gt;
* [[GLESGAE:The Transform Stack]]&lt;br /&gt;
* [[GLESGAE:Fixed Function Transformations]]&lt;br /&gt;
* [[GLESGAE:Shader Based Transformations]]&lt;br /&gt;
* [[GLESGAE:Dealing with Textures]]&lt;br /&gt;
* [[GLESGAE:Making another Mesh with Vertex Buffers]]&lt;br /&gt;
Part Three - Manage my Stuff!&lt;br /&gt;
* [[GLESGAE:Managing Resources Overview]]&lt;br /&gt;
* [[GLESGAE:The Resource Manager]]&lt;br /&gt;
* [[GLESGAE:State Management Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing The Game States]]&lt;br /&gt;
Part Four - The First Evaluation&lt;br /&gt;
* [[GLESGAE:First Evaluation Overview]]&lt;br /&gt;
* [[GLESGAE:First Evaluation Graphics]]&lt;br /&gt;
* [[GLESGAE:First Evaluation Resources]]&lt;br /&gt;
Part Five - Make it do Stuff!&lt;br /&gt;
* [[GLESGAE:Logic Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Dealing with Entities]]&lt;br /&gt;
* [[GLESGAE:Playing with Scripts]]&lt;br /&gt;
Part Six - Push Stuff around!&lt;br /&gt;
* [[GLESGAE:Physics Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing Box2D Physics]]&lt;br /&gt;
* [[GLESGAE:Implementing Bullet Physics]]&lt;br /&gt;
Part Seven - Make Stuff squeak!&lt;br /&gt;
* [[GLESGAE:Sound Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing OpenAL]]&lt;br /&gt;
Part Eight - The Second Evaluation&lt;br /&gt;
* [[GLESGAE:Second Evaluation Overview]]&lt;br /&gt;
* [[GLESGAE:Second Evaluation Logic]]&lt;br /&gt;
* [[GLESGAE:Second Evaluation Physics]]&lt;br /&gt;
* [[GLESGAE:Second Evaluation Sound]]&lt;br /&gt;
Part Nine - Poke Stuff from afar!&lt;br /&gt;
* [[GLESGAE:Networking Overview]]&lt;br /&gt;
* [[GLESGAE:A Basic Networking System]]&lt;br /&gt;
Part Ten - Advanced Stuff!&lt;br /&gt;
* [[GLESGAE:Library Stubs]]&lt;br /&gt;
Part Eleven - Tool Stuff!&lt;br /&gt;
* [[GLESGAE:Tools Overview]]&lt;br /&gt;
* [[GLESGAE:Mesh Converter]]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
&lt;br /&gt;
== I'm Lazy, Give Me A Pre-Configured Thing! ==&lt;br /&gt;
Here you go: http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/zaxxon-premade-dev.tar.bz2 ~250mb&lt;br /&gt;
&lt;br /&gt;
Extract to an ext2/3 formatted SD card, and boot. Simple!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''''' This is a bit old, now.. and may have somewhat dodgy WiFi, but I'll get round to fixing this soon ( hopefully by 13th May. )'''''&lt;br /&gt;
&lt;br /&gt;
== Tell Me What You Did ==&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs - though lately, these appear to be very out of sync between Pandora OE and Angstrom OE so be careful!&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs root=/dev/mmcblk0p1 rw rootwait vram=6272K omapfb.vram=0:3000K mmc_core.removable=0&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg install libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:GLESGAE]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Wtachi</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Combining_OpenGL_ES_1.1_and_SDL_to_create_a_window_on_the_Pandora&amp;diff=10970</id>
		<title>Combining OpenGL ES 1.1 and SDL to create a window on the Pandora</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Combining_OpenGL_ES_1.1_and_SDL_to_create_a_window_on_the_Pandora&amp;diff=10970"/>
		<updated>2012-07-01T05:20:54Z</updated>

		<summary type="html">&lt;p&gt;Wtachi: Undo revision 10645 by Apple (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are two options for combining GLES and SDL:&lt;br /&gt;
&lt;br /&gt;
= 1: Grab the modified version of SDL =&lt;br /&gt;
&lt;br /&gt;
There is a special [[SDL]] source code for pandora with [[OpenGL ES]] capability &lt;br /&gt;
available here : http://github.com/Cpasjuste&lt;br /&gt;
&lt;br /&gt;
The screen initialisation is now easy as this : SDL_SetVideoMode(800, 480, 16, SDL_OPENGLES)&lt;br /&gt;
&lt;br /&gt;
An [[SDL]]/[[GLES]] exemple is also available on the git repository.&lt;br /&gt;
&lt;br /&gt;
= 2: Use EGL Directly (with SDL 1.2) =&lt;br /&gt;
&lt;br /&gt;
Sometimes its not best to use the modified version of SDl (when working on cross platform games). Instead you can use [[EGL]] to create the GLES graphics context for you.&lt;br /&gt;
The following functions do just that.&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
# Make sure you call InitOpenGL() straight after creating the window (SDL_SetVideoMode()).&lt;br /&gt;
# When using EGL you should not pass in the SDL_OPENGL flag to SDL_SetVideoMode(). SDL_HWSurface and SDL_SWSurface should do.&lt;br /&gt;
# You will notice '#ifdef GLES1' around much of the EGL code. Simply define GLES1 in your preprocessor (-DGLES1 on the command line of gcc if i recall correctly?) to use GLES. Without the define SDL will be set up for standard OpenGL (I left it in as its useful for cross platform dev).&lt;br /&gt;
# Once you have finished with the window and just before terminating it call TerminateOpenGL() to clean up.&lt;br /&gt;
&lt;br /&gt;
NOTE - If you call SDL_SetVideoMode more than once you will probably need to terminate and reset the context (TerminateOpenGL(); SDL_SetVideoMode(); InitOpenGL();)&lt;br /&gt;
&lt;br /&gt;
// OpenGLInit.c&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#ifdef GLES1&lt;br /&gt;
	#include &amp;lt;EGL/egl.h&amp;gt;&lt;br /&gt;
	#include &amp;lt;GLES/gl.h&amp;gt;&lt;br /&gt;
	#include &amp;lt;SDL/SDL_syswm.h&amp;gt;&lt;br /&gt;
#else&lt;br /&gt;
	#include &amp;lt;GL/gl.h&amp;gt;&lt;br /&gt;
	#include &amp;lt;SDL/SDL.h&amp;gt;&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;OpenGLInit.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#ifdef GLES1&lt;br /&gt;
	EGLDisplay g_eglDisplay = 0;&lt;br /&gt;
	EGLConfig g_eglConfig = 0;&lt;br /&gt;
	EGLContext g_eglContext = 0;&lt;br /&gt;
	EGLSurface g_eglSurface = 0;&lt;br /&gt;
        Display *g_x11Display = NULL;&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
// consts&lt;br /&gt;
#define COLOURDEPTH_RED_SIZE  		5&lt;br /&gt;
#define COLOURDEPTH_GREEN_SIZE 		6&lt;br /&gt;
#define COLOURDEPTH_BLUE_SIZE 		5&lt;br /&gt;
#define COLOURDEPTH_DEPTH_SIZE		16&lt;br /&gt;
&lt;br /&gt;
#ifdef GLES1&lt;br /&gt;
static const EGLint g_configAttribs[] ={&lt;br /&gt;
										  EGL_RED_SIZE,      	    COLOURDEPTH_RED_SIZE,&lt;br /&gt;
										  EGL_GREEN_SIZE,    	    COLOURDEPTH_GREEN_SIZE,&lt;br /&gt;
										  EGL_BLUE_SIZE,     	    COLOURDEPTH_BLUE_SIZE,&lt;br /&gt;
										  EGL_DEPTH_SIZE,	    COLOURDEPTH_DEPTH_SIZE,&lt;br /&gt;
										  EGL_SURFACE_TYPE,         EGL_WINDOW_BIT,&lt;br /&gt;
										  EGL_RENDERABLE_TYPE,      EGL_OPENGL_ES_BIT,&lt;br /&gt;
										  EGL_BIND_TO_TEXTURE_RGBA, EGL_TRUE,&lt;br /&gt;
										  EGL_NONE&lt;br /&gt;
									   };&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
/*===========================================================&lt;br /&gt;
Initialise opengl settings. Call straight after SDL_SetVideoMode()&lt;br /&gt;
===========================================================*/&lt;br /&gt;
&lt;br /&gt;
int InitOpenGL()&lt;br /&gt;
{&lt;br /&gt;
#ifdef GLES1&lt;br /&gt;
	// use EGL to initialise GLES&lt;br /&gt;
	g_x11Display = XOpenDisplay(NULL);&lt;br /&gt;
&lt;br /&gt;
	if (!g_x11Display)&lt;br /&gt;
	{&lt;br /&gt;
		fprintf(stderr, &amp;quot;ERROR: unable to get display!n&amp;quot;);&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	g_eglDisplay = eglGetDisplay((EGLNativeDisplayType)g_x11Display);&lt;br /&gt;
	if (g_eglDisplay == EGL_NO_DISPLAY)&lt;br /&gt;
	{&lt;br /&gt;
		printf(&amp;quot;Unable to initialise EGL display.&amp;quot;);&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// Initialise egl&lt;br /&gt;
	if (!eglInitialize(g_eglDisplay, NULL, NULL))&lt;br /&gt;
	{&lt;br /&gt;
		printf(&amp;quot;Unable to initialise EGL display.&amp;quot;);&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// Find a matching config&lt;br /&gt;
	EGLint numConfigsOut = 0;&lt;br /&gt;
	if (eglChooseConfig(g_eglDisplay, g_configAttribs, &amp;amp;g_eglConfig, 1, &amp;amp;numConfigsOut) != EGL_TRUE || numConfigsOut == 0)&lt;br /&gt;
	{&lt;br /&gt;
		fprintf(stderr, &amp;quot;Unable to find appropriate EGL config.&amp;quot;);&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// Get the SDL window handle&lt;br /&gt;
	SDL_SysWMinfo sysInfo; //Will hold our Window information&lt;br /&gt;
	SDL_VERSION(&amp;amp;sysInfo.version); //Set SDL version&lt;br /&gt;
	if(SDL_GetWMInfo(&amp;amp;sysInfo) &amp;lt;= 0) &lt;br /&gt;
	{&lt;br /&gt;
		printf(&amp;quot;Unable to get window handle&amp;quot;);&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	g_eglSurface = eglCreateWindowSurface(g_eglDisplay, g_eglConfig, (EGLNativeWindowType)sysInfo.info.x11.window, 0);&lt;br /&gt;
	if ( g_eglSurface == EGL_NO_SURFACE)&lt;br /&gt;
	{&lt;br /&gt;
		printf(&amp;quot;Unable to create EGL surface!&amp;quot;);&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// Bind GLES and create the context&lt;br /&gt;
	eglBindAPI(EGL_OPENGL_ES_API);&lt;br /&gt;
	EGLint contextParams[] = {EGL_CONTEXT_CLIENT_VERSION, 1, EGL_NONE};		// Use GLES version 1.x&lt;br /&gt;
	g_eglContext = eglCreateContext(g_eglDisplay, g_eglConfig, NULL, NULL);&lt;br /&gt;
	if (g_eglContext == EGL_NO_CONTEXT)&lt;br /&gt;
	{&lt;br /&gt;
		printf(&amp;quot;Unable to create GLES context!&amp;quot;);&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (eglMakeCurrent(g_eglDisplay,  g_eglSurface,  g_eglSurface, g_eglContext) == EGL_FALSE)&lt;br /&gt;
	{&lt;br /&gt;
		printf(&amp;quot;Unable to make GLES context current&amp;quot;);&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
#else&lt;br /&gt;
	&lt;br /&gt;
	SDL_GL_SetAttribute(SDL_GL_RED_SIZE, COLOURDEPTH_RED_SIZE);&lt;br /&gt;
	SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, COLOURDEPTH_GREEN_SIZE);&lt;br /&gt;
	SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, COLOURDEPTH_BLUE_SIZE);&lt;br /&gt;
	SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, COLOURDEPTH_DEPTH_SIZE);&lt;br /&gt;
	&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
	return 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*======================================================&lt;br /&gt;
 * Kill off any opengl specific details&lt;br /&gt;
  ====================================================*/&lt;br /&gt;
void TerminateOpenGL()&lt;br /&gt;
{&lt;br /&gt;
#ifdef GLES1&lt;br /&gt;
	eglMakeCurrent(g_eglDisplay, NULL, NULL, EGL_NO_CONTEXT);&lt;br /&gt;
	eglDestroySurface(g_eglDisplay, g_eglSurface);&lt;br /&gt;
	eglDestroyContext(g_eglDisplay, g_eglContext);&lt;br /&gt;
	g_eglSurface = 0;&lt;br /&gt;
	g_eglContext = 0;&lt;br /&gt;
	g_eglConfig = 0;&lt;br /&gt;
	eglTerminate(g_eglDisplay);&lt;br /&gt;
	g_eglDisplay = 0;&lt;br /&gt;
        XCloseDisplay(g_x11Display);&lt;br /&gt;
        g_x11Display = NULL;&lt;br /&gt;
#endif&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int SwapBuffers()&lt;br /&gt;
{&lt;br /&gt;
#ifdef GLES1&lt;br /&gt;
	eglSwapBuffers(g_eglDisplay, g_eglSurface);&lt;br /&gt;
#else&lt;br /&gt;
	SDL_GL_SwapBuffers();&lt;br /&gt;
#endif&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:OpenGL ES]]&lt;/div&gt;</summary>
		<author><name>Wtachi</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=SD_compatibility_list&amp;diff=10582</id>
		<title>SD compatibility list</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=SD_compatibility_list&amp;diff=10582"/>
		<updated>2012-05-24T01:01:40Z</updated>

		<summary type="html">&lt;p&gt;Wtachi: Add Samsung 32GB MicroSDHC (MB-MSBGA)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a compatibility list for SD, SDHC and SDXC cards. The cards listed in '''green''' work with any file system. The cards listed in '''yellow''' work well only with one file system (this still means they can be used on the Pandora). The cards listed in '''red''' do not work well with any file system. Although it is not covered on this list, the Pandora can also read NTFS-formatted SD cards if the [http://www.open-pandora.org/downloads/CodecPack.pnd Community Codec Pack] is installed.&lt;br /&gt;
&lt;br /&gt;
Note: always measure read speed by opening a terminal window and typing this command:&lt;br /&gt;
* the first inserted SD Card: '''dd if=/dev/mmcblk0 of=/dev/null bs=4MiB count=100'''&lt;br /&gt;
* the second inserted SD Card: '''dd if=/dev/mmcblk1 of=/dev/null bs=4MiB count=100'''&lt;br /&gt;
&lt;br /&gt;
Note: The first inserted SD Card will always be /dev/mmcblk0, regardless if you put it into the second or first SD Card slot, whereas the second will be /dev/mmcblk1&lt;br /&gt;
&lt;br /&gt;
If you can afford '''''destroying''''' all your data, you can test write speed. But be careful, you will need to create a new partition table, afterwards! You can use [http://www.gp32x.com/board/index.php?/topic/56915-gparted/ Gparted] to make new partition table.&lt;br /&gt;
* the first inserted SD Card: # '''dd if=/dev/zero of=/dev/mmcblk0 bs=4MiB count=100'''&lt;br /&gt;
* the second inserted SD Card: # '''dd if=/dev/zero of=/dev/mmcblk1 bs=4MiB count=100'''&lt;br /&gt;
&lt;br /&gt;
By default, the first partition starts at block 8192 (4096KB) for 32GB cards, and block 32768 (16384KB) for 64GB cards.  64GB cards may need to be [[formatting SD cards|reformatted]] before use.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Card size in GB&lt;br /&gt;
! Card class&lt;br /&gt;
! Full name&lt;br /&gt;
! URL&lt;br /&gt;
! fat32 is working?&lt;br /&gt;
! ext2/3/4 are working?&lt;br /&gt;
! read speed MB/sec&lt;br /&gt;
! write speed MB/sec&lt;br /&gt;
! actual capacity (1024byte blocks)&lt;br /&gt;
! Notes&lt;br /&gt;
|- &lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Centon 32GB Class 10 SDHC&lt;br /&gt;
| [http://www.microcenter.com/single_product_results.phtml?product_id=0335228]&lt;br /&gt;
| yes&lt;br /&gt;
| ?&lt;br /&gt;
| 17.3&lt;br /&gt;
| 23.9&lt;br /&gt;
| ?&lt;br /&gt;
| ok {{HideableNotes|so far, first few hours of use}}&lt;br /&gt;
|- style=&amp;quot;background: #90Ff90&amp;quot;&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| Kingston 1GB (blue)&lt;br /&gt;
| [http://www.newegg.com/Product/Product.aspx?Item=N82E16820160032]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 12.5&lt;br /&gt;
| ?&lt;br /&gt;
| 1006080&lt;br /&gt;
| ok&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 4&lt;br /&gt;
| Kingston 8GB Class 4 (black)&lt;br /&gt;
| &lt;br /&gt;
| not long-term tested yet&lt;br /&gt;
| not long-term tested yet&lt;br /&gt;
| 17.1&lt;br /&gt;
| 4.8&lt;br /&gt;
| ?&lt;br /&gt;
| From Craig's shop, so must be ok ;)&lt;br /&gt;
|- style=&amp;quot;background: #FF9090&amp;quot;&lt;br /&gt;
| 16&lt;br /&gt;
| 4&lt;br /&gt;
| Kingston 16 GB Class 4 SDHC&lt;br /&gt;
| [http://www.amazon.com/Kingston-Class-Memory-SD4-16GB/dp/B0013AV9TW]&lt;br /&gt;
| no&lt;br /&gt;
| no&lt;br /&gt;
| 15&lt;br /&gt;
| 9.5&lt;br /&gt;
| 15663104&lt;br /&gt;
| {{HideableNotes|Bad controller chip, fails in the same manner as the 32GB card.}}&lt;br /&gt;
|- style=&amp;quot;background: #FF9090&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 4&lt;br /&gt;
| Kingston 32 GB Class 4 SDHC&lt;br /&gt;
| [http://www.amazon.com/Kingston-Class-Memory-SD4-32GB/dp/B001C9P5TO]&lt;br /&gt;
| no&lt;br /&gt;
| no&lt;br /&gt;
| 16&lt;br /&gt;
| 9.5&lt;br /&gt;
| 31539200&lt;br /&gt;
| {{HideableNotes|Defective flash controller randomly loses writes regardless of filesystem.  When attempting to write, blocks sometimes get erased but not written.}}&lt;br /&gt;
|- style=&amp;quot;background: #F3F781&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Kingston 32GB (red) Class 10&lt;br /&gt;
| [http://www.newegg.com/Product/Product.aspx?Item=N82E16820139146]&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
| 15.2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| {{HideableNotes|doesn't have badblocks, seems that &amp;quot;Flash Translation Layer&amp;quot; is not suitable for ext filesystems}}&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 4&lt;br /&gt;
| Lexar Multi-Use 32GB&lt;br /&gt;
| [http://www.amazon.com/Lexar-Flash-memory-card-Class/dp/B0040J1ET8]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 16.1&lt;br /&gt;
| 14.4&lt;br /&gt;
| 31267840&lt;br /&gt;
| {{HideableNotes|Much faster than would be expected for a class 4 card.  Usual warning about high-speed cards being susceptible to power supply glitches applies.}}&lt;br /&gt;
|- style=&amp;quot;background: #F3F781&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Lexar Premium Series 32GB 100x&lt;br /&gt;
| [http://www.amazon.com/Lexar-Secure-Digital-Premium-Memory/dp/B003PJ657K/ref=sr_1_11?s=electronics&amp;amp;ie=UTF8&amp;amp;qid=1321986834&amp;amp;sr=1-11]&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
| 16.7&lt;br /&gt;
| 12.0&lt;br /&gt;
| ?&lt;br /&gt;
| Worst ext2 support ever. Copying fine, a LOT of I/O errors at first boot. Literally unusable. Fat32 seems perfectly supported.&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 64&lt;br /&gt;
| 10&lt;br /&gt;
| Lexar Professional 64GB 133x&lt;br /&gt;
| [http://www.amazon.com/Lexar-Professional-Flash-memory-Memory/dp/B004QWRZWY]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 19.6&lt;br /&gt;
| 15.1&lt;br /&gt;
| 62536704&lt;br /&gt;
| {{HideableNotes|R/W speed in the pandora is limited to 16.1/11.3 MB/sec.  High power consumption, may fail under load.}}[http://boards.openpandora.org/index.php?/topic/2556-32gb-sdhc-card-problems/page__st__40]&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 128&lt;br /&gt;
| 10&lt;br /&gt;
| Lexar Professional 128GB 133x SDXC&lt;br /&gt;
| [http://www.bhphotovideo.com/c/product/756124-REG/Lexar_LSD128CRBNA133_128GB_Professional_SDXC_Card.html]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 17.2&lt;br /&gt;
| 11.8&lt;br /&gt;
| 122.97GiB&lt;br /&gt;
| {{HideableNotes|Speeds listed are IN a Pandora.}}[http://boards.openpandora.org/index.php?/topic/7682-128gb-lexar-sdxc-card-benchmarks/]&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 16&lt;br /&gt;
| 6&lt;br /&gt;
| Maxflash 16GB Class 6 SDHC&lt;br /&gt;
| [http://www.max-flash.eu/en/products/SDHC%20Card.html]&lt;br /&gt;
| ?&lt;br /&gt;
| yes&lt;br /&gt;
| 14.4&lt;br /&gt;
| ?&lt;br /&gt;
| 16186368&lt;br /&gt;
| Works fine&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Patriot LX 32GB SDHC Class 10 (PSF32GSDHC10)&lt;br /&gt;
| [http://www.bestdirect.ca/products/227442/Patriot/PSF32GSDHC10/] [http://www.amazon.ca/gp/product/B002TABU5I/]&lt;br /&gt;
| yes&lt;br /&gt;
| no/yes&lt;br /&gt;
| 18.1&lt;br /&gt;
| 12.6&lt;br /&gt;
| ?&lt;br /&gt;
| {{HideableNotes|Formatting EXT2 and then running fsck right after finds errors. Seems to work well with fat32  ///  Entry 2 from another user:  Works great with ext2.  No errors or issues.}}&lt;br /&gt;
|- style=&amp;quot;background: #90Ff90&amp;quot;&lt;br /&gt;
| 4&lt;br /&gt;
| 10&lt;br /&gt;
| Pretec 4GB, Class 10, 233x (white/green)&lt;br /&gt;
| [http://pamatove-karty.heureka.sk/pretec-sdhc-4gb-class-10/]&lt;br /&gt;
| yes&lt;br /&gt;
| yes (mostly)&lt;br /&gt;
| 14.0&lt;br /&gt;
| ?&lt;br /&gt;
| 3883008&lt;br /&gt;
| {{HideableNotes|I had very few fsck problems, and after several tries running fsck, they eventually got corrected. It looks very similar to that broken 32GB pretec. Except that this one almost works good.}}&lt;br /&gt;
|- style=&amp;quot;background: #F3F781&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Pretec 32GB Class 10, 233x (white/green)&lt;br /&gt;
| [http://www.prva.sk/detail/pretec-sdhc-32gb-class-10/kk296d49525.aspx]&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
| 14.1&lt;br /&gt;
| 12.4&lt;br /&gt;
| ?&lt;br /&gt;
| {{HideableNotes|doesn't have badblocks, seems that &amp;quot;Flash Translation Layer&amp;quot; is not suitable for ext filesystems}}&lt;br /&gt;
|- style=&amp;quot;background: #F3F781&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| PNY 32GB (P-SDHC32G10)&lt;br /&gt;
| [http://www.amazon.com/PNY-SDHC-Flash-Memory-P-SDH32G10-EFS2/dp/B004LQYV5E]&lt;br /&gt;
| yes&lt;br /&gt;
| ?&lt;br /&gt;
| 17.1&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| {{HideableNotes|Works fine. EXT untested.}}&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Samsung 32GB MicroSDHC Class 10 (MB-MSBGA)&lt;br /&gt;
| [http://www.samsung.com/us/computer/memory-storage/MB-MSBGA/US]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 18.1&lt;br /&gt;
| 11.7&lt;br /&gt;
| 30657536&lt;br /&gt;
| Works. {{HideableNotes|Claimed to be resistant to magnets, shocks, and seawater—as if you’d be able to find it in the ocean!}}&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 8&lt;br /&gt;
| 10&lt;br /&gt;
| SanDisk SDHC 8GB Extreme 30MB/s Edition&lt;br /&gt;
| [http://www.amazon.de/SanDisk-SDHC-Extreme-Speicherkarte-30MB/dp/B001G87S1Y/ref=sr_1_2?ie=UTF8&amp;amp;qid=1304020731&amp;amp;sr=8-2]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 16.6&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Works nice. {{HideableNotes|Installed Angstrom on it and copied some stuff onto it. Angstrom runs as fast as from NAND. Best thing was, where I ordered it it said class 6, but it is actually 10. :-D Still have to test its speed and actual size. Didn't test Fat a lot, but it seemed to work.}}&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 8&lt;br /&gt;
| 10 - UHS 1&lt;br /&gt;
| SanDisk Extreme HD Video SDHC UHS-I 8GB 30MB/s 200X&lt;br /&gt;
| [http://www.amazon.com/SanDisk-Extreme-Video-Memory-SDSDRX3-8192-A21/dp/B000XZCIX4/ref=sr_1_2?s=electronics&amp;amp;ie=UTF8&amp;amp;qid=1322082251&amp;amp;sr=1-2]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 16.6&lt;br /&gt;
| 15&lt;br /&gt;
| ?&lt;br /&gt;
| Works.&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 16&lt;br /&gt;
| 10 - UHS 1&lt;br /&gt;
| SanDisk Extreme HD Video SDHC UHS-I 16GB 30MB/s 200X&lt;br /&gt;
| [http://www.amazon.com/SanDisk-Extreme-Video-Memory-SDSDRX3-016G-A21/dp/B003D5MY5I/ref=sr_1_2?s=electronics&amp;amp;ie=UTF8&amp;amp;qid=1322074343&amp;amp;sr=1-2]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 16.5&lt;br /&gt;
| 14.5&lt;br /&gt;
| ?&lt;br /&gt;
| Works.&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10 - UHS 1&lt;br /&gt;
| SanDisk Extreme SDHC UHS-I 32GB 45MB/s 300X&lt;br /&gt;
| [http://www.amazon.com/SanDisk-EXTREME-SDSDRX3-032G-A21-Newest-Version/dp/B0077SCBGE/ref=sr_1_13?s=electronics&amp;amp;ie=UTF8&amp;amp;qid=1330369724&amp;amp;sr=1-13]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 17.0&lt;br /&gt;
| 13.0&lt;br /&gt;
| ?&lt;br /&gt;
| Works.&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 8&lt;br /&gt;
| UHS 1&lt;br /&gt;
| SanDisk Extreme Pro SDHC UHS-I 8GB 45MB/s 300X&lt;br /&gt;
| [http://www.amazon.com/SanDisk-Carte-M%C3%A9moire-Extreme-UHS-I/dp/B004JJU6I4]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 15.8&lt;br /&gt;
| 12.5&lt;br /&gt;
| ?&lt;br /&gt;
| Works.&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 4&lt;br /&gt;
| SanDisk Ultra 32 GB Class 4 SDHC&lt;br /&gt;
| [http://www.sandisk.com/products/imaging/sandisk-ultra-sdhc]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 16.4&lt;br /&gt;
| 7.1&lt;br /&gt;
| 31166976&lt;br /&gt;
| OK.&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 64&lt;br /&gt;
| 4&lt;br /&gt;
| Sandisk 64GB SDXC Class 4&lt;br /&gt;
| [http://www.amazon.com/SanDisk-Secure-Digital-Capacity-Memory/dp/B003FVG3PC/]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 16.1&lt;br /&gt;
| 4.5&lt;br /&gt;
| 62367744&lt;br /&gt;
| Works fine&lt;br /&gt;
|- &lt;br /&gt;
| 32&lt;br /&gt;
| 6&lt;br /&gt;
| TOPRAM 32GB CLASS 6 SDHC HIGH SPEED (TRSD32GSDHCR3)&lt;br /&gt;
| [http://www.buy.com/prod/topram-32gb-class-6-sdhc-high-speed-flash-memory-card-usb-2-0-sdhc/q/loc/101/210247368.html]&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Reported working [http://www.gp32x.com/board/index.php?/topic/55506-recommended-sd-cards-for-pandora/page__view__findpost__p__897478 here].&lt;br /&gt;
|- style=&amp;quot;background: #F3F781&amp;quot;&lt;br /&gt;
| 8&lt;br /&gt;
| 10&lt;br /&gt;
| Transcend 8GB SDHC Class 10&lt;br /&gt;
| [http://www.amazon.com/Transcend-Carte-m%C3%A9moire-SDHC-Class/dp/B002WE6D44]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 13.3&lt;br /&gt;
| 10.1&lt;br /&gt;
| ?&lt;br /&gt;
| Have serious doubts about this card. May fail when transferring a lot of data. Seems it doesn't handle.&lt;br /&gt;
|- style=&amp;quot;background: #FF9090&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Transcend 32GB SDHC Class 10&lt;br /&gt;
| [http://www.amazon.co.uk/Transcend-Flash-memory-card-Class/dp/B003P3MCXW/ref=sr_1_1?ie=UTF8qid=1301320598sr=8-1]&lt;br /&gt;
| no&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;yes{{HideableNotes| working for me}}&amp;lt;/div&amp;gt;&lt;br /&gt;
| no&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;yes{{HideableNotes| working fo me}}&amp;lt;/div&amp;gt;&lt;br /&gt;
| 16.0&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Has serious issues [http://boards.openpandora.org/index.php?/topic/1592-sd-card-instability/]&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;Bad partitioning ?{{HideableNotes| working fo me}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background: #FF9090&amp;quot;&lt;br /&gt;
| 64&lt;br /&gt;
| 10&lt;br /&gt;
| Transcend SDXC Card 64GB ULTIMATE CLASS 10 (PN:TS64GSDXC10)&lt;br /&gt;
| [http://www.transcendusa.com/Products/ModDetail.asp?ModNo=286&amp;amp;LangNo=0&amp;amp;Func1No=1&amp;amp;Func2No=13]&lt;br /&gt;
| yes (needs more testing)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;yes{{HideableNotes|but look at the notes, not good}}&amp;lt;/div&amp;gt;&lt;br /&gt;
| no&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;?{{HideableNotes|Might work but didn't really test it long enough}}&amp;lt;/div&amp;gt;&lt;br /&gt;
| 16.1&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;&amp;lt;=16&amp;lt;/div&amp;gt;&lt;br /&gt;
| 16.1&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;&amp;lt;=16&amp;lt;/div&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
| {{HideableNotes|After some time the system gives read/write errors. Works fine on a pc with linux with ext2/ext3.}}&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;Serious issues. {{HideableNotes|My Linux computer can't read it, but that is probably the computer. First formatted it to ext2 while leaving 16MiB free at the beginning because it was like that when I got it. Had 16MB/s r/w. Then started to have problems after writing about 64GB to it, couldn't mount it, reformatted it, no change, reformatted it as Fat32, still no change, reformatted again as fat32, no problems so far but write speed is 0.5MB/s and read speed 14.76MB/s. I let F3 run over it, the speed was measured using it too. --A few weeks later-- It has got variable w/r speed, it drops after a few seconds of writing data to it. Sometimes it gives other errors, stops working until I reboot, etc. It's useable, but I wouldn't buy it again.}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background: #FF9090&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 6&lt;br /&gt;
| Verbatim Class 6 Premium HD Video 32GB SDHC&lt;br /&gt;
| [http://www.amazon.co.uk/Verbatim-44032-32GB-Video-Class/dp/B0035MSOX0/ref=sr_1_2?ie=UTF8&amp;amp;s=electronics&amp;amp;qid=1304517332&amp;amp;sr=8-2]&lt;br /&gt;
| no&lt;br /&gt;
| no&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Behaviour similar to Kingston 32GB Class 4 -[http://www.gp32x.com/board/index.php?/topic/59113-pnd-run-sh/page__view__findpost__p__948196]&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 4&lt;br /&gt;
| Zap Glider 32GB Class 4&lt;br /&gt;
| [http://www.teknikmagasinet.se/db.pl?tf=product.html&amp;amp;artnr=181043]&lt;br /&gt;
| ?&lt;br /&gt;
| yes&lt;br /&gt;
| 16.6&lt;br /&gt;
| 4.6&lt;br /&gt;
| ?&lt;br /&gt;
| Works fine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:List]]&lt;br /&gt;
[[Category:Storage card]]&lt;/div&gt;</summary>
		<author><name>Wtachi</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Compile_on_the_Pandora&amp;diff=10581</id>
		<title>Compile on the Pandora</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Compile_on_the_Pandora&amp;diff=10581"/>
		<updated>2012-05-23T00:14:53Z</updated>

		<summary type="html">&lt;p&gt;Wtachi: /* The opkg way */ libgcc-dev is apparently the same as libgcc-s-dev, but better&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Lazy but working way ==&lt;br /&gt;
&lt;br /&gt;
This is how I, T4b, set up my develepment environment. Of course it is on an SD card, the NAND is way to small. I recommend an 8GB card.&lt;br /&gt;
=== Installing the OS to an SD ===&lt;br /&gt;
 This part was almost only copied from there: http://www.pandorabits.org/index.php?page=sd-installer&lt;br /&gt;
#Copy the PND to an SD card in the usual manner. You can get it from [http://www.pandorabits.org/index.php?page=sd-installer-downloads PandoraBits' download page].&lt;br /&gt;
#Copy a firmware image to the same card. You can get one from [http://openpandora.org/firmware/ here], the file &amp;quot;pandora-rootfs.tar.bz2&amp;quot; should always be the latest image, older ones are under the &amp;quot;images&amp;quot; directory. I suggest using the newest one, I did it with the (at the moment of writing this) newest one, with HotFix5.&lt;br /&gt;
#Ensure that you have both SD cards in Pandora. It doesn't matter which one is in which slot.&lt;br /&gt;
#Run the PND. You will probably be asked for your password at this point. This is needed because the installer needs to run as root in order to partition and format the SD card.&lt;br /&gt;
#Follow the prompts that appear. You will be asked for the firmware image file, then asked to select the card that you want to use, then asked to choose how much space to allocate to the VFAT (Windows, see below) and swap partitions.&lt;br /&gt;
#Once you have gone through all the prompts, the firmware image will be installed to the SD card. This will take upwards of ten minutes. The larger the card, the longer it takes, so be patient.&lt;br /&gt;
#Once complete, you will be able to boot your Pandora from the SD card by powering it on with the card in the left slot. Please note that the first boot will take longer than usual, at least ten minutes. Cards of 16 GB or more seem to take a lot longer.&lt;br /&gt;
=== Getting the actual development environment ===&lt;br /&gt;
No you'll find out why I called it a &amp;quot;lazy&amp;quot; way.&lt;br /&gt;
#Download the newest archive from  [http://forum.gp2x.de/viewtopic.php?f=24&amp;amp;t=11865 this] thread in the German gp2x.de forum. Use google translator if necessary (at the time of writing this the newest one was [http://kimu.usenet-verwaltung.de/devel-pandora-native-20110411.tar.bz2 this] [direct download])&lt;br /&gt;
#Copy it on an SD which you insert into your Pandora&lt;br /&gt;
#&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;cd /&amp;lt;/source&amp;gt;&lt;br /&gt;
#&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo tar -xjf path/to/archive.tar.bz2&amp;lt;/source&amp;gt;&lt;br /&gt;
#Reboot&lt;br /&gt;
Done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The opkg way ==&lt;br /&gt;
torpor described how to [http://www.gp32x.com/board/index.php?/topic/53964-cross-compiling-is-bollocks-toolchains-are-bollocks-use-your-pandora-to-build-apps/ build apps directly on the Pandora].&lt;br /&gt;
&lt;br /&gt;
{{warning&lt;br /&gt;
|Please note that as of March 2011, you will break your install if you follow those instructions directly! The angstrom &amp;quot;unstable&amp;quot; distribution is well named.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
You can try the following:&lt;br /&gt;
&lt;br /&gt;
1. I found that the www.angstrom-distribution.org repo was very slow, so changed the config files in /etc/opkg/ to use us.feeds.angstrom-distribution.org instead.&lt;br /&gt;
&lt;br /&gt;
2. Enable sshd, and ssh in from another machine.  This helps keep control when things break.  To get root:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo bash&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Set up a [http://pandorawiki.org/Extend_Utils#Creating_a_Root_or_Home_Overlay_PreMount root overlay] on your SD card.  This gives you a way to try again when things break, and there are other benefits.  I added /home/ to the overlay also, by editing the &amp;quot;premount&amp;quot; script.  To explain the extend terminology a bit, a &amp;quot;root overlay&amp;quot; is a loop mounted filesystem (on an SD) which goes over the top of (most of) your normal root filesystem.  You can still read the files underneath it, but any writes / deletes are recorded only in the overlay filesystem.  Your real root on the NAND is not modified at all.  The &amp;quot;premount&amp;quot; shell script is used to mount your overlay, have a look in it to see how it works.  You can sort of unmount them using umount -l (lazy umount), but I'm not sure if this is safe.  The reliable way to unmount it is to reboot the Pandora!&lt;br /&gt;
&lt;br /&gt;
4. Mount the overlay.  Check this worked, with &amp;quot;mount&amp;quot; or &amp;quot;df&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Get new fresh package lists:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;opkg update&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. ncurses packaging seems to be broken, and ncurses is important!  So, I suggest to do this first (in the overlay), or be prepared for things to start breaking when it gets removed later.  If it does get removed, make sure to install it again!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;opkg install libncurses5&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. Install dev packages:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;opkg install gcc gcc-symlinks make-dev binutils-dev cpp cpp-symlinks libgcc-dev&lt;br /&gt;
opkg install g++ g++-symlinks libstdc++-dev&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. Try to compile &amp;quot;hello world&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
9. I had trouble with libsdl-image-1.2-dev and libpng / libpng-dev.  libpng-dev from the repo conflicts with 'libpng' on the Pandora.  That latter package is misnamed I guess, it should be called 'libpng-dev', only contains libpng-config and libpng12-config (dev tools, not essential) but task-pandora-core depends on it.  The real libs are in libpng12-0 / libpng3.  So I did this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
opkg remove libpng --force-depends&lt;br /&gt;
opkg install libpng-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10. Install extra dev libs:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
opkg install libgles-omap3-dev&lt;br /&gt;
opkg install libsdl-1.2-dev libsdl-gfx-dev libsdl-image-1.2-dev libsdl-mixer-1.2-dev libsdl-net-1.2-dev libsdl-ttf-2.0-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Hopefully this will go smoothly if you've fixed the png conflict in step 9.&lt;br /&gt;
&lt;br /&gt;
11. Install optional extra stuff, if you want them:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
opkg install vim vim-syntax&lt;br /&gt;
opkg install libgles-omap3-demos&lt;br /&gt;
opkg install screen git rsync&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The above was from memory, I didn't re-test all of it because it took too long even the first time!  If you find other problems or quirks, please correct it.&lt;br /&gt;
&lt;br /&gt;
After all this, I was able to build torpor's suggested dev demo app, [http://w1xer.at/pandora/ WakeBreaker].&lt;br /&gt;
&lt;br /&gt;
== Using the C Development Tools PND ==&lt;br /&gt;
&lt;br /&gt;
For compiling C/C++ programs that use SDL, GTK+, QT or Allegro, a PND is now available: [http://repo.openpandora.org/?page=detail&amp;amp;app=cdevtools.freamon.40n8e repo].  Running this PND gives your Pandora access to gcc and g++ without changing the root filesystem.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Wtachi</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Compile_on_the_Pandora&amp;diff=10580</id>
		<title>Compile on the Pandora</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Compile_on_the_Pandora&amp;diff=10580"/>
		<updated>2012-05-22T22:42:23Z</updated>

		<summary type="html">&lt;p&gt;Wtachi: /* Torpor's way */ change section name and note libgcc-s-dev&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Lazy but working way ==&lt;br /&gt;
&lt;br /&gt;
This is how I, T4b, set up my develepment environment. Of course it is on an SD card, the NAND is way to small. I recommend an 8GB card.&lt;br /&gt;
=== Installing the OS to an SD ===&lt;br /&gt;
 This part was almost only copied from there: http://www.pandorabits.org/index.php?page=sd-installer&lt;br /&gt;
#Copy the PND to an SD card in the usual manner. You can get it from [http://www.pandorabits.org/index.php?page=sd-installer-downloads PandoraBits' download page].&lt;br /&gt;
#Copy a firmware image to the same card. You can get one from [http://openpandora.org/firmware/ here], the file &amp;quot;pandora-rootfs.tar.bz2&amp;quot; should always be the latest image, older ones are under the &amp;quot;images&amp;quot; directory. I suggest using the newest one, I did it with the (at the moment of writing this) newest one, with HotFix5.&lt;br /&gt;
#Ensure that you have both SD cards in Pandora. It doesn't matter which one is in which slot.&lt;br /&gt;
#Run the PND. You will probably be asked for your password at this point. This is needed because the installer needs to run as root in order to partition and format the SD card.&lt;br /&gt;
#Follow the prompts that appear. You will be asked for the firmware image file, then asked to select the card that you want to use, then asked to choose how much space to allocate to the VFAT (Windows, see below) and swap partitions.&lt;br /&gt;
#Once you have gone through all the prompts, the firmware image will be installed to the SD card. This will take upwards of ten minutes. The larger the card, the longer it takes, so be patient.&lt;br /&gt;
#Once complete, you will be able to boot your Pandora from the SD card by powering it on with the card in the left slot. Please note that the first boot will take longer than usual, at least ten minutes. Cards of 16 GB or more seem to take a lot longer.&lt;br /&gt;
=== Getting the actual development environment ===&lt;br /&gt;
No you'll find out why I called it a &amp;quot;lazy&amp;quot; way.&lt;br /&gt;
#Download the newest archive from  [http://forum.gp2x.de/viewtopic.php?f=24&amp;amp;t=11865 this] thread in the German gp2x.de forum. Use google translator if necessary (at the time of writing this the newest one was [http://kimu.usenet-verwaltung.de/devel-pandora-native-20110411.tar.bz2 this] [direct download])&lt;br /&gt;
#Copy it on an SD which you insert into your Pandora&lt;br /&gt;
#&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;cd /&amp;lt;/source&amp;gt;&lt;br /&gt;
#&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo tar -xjf path/to/archive.tar.bz2&amp;lt;/source&amp;gt;&lt;br /&gt;
#Reboot&lt;br /&gt;
Done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The opkg way ==&lt;br /&gt;
torpor described how to [http://www.gp32x.com/board/index.php?/topic/53964-cross-compiling-is-bollocks-toolchains-are-bollocks-use-your-pandora-to-build-apps/ build apps directly on the Pandora].&lt;br /&gt;
&lt;br /&gt;
{{warning&lt;br /&gt;
|Please note that as of March 2011, you will break your install if you follow those instructions directly! The angstrom &amp;quot;unstable&amp;quot; distribution is well named.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
You can try the following:&lt;br /&gt;
&lt;br /&gt;
1. I found that the www.angstrom-distribution.org repo was very slow, so changed the config files in /etc/opkg/ to use us.feeds.angstrom-distribution.org instead.&lt;br /&gt;
&lt;br /&gt;
2. Enable sshd, and ssh in from another machine.  This helps keep control when things break.  To get root:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;sudo bash&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Set up a [http://pandorawiki.org/Extend_Utils#Creating_a_Root_or_Home_Overlay_PreMount root overlay] on your SD card.  This gives you a way to try again when things break, and there are other benefits.  I added /home/ to the overlay also, by editing the &amp;quot;premount&amp;quot; script.  To explain the extend terminology a bit, a &amp;quot;root overlay&amp;quot; is a loop mounted filesystem (on an SD) which goes over the top of (most of) your normal root filesystem.  You can still read the files underneath it, but any writes / deletes are recorded only in the overlay filesystem.  Your real root on the NAND is not modified at all.  The &amp;quot;premount&amp;quot; shell script is used to mount your overlay, have a look in it to see how it works.  You can sort of unmount them using umount -l (lazy umount), but I'm not sure if this is safe.  The reliable way to unmount it is to reboot the Pandora!&lt;br /&gt;
&lt;br /&gt;
4. Mount the overlay.  Check this worked, with &amp;quot;mount&amp;quot; or &amp;quot;df&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Get new fresh package lists:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;opkg update&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. ncurses packaging seems to be broken, and ncurses is important!  So, I suggest to do this first (in the overlay), or be prepared for things to start breaking when it gets removed later.  If it does get removed, make sure to install it again!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;opkg install libncurses5&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. Install dev packages:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;opkg install gcc gcc-symlinks make-dev binutils-dev cpp cpp-symlinks g++ g++-symlinks libstdc++-dev libgcc-s-dev&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. Try to compile &amp;quot;hello world&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
9. I had trouble with libsdl-image-1.2-dev and libpng / libpng-dev.  libpng-dev from the repo conflicts with 'libpng' on the Pandora.  That latter package is misnamed I guess, it should be called 'libpng-dev', only contains libpng-config and libpng12-config (dev tools, not essential) but task-pandora-core depends on it.  The real libs are in libpng12-0 / libpng3.  So I did this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
opkg remove libpng --force-depends&lt;br /&gt;
opkg install libpng-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10. Install extra dev libs:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
opkg install libgles-omap3-dev&lt;br /&gt;
opkg install libsdl-1.2-dev libsdl-gfx-dev libsdl-image-1.2-dev libsdl-mixer-1.2-dev libsdl-net-1.2-dev libsdl-ttf-2.0-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Hopefully this will go smoothly if you've fixed the png conflict in step 9.&lt;br /&gt;
&lt;br /&gt;
11. Install optional extra stuff, if you want them:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
opkg install vim vim-syntax&lt;br /&gt;
opkg install libgles-omap3-demos&lt;br /&gt;
opkg install screen git rsync&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The above was from memory, I didn't re-test all of it because it took too long even the first time!  If you find other problems or quirks, please correct it.&lt;br /&gt;
&lt;br /&gt;
After all this, I was able to build torpor's suggested dev demo app, [http://w1xer.at/pandora/ WakeBreaker].&lt;br /&gt;
&lt;br /&gt;
== Using the C Development Tools PND ==&lt;br /&gt;
&lt;br /&gt;
For compiling C/C++ programs that use SDL, GTK+, QT or Allegro, a PND is now available: [http://repo.openpandora.org/?page=detail&amp;amp;app=cdevtools.freamon.40n8e repo].  Running this PND gives your Pandora access to gcc and g++ without changing the root filesystem.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Wtachi</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=SD_compatibility_list&amp;diff=10579</id>
		<title>SD compatibility list</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=SD_compatibility_list&amp;diff=10579"/>
		<updated>2012-05-22T19:56:13Z</updated>

		<summary type="html">&lt;p&gt;Wtachi: add some better links and move notes around so it looks better without JS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a compatibility list for SD, SDHC and SDXC cards. The cards listed in '''green''' work with any file system. The cards listed in '''yellow''' work well only with one file system (this still means they can be used on the Pandora). The cards listed in '''red''' do not work well with any file system. Although it is not covered on this list, the Pandora can also read NTFS-formatted SD cards if the [http://www.open-pandora.org/downloads/CodecPack.pnd Community Codec Pack] is installed.&lt;br /&gt;
&lt;br /&gt;
Note: always measure read speed by opening a terminal window and typing this command:&lt;br /&gt;
* the first inserted SD Card: '''dd if=/dev/mmcblk0 of=/dev/null bs=4MiB count=100'''&lt;br /&gt;
* the second inserted SD Card: '''dd if=/dev/mmcblk1 of=/dev/null bs=4MiB count=100'''&lt;br /&gt;
&lt;br /&gt;
Note: The first inserted SD Card will always be /dev/mmcblk0, regardless if you put it into the second or first SD Card slot, whereas the second will be /dev/mmcblk1&lt;br /&gt;
&lt;br /&gt;
If you can afford '''''destroying''''' all your data, you can test write speed. But be careful, you will need to create a new partition table, afterwards! You can use [http://www.gp32x.com/board/index.php?/topic/56915-gparted/ Gparted] to make new partition table.&lt;br /&gt;
* the first inserted SD Card: # '''dd if=/dev/zero of=/dev/mmcblk0 bs=4MiB count=100'''&lt;br /&gt;
* the second inserted SD Card: # '''dd if=/dev/zero of=/dev/mmcblk1 bs=4MiB count=100'''&lt;br /&gt;
&lt;br /&gt;
By default, the first partition starts at block 8192 (4096KB) for 32GB cards, and block 32768 (16384KB) for 64GB cards.  64GB cards may need to be [[formatting SD cards|reformatted]] before use.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Card size in GB&lt;br /&gt;
! Card class&lt;br /&gt;
! Full name&lt;br /&gt;
! URL&lt;br /&gt;
! fat32 is working?&lt;br /&gt;
! ext2/3/4 are working?&lt;br /&gt;
! read speed MB/sec&lt;br /&gt;
! write speed MB/sec&lt;br /&gt;
! actual capacity (1024byte blocks)&lt;br /&gt;
! Notes&lt;br /&gt;
|- &lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Centon 32GB Class 10 SDHC&lt;br /&gt;
| [http://www.microcenter.com/single_product_results.phtml?product_id=0335228]&lt;br /&gt;
| yes&lt;br /&gt;
| ?&lt;br /&gt;
| 17.3&lt;br /&gt;
| 23.9&lt;br /&gt;
| ?&lt;br /&gt;
| ok {{HideableNotes|so far, first few hours of use}}&lt;br /&gt;
|- style=&amp;quot;background: #90Ff90&amp;quot;&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| Kingston 1GB (blue)&lt;br /&gt;
| [http://www.newegg.com/Product/Product.aspx?Item=N82E16820160032]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 12.5&lt;br /&gt;
| ?&lt;br /&gt;
| 1006080&lt;br /&gt;
| ok&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 4&lt;br /&gt;
| Kingston 8GB Class 4 (black)&lt;br /&gt;
| &lt;br /&gt;
| not long-term tested yet&lt;br /&gt;
| not long-term tested yet&lt;br /&gt;
| 17.1&lt;br /&gt;
| 4.8&lt;br /&gt;
| ?&lt;br /&gt;
| From Craig's shop, so must be ok ;)&lt;br /&gt;
|- style=&amp;quot;background: #FF9090&amp;quot;&lt;br /&gt;
| 16&lt;br /&gt;
| 4&lt;br /&gt;
| Kingston 16 GB Class 4 SDHC&lt;br /&gt;
| [http://www.amazon.com/Kingston-Class-Memory-SD4-16GB/dp/B0013AV9TW]&lt;br /&gt;
| no&lt;br /&gt;
| no&lt;br /&gt;
| 15&lt;br /&gt;
| 9.5&lt;br /&gt;
| 15663104&lt;br /&gt;
| {{HideableNotes|Bad controller chip, fails in the same manner as the 32GB card.}}&lt;br /&gt;
|- style=&amp;quot;background: #FF9090&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 4&lt;br /&gt;
| Kingston 32 GB Class 4 SDHC&lt;br /&gt;
| [http://www.amazon.com/Kingston-Class-Memory-SD4-32GB/dp/B001C9P5TO]&lt;br /&gt;
| no&lt;br /&gt;
| no&lt;br /&gt;
| 16&lt;br /&gt;
| 9.5&lt;br /&gt;
| 31539200&lt;br /&gt;
| {{HideableNotes|Defective flash controller randomly loses writes regardless of filesystem.  When attempting to write, blocks sometimes get erased but not written.}}&lt;br /&gt;
|- style=&amp;quot;background: #F3F781&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Kingston 32GB (red) Class 10&lt;br /&gt;
| [http://www.newegg.com/Product/Product.aspx?Item=N82E16820139146]&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
| 15.2&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| {{HideableNotes|doesn't have badblocks, seems that &amp;quot;Flash Translation Layer&amp;quot; is not suitable for ext filesystems}}&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 4&lt;br /&gt;
| Lexar Multi-Use 32GB&lt;br /&gt;
| [http://www.amazon.com/Lexar-Flash-memory-card-Class/dp/B0040J1ET8]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 16.1&lt;br /&gt;
| 14.4&lt;br /&gt;
| 31267840&lt;br /&gt;
| {{HideableNotes|Much faster than would be expected for a class 4 card.  Usual warning about high-speed cards being susceptible to power supply glitches applies.}}&lt;br /&gt;
|- style=&amp;quot;background: #F3F781&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Lexar Premium Series 32GB 100x&lt;br /&gt;
| [http://www.amazon.com/Lexar-Secure-Digital-Premium-Memory/dp/B003PJ657K/ref=sr_1_11?s=electronics&amp;amp;ie=UTF8&amp;amp;qid=1321986834&amp;amp;sr=1-11]&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
| 16.7&lt;br /&gt;
| 12.0&lt;br /&gt;
| ?&lt;br /&gt;
| Worst ext2 support ever. Copying fine, a LOT of I/O errors at first boot. Literally unusable. Fat32 seems perfectly supported.&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 64&lt;br /&gt;
| 10&lt;br /&gt;
| Lexar Professional 64GB 133x&lt;br /&gt;
| [http://www.amazon.com/Lexar-Professional-Flash-memory-Memory/dp/B004QWRZWY]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 19.6&lt;br /&gt;
| 15.1&lt;br /&gt;
| 62536704&lt;br /&gt;
| {{HideableNotes|R/W speed in the pandora is limited to 16.1/11.3 MB/sec.  High power consumption, may fail under load.}}[http://boards.openpandora.org/index.php?/topic/2556-32gb-sdhc-card-problems/page__st__40]&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 128&lt;br /&gt;
| 10&lt;br /&gt;
| Lexar Professional 128GB 133x SDXC&lt;br /&gt;
| [http://www.bhphotovideo.com/c/product/756124-REG/Lexar_LSD128CRBNA133_128GB_Professional_SDXC_Card.html]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 17.2&lt;br /&gt;
| 11.8&lt;br /&gt;
| 122.97GiB&lt;br /&gt;
| {{HideableNotes|Speeds listed are IN a Pandora.}}[http://boards.openpandora.org/index.php?/topic/7682-128gb-lexar-sdxc-card-benchmarks/]&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 16&lt;br /&gt;
| 6&lt;br /&gt;
| Maxflash 16GB Class 6 SDHC&lt;br /&gt;
| [http://www.max-flash.eu/en/products/SDHC%20Card.html]&lt;br /&gt;
| ?&lt;br /&gt;
| yes&lt;br /&gt;
| 14.4&lt;br /&gt;
| ?&lt;br /&gt;
| 16186368&lt;br /&gt;
| Works fine&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Patriot LX 32GB SDHC Class 10 (PSF32GSDHC10)&lt;br /&gt;
| [http://www.bestdirect.ca/products/227442/Patriot/PSF32GSDHC10/] [http://www.amazon.ca/gp/product/B002TABU5I/]&lt;br /&gt;
| yes&lt;br /&gt;
| no/yes&lt;br /&gt;
| 18.1&lt;br /&gt;
| 12.6&lt;br /&gt;
| ?&lt;br /&gt;
| {{HideableNotes|Formatting EXT2 and then running fsck right after finds errors. Seems to work well with fat32  ///  Entry 2 from another user:  Works great with ext2.  No errors or issues.}}&lt;br /&gt;
|- style=&amp;quot;background: #90Ff90&amp;quot;&lt;br /&gt;
| 4&lt;br /&gt;
| 10&lt;br /&gt;
| Pretec 4GB, Class 10, 233x (white/green)&lt;br /&gt;
| [http://pamatove-karty.heureka.sk/pretec-sdhc-4gb-class-10/]&lt;br /&gt;
| yes&lt;br /&gt;
| yes (mostly)&lt;br /&gt;
| 14.0&lt;br /&gt;
| ?&lt;br /&gt;
| 3883008&lt;br /&gt;
| {{HideableNotes|I had very few fsck problems, and after several tries running fsck, they eventually got corrected. It looks very similar to that broken 32GB pretec. Except that this one almost works good.}}&lt;br /&gt;
|- style=&amp;quot;background: #F3F781&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Pretec 32GB Class 10, 233x (white/green)&lt;br /&gt;
| [http://www.prva.sk/detail/pretec-sdhc-32gb-class-10/kk296d49525.aspx]&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
| 14.1&lt;br /&gt;
| 12.4&lt;br /&gt;
| ?&lt;br /&gt;
| {{HideableNotes|doesn't have badblocks, seems that &amp;quot;Flash Translation Layer&amp;quot; is not suitable for ext filesystems}}&lt;br /&gt;
|- style=&amp;quot;background: #F3F781&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| PNY 32GB (P-SDHC32G10)&lt;br /&gt;
| [http://www.amazon.com/PNY-SDHC-Flash-Memory-P-SDH32G10-EFS2/dp/B004LQYV5E]&lt;br /&gt;
| yes&lt;br /&gt;
| ?&lt;br /&gt;
| 17.1&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| {{HideableNotes|Works fine. EXT untested.}}&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 8&lt;br /&gt;
| 10&lt;br /&gt;
| SanDisk SDHC 8GB Extreme 30MB/s Edition&lt;br /&gt;
| [http://www.amazon.de/SanDisk-SDHC-Extreme-Speicherkarte-30MB/dp/B001G87S1Y/ref=sr_1_2?ie=UTF8&amp;amp;qid=1304020731&amp;amp;sr=8-2]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 16.6&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Works nice. {{HideableNotes|Installed Angstrom on it and copied some stuff onto it. Angstrom runs as fast as from NAND. Best thing was, where I ordered it it said class 6, but it is actually 10. :-D Still have to test its speed and actual size. Didn't test Fat a lot, but it seemed to work.}}&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 8&lt;br /&gt;
| 10 - UHS 1&lt;br /&gt;
| SanDisk Extreme HD Video SDHC UHS-I 8GB 30MB/s 200X&lt;br /&gt;
| [http://www.amazon.com/SanDisk-Extreme-Video-Memory-SDSDRX3-8192-A21/dp/B000XZCIX4/ref=sr_1_2?s=electronics&amp;amp;ie=UTF8&amp;amp;qid=1322082251&amp;amp;sr=1-2]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 16.6&lt;br /&gt;
| 15&lt;br /&gt;
| ?&lt;br /&gt;
| Works.&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 16&lt;br /&gt;
| 10 - UHS 1&lt;br /&gt;
| SanDisk Extreme HD Video SDHC UHS-I 16GB 30MB/s 200X&lt;br /&gt;
| [http://www.amazon.com/SanDisk-Extreme-Video-Memory-SDSDRX3-016G-A21/dp/B003D5MY5I/ref=sr_1_2?s=electronics&amp;amp;ie=UTF8&amp;amp;qid=1322074343&amp;amp;sr=1-2]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 16.5&lt;br /&gt;
| 14.5&lt;br /&gt;
| ?&lt;br /&gt;
| Works.&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10 - UHS 1&lt;br /&gt;
| SanDisk Extreme SDHC UHS-I 32GB 45MB/s 300X&lt;br /&gt;
| [http://www.amazon.com/SanDisk-EXTREME-SDSDRX3-032G-A21-Newest-Version/dp/B0077SCBGE/ref=sr_1_13?s=electronics&amp;amp;ie=UTF8&amp;amp;qid=1330369724&amp;amp;sr=1-13]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 17.0&lt;br /&gt;
| 13.0&lt;br /&gt;
| ?&lt;br /&gt;
| Works.&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 8&lt;br /&gt;
| UHS 1&lt;br /&gt;
| SanDisk Extreme Pro SDHC UHS-I 8GB 45MB/s 300X&lt;br /&gt;
| [http://www.amazon.com/SanDisk-Carte-M%C3%A9moire-Extreme-UHS-I/dp/B004JJU6I4]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 15.8&lt;br /&gt;
| 12.5&lt;br /&gt;
| ?&lt;br /&gt;
| Works.&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 4&lt;br /&gt;
| SanDisk Ultra 32 GB Class 4 SDHC&lt;br /&gt;
| [http://www.sandisk.com/products/imaging/sandisk-ultra-sdhc]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 16.4&lt;br /&gt;
| 7.1&lt;br /&gt;
| 31166976&lt;br /&gt;
| OK.&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 64&lt;br /&gt;
| 4&lt;br /&gt;
| Sandisk 64GB SDXC Class 4&lt;br /&gt;
| [http://www.amazon.com/SanDisk-Secure-Digital-Capacity-Memory/dp/B003FVG3PC/]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 16.1&lt;br /&gt;
| 4.5&lt;br /&gt;
| 62367744&lt;br /&gt;
| Works fine&lt;br /&gt;
|- &lt;br /&gt;
| 32&lt;br /&gt;
| 6&lt;br /&gt;
| TOPRAM 32GB CLASS 6 SDHC HIGH SPEED (TRSD32GSDHCR3)&lt;br /&gt;
| [http://www.buy.com/prod/topram-32gb-class-6-sdhc-high-speed-flash-memory-card-usb-2-0-sdhc/q/loc/101/210247368.html]&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Reported working [http://www.gp32x.com/board/index.php?/topic/55506-recommended-sd-cards-for-pandora/page__view__findpost__p__897478 here].&lt;br /&gt;
|- style=&amp;quot;background: #F3F781&amp;quot;&lt;br /&gt;
| 8&lt;br /&gt;
| 10&lt;br /&gt;
| Transcend 8GB SDHC Class 10&lt;br /&gt;
| [http://www.amazon.com/Transcend-Carte-m%C3%A9moire-SDHC-Class/dp/B002WE6D44]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
| 13.3&lt;br /&gt;
| 10.1&lt;br /&gt;
| ?&lt;br /&gt;
| Have serious doubts about this card. May fail when transferring a lot of data. Seems it doesn't handle.&lt;br /&gt;
|- style=&amp;quot;background: #FF9090&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 10&lt;br /&gt;
| Transcend 32GB SDHC Class 10&lt;br /&gt;
| [http://www.amazon.co.uk/Transcend-Flash-memory-card-Class/dp/B003P3MCXW/ref=sr_1_1?ie=UTF8qid=1301320598sr=8-1]&lt;br /&gt;
| no&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;yes{{HideableNotes| working for me}}&amp;lt;/div&amp;gt;&lt;br /&gt;
| no&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;yes{{HideableNotes| working fo me}}&amp;lt;/div&amp;gt;&lt;br /&gt;
| 16.0&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Has serious issues [http://boards.openpandora.org/index.php?/topic/1592-sd-card-instability/]&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;Bad partitioning ?{{HideableNotes| working fo me}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background: #FF9090&amp;quot;&lt;br /&gt;
| 64&lt;br /&gt;
| 10&lt;br /&gt;
| Transcend SDXC Card 64GB ULTIMATE CLASS 10 (PN:TS64GSDXC10)&lt;br /&gt;
| [http://www.transcendusa.com/Products/ModDetail.asp?ModNo=286&amp;amp;LangNo=0&amp;amp;Func1No=1&amp;amp;Func2No=13]&lt;br /&gt;
| yes (needs more testing)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;yes{{HideableNotes|but look at the notes, not good}}&amp;lt;/div&amp;gt;&lt;br /&gt;
| no&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;?{{HideableNotes|Might work but didn't really test it long enough}}&amp;lt;/div&amp;gt;&lt;br /&gt;
| 16.1&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;&amp;lt;=16&amp;lt;/div&amp;gt;&lt;br /&gt;
| 16.1&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;&amp;lt;=16&amp;lt;/div&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
| {{HideableNotes|After some time the system gives read/write errors. Works fine on a pc with linux with ext2/ext3.}}&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #F3F781&amp;quot;&amp;gt;Serious issues. {{HideableNotes|My Linux computer can't read it, but that is probably the computer. First formatted it to ext2 while leaving 16MiB free at the beginning because it was like that when I got it. Had 16MB/s r/w. Then started to have problems after writing about 64GB to it, couldn't mount it, reformatted it, no change, reformatted it as Fat32, still no change, reformatted again as fat32, no problems so far but write speed is 0.5MB/s and read speed 14.76MB/s. I let F3 run over it, the speed was measured using it too. --A few weeks later-- It has got variable w/r speed, it drops after a few seconds of writing data to it. Sometimes it gives other errors, stops working until I reboot, etc. It's useable, but I wouldn't buy it again.}}&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background: #FF9090&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 6&lt;br /&gt;
| Verbatim Class 6 Premium HD Video 32GB SDHC&lt;br /&gt;
| [http://www.amazon.co.uk/Verbatim-44032-32GB-Video-Class/dp/B0035MSOX0/ref=sr_1_2?ie=UTF8&amp;amp;s=electronics&amp;amp;qid=1304517332&amp;amp;sr=8-2]&lt;br /&gt;
| no&lt;br /&gt;
| no&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Behaviour similar to Kingston 32GB Class 4 -[http://www.gp32x.com/board/index.php?/topic/59113-pnd-run-sh/page__view__findpost__p__948196]&lt;br /&gt;
|- style=&amp;quot;background: #90FF90&amp;quot;&lt;br /&gt;
| 32&lt;br /&gt;
| 4&lt;br /&gt;
| Zap Glider 32GB Class 4&lt;br /&gt;
| [http://www.teknikmagasinet.se/db.pl?tf=product.html&amp;amp;artnr=181043]&lt;br /&gt;
| ?&lt;br /&gt;
| yes&lt;br /&gt;
| 16.6&lt;br /&gt;
| 4.6&lt;br /&gt;
| ?&lt;br /&gt;
| Works fine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:List]]&lt;br /&gt;
[[Category:Storage card]]&lt;/div&gt;</summary>
		<author><name>Wtachi</name></author>
		
	</entry>
</feed>