Forums - Adreno SDK For Linux

5 posts / 0 new
Last post
Adreno SDK For Linux
jeremy.williams...
Join Date: 1 Dec 11
Posts: 2
Posted: Sat, 2011-12-24 23:13

Hi,

I might be completeley oblivious. Is it possible to install the Adreno SDK on Ubuntu?

The downloadable installer is only for Windows, so I can run it in Wine, but I'm curious if a Linux version exists.

Thank you,

J

  • Up0
  • Down0
Dave_Astle Moderator
Profile picture
Join Date: 15 Mar 10
Location: San Diego, CA
Posts: 33
Posted: Tue, 2012-01-31 14:00

At present, the Adreno SDK is only supported on Windows

  • Up0
  • Down0
ATTY_Lionel
Join Date: 31 Jan 12
Posts: 12
Posted: Tue, 2012-04-10 02:30

Hi :-),

 

Worked for me with some modifications/adds, on ubuntu x64 11.10 (android sdk + eclipse ADT + ndk, for android 2.3.3 target)

The modifications (not exhaustive):

- Change the name for somes includes files: sensitiv case problems, for examples:

 

#include <GLES2/GL2.h> -> #include <GLES2/gl2.h>
#include "FrmStdLib.h" -> #include "FrmStdlib.h"

 

It's long and boring but not difficult ;-)

- For each samples, create/modify the InstallMedia.bat to InstallMedia.sh like this (for Bloom sample):

 

echo
echo ------------------------------------------------------------------------------
echo This will copy the required data into the assets directory for sample to run.
echo ------------------------------------------------------------------------------
read -p "Press [Enter] key to start copy..."
cp -r "../../../bin/OpenGL ES/Bloom/Media" assets/Media
echo
echo DONE
read -p ""

and ... euuhhh .. that's all i think (don't remember all modifications ... sorry).

Hope that's will help you,

YoYo (on XPeria Play).

 

ps: Sorry for my english ... :-/

  • Up0
  • Down0
ATTY_Lionel
Join Date: 31 Jan 12
Posts: 12
Posted: Tue, 2012-04-10 02:45

I'm forgot the biggest modification :p

It's in jni folder (for each samples).

You need to modify the jni/Android.mk file project like this (for example, shadow map sample):

# Copyright (C) 2010 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH			:= $(call my-dir)
SRC_PATH			:= ../..

#MOG: il semblerait qu'il y ait un .. de trop
FRM_INC_PATH		:= ../../../Framework
FRM_SRC_PATH		:= ../../../../Framework
#MOG
FRM_OPENGL_PATH		:= ../../../../Framework/OpenGLES
#MOG
FRM_ANDROID_INC_PATH	:= ../../../Framework/Android
FRM_ANDROID_SRC_PATH	:= ../../../../Framework/Android


include $(CLEAR_VARS)

LOCAL_MODULE    := ShadowMap

LOCAL_SRC_FILES := $(SRC_PATH)/Scene.cpp \
				   $(FRM_OPENGL_PATH)/FrmFontGLES.cpp \
				   $(FRM_OPENGL_PATH)/FrmMesh.cpp \
				   $(FRM_OPENGL_PATH)/FrmPackedResourceGLES.cpp \
				   $(FRM_OPENGL_PATH)/FrmResourceGLES.cpp \
				   $(FRM_OPENGL_PATH)/FrmShader.cpp \
				   $(FRM_OPENGL_PATH)/FrmUserInterfaceGLES.cpp \
				   $(FRM_OPENGL_PATH)/FrmUtilsGLES.cpp \
				   $(FRM_SRC_PATH)/FrmApplication.cpp \
				   $(FRM_SRC_PATH)/FrmFont.cpp \
				   $(FRM_SRC_PATH)/FrmInput.cpp \
				   $(FRM_SRC_PATH)/FrmPackedResource.cpp \
				   $(FRM_SRC_PATH)/FrmUserInterface.cpp \
				   $(FRM_SRC_PATH)/FrmUtils.cpp \
				   $(FRM_ANDROID_SRC_PATH)/FrmApplication_Platform.cpp \
				   $(FRM_ANDROID_SRC_PATH)/FrmFile_Platform.cpp \
				   $(FRM_ANDROID_SRC_PATH)/FrmStdlib_Platform.cpp \
				   $(FRM_ANDROID_SRC_PATH)/FrmUtils_Platform.cpp \
				   $(FRM_ANDROID_SRC_PATH)/FrmNoise_Platform.cpp
				   

LOCAL_C_INCLUDES	:= $(SRC_PATH) \
					   $(FRM_INC_PATH)	\
					   $(FRM_OPENGL_PATH) \
					   $(FRM_ANDROID_INC_PATH)
				   
LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv2

LOCAL_STATIC_LIBRARIES := android_native_app_glue

include $(BUILD_SHARED_LIBRARY)

$(call import-module,android/native_app_glue)

We need to seperate the SOURCES and INCLUDES folders paths (don't know how this things can work on cygwin ... strange :p).

 

 

I think that's all (this time ;-)).

 

YoYOOooOoOOoO

  • Up0
  • Down0
ATTY_Lionel
Join Date: 31 Jan 12
Posts: 12
Posted: Tue, 2012-04-10 05:13

Last thing,

the build order to compil a sample:

 

(1) Terminal -> build the application: framework, sample and produce a lib.so (C++ -> lib to import in a java program)

- go to <sample_dir>/Android/jni folder & modify/fix Android/jni/Android.mk

- go to <sample_dir>/Andoid run <NDK_root>/ndk-build and see the errors (at the top, includes problems)

- modify the files (cpp, h) involved (Scene.cpp for the sample, and many files in the FrameWork)

- run (again) <NDK_root>/ndk-build

 

(2) Eclipse -> Create the project, produce ressources (files, directory) for the android app

- Go to Eclipse and create a new Android Project from existing source

-- Set the Location: <sample_dir>/Android (where is the AndroidManifest.xml file)

-- The project is loaded, and Eclipse create somes stuffs: directories, configuration files, etc ...

 

(3) Terminal: transfert the media files

- Back to the terminal and <sample_dir>/Android folder

- Create/Modify InstallationMedia.sh (with the name of the project (media)) and launch this script

 

(4) Eclipse: Buidl the project and send to the device (or emu)

- Back to Eclipse, Refresh the project (F5) for reloading the 'assets' directory

- Now it's good you can launch the app (auto-build the .apk file (+ assets/Media directory)) and transfert to your device (or emu)).

 

Tested for Bloom and Shadow Map samples :-D

 

YoyOOoOOooOoOo

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.