Author Topic: Some Questions(opengl,x11,3d,emulators,sdio)  (Read 5955 times)

urielka

  • Full Member
  • ***
  • Posts: 178
    • View Profile
Some Questions(opengl,x11,3d,emulators,sdio)
« on: September 14, 2005, 04:19:36 pm »
i have some questions about software on Zaurus C-1000:
1.does the C-1000 have floating point?
2.can i run OpenGL/ES on Zaurus?
3.what is the speed of X11 on C-1000 compared to Qtopia?
4.what 3D games/apps can run on Zaurus?
5.what Emulators i can run on my Zaurus (PS1,N64,SNES,GBA,GB,GB-DS)?
6.can i run KDE on X11(and how fast it is?)
7.does the C-1000 have SDIO?(for wifi/bluetooth)
8.does the USB on the C-1000 have host-support(mass-storage,mouse/keyboard,cam,net)?

thx and sorry about the ton of questions  

koen

  • Hero Member
  • *****
  • Posts: 1008
    • View Profile
    • http://dominion.thruhere.net/koen/cms/
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #1 on: September 14, 2005, 06:12:01 pm »
1) only in software
2) only in software
3) only in so.... oh wait  X11 should perform sligtly less as qtopia, but is more than fast enough
Forums are not bugtrackers!!! Smart questions
Ångström release team
iPAQ h2210, iPAQ h5550, iPAQ hx4700, Zaurus SL-C700, Nokia 770, all running some form of GPE
My blog

urielka

  • Full Member
  • ***
  • Posts: 178
    • View Profile
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #2 on: September 14, 2005, 06:18:12 pm »
but C-1000 got PXA270 which has FPU,so why only in Software?
EDIT:my mistake PXA270 doesn`t have FPU , but the Asus A716 and Axim x30/x50 doesn`t have FPU also but they can run PS1 emulator+3D games very fast.
maybe the gcc compiler doesn`t have support for WMMX(Wireless MMX ,it`s like 43 new instructions in Arm Asm and they SIMD and dedicated to 3D and graphics)?
« Last Edit: September 14, 2005, 06:39:55 pm by urielka »

Meanie

  • Hero Member
  • *****
  • Posts: 2803
    • View Profile
    • http://www.users.on.net/~hluc/myZaurus/
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #3 on: September 14, 2005, 08:49:23 pm »
Quote
but C-1000 got PXA270 which has FPU,so why only in Software?
EDIT:my mistake PXA270 doesn`t have FPU , but the Asus A716 and Axim x30/x50 doesn`t have FPU also but they can run PS1 emulator+3D games very fast.
maybe the gcc compiler doesn`t have support for WMMX(Wireless MMX ,it`s like 43 new instructions in Arm Asm and they SIMD and dedicated to 3D and graphics)?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=95857\"][{POST_SNAPBACK}][/a][/div]

The C1000 does have WMMX, but the default Sharp kernel does not enable them and most Zaurus applications you find are older versions that run in backward compatability mode. Its like running Windows 3.1 apps on Win95. Applications would need to be rewritten to utilise the newer WMMX features and the faster and larger display but this has only happened for very few applications.

4.what 3D games/apps can run on Zaurus?

So far, only Doom and Duke3D can run with reasonable speed. Quake is way too slow to be playable.

5.what Emulators i can run on my Zaurus (PS1,N64,SNES,GBA,GB,GB-DS)?

PS1,N64,SNES,GBA,GB

6.can i run KDE on X11(and how fast it is?)

yes, but you would need to replace the default Sharp ROM with pdaXrom which is still betaware

7.does the C-1000 have SDIO?(for wifi/bluetooth)

no

8.does the USB on the C-1000 have host-support(mass-storage,mouse/keyboard,cam,net)?

yes, but not all devices are supported unless you are able to compile your own kernel driver for the missing devices.
SL-C3000 - pdaXii13 build5.4.9 (based on pdaXrom beta3) / SL-C3100 - Sharp ROM 1.02 JP (heavily customised)
Netgear MA701 CF, SanDisk ConnectPlus CF, Socket Bluetooth CF, 4GB Kingston CF,  4GB pqi SD, 4GB ChoiceOnly SD, 2GB SanDisk SD USB Plus, 1GB SanDisk USB Plus, 1GB Transcend SD, 2GB SanDisk MicroSD with SD adaptor, Piel Frama Leather Case, GoldX 5-in-1 USB cable, USB hub, USB mouse, USB keyboard, USB ethernet, USB HDD, many other USB accessories...
(Zaurus SL-C3000 owner since March 14. 2005, Zaurus SL-C3100 owner since September 21. 2005)
http://members.iinet.net.au/~wyso/myZaurus - zBook3K

urielka

  • Full Member
  • ***
  • Posts: 178
    • View Profile
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #4 on: September 15, 2005, 12:50:38 am »
so why just rewirte atleast a FPU-emulator with WMMX or use the Intel compiler that can optimize code for Xscale(there is also intel comipler for linux,it is pretty comaptible with gcc(look for ICC in gentoo for more deatiles))?
Which N64 emulator you are talking about?it is good?fast on the Z?
Why does the PocketPC that have a PXA270 can run 3D games at full speed and even PS1 emulator run at full speed,and the Zaurus that have the same CPU can`t run at full speed a old game like quake1?
« Last Edit: September 15, 2005, 01:03:07 am by urielka »

samxiao

  • Sr. Member
  • ****
  • Posts: 260
    • View Profile
    • http://
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #5 on: September 16, 2005, 01:16:21 am »
Quote
so why just rewirte atleast a FPU-emulator with WMMX or use the Intel compiler that can optimize code for Xscale(there is also intel comipler for linux,it is pretty comaptible with gcc(look for ICC in gentoo for more deatiles))?
Which N64 emulator you are talking about?it is good?fast on the Z?
Why does the PocketPC that have a PXA270 can run 3D games at full speed and even PS1 emulator run at full speed,and the Zaurus that have the same CPU can`t run at full speed a old game like quake1?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=95884\"][{POST_SNAPBACK}][/a][/div]



the answer is too complex to explain here

i guess you should take some advanced Comp Sci courses (like Digial System, Compilers, etc) in your university/college
Zaurus C1000 (formerly SL5500 and C700)
Cacko developer ROM 1.23 beta + Debian Sarge + X/Qt
1GB Transcend 80x SD (ext2) / 512MB Lexar SD (ext2) / 256MB SanDisk CF(vfat)
Netgear MA701 WiFi CF
Ambicom GPS-CF
Pocketop IR keyboard (has positioning problem with C1000)
Brando LCD screen protector

Apple PowerBook 12" G4 Rev. C + Mac OS X 10.4.x (Tiger)

urielka

  • Full Member
  • ***
  • Posts: 178
    • View Profile
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #6 on: September 16, 2005, 05:21:58 am »
man just  write it.
i have a lot expirnce in Digital Comupting and Comiplers(i wrote one and a OS in Asm).
from what i see the problem of the Zaurus is the compiler gcc which doesn`t produce iWMMX code(the version that build the rom,new version have some support).
using a good FPUemulation code in arm-asm with WMMX we can get very good floating point preformence so we can run 3D just like a Asus A716 can or a AXIM.
a quick questions:
1.does someone tried to compile the kernel with ICC(the latest version)?
2.the FPU emulation is in the kernel right?

thx

urielka

  • Full Member
  • ***
  • Posts: 178
    • View Profile
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #7 on: September 16, 2005, 06:29:29 am »
just read :
http://www.mvtool.co.kr/hb/data/pds/BULVERDE1.pdf
page 8-9
ICC is gcc source and binary compatible!
ICC can genarate WMMX code and have Vectorizer so code can run faster.
i think if we will have a very optimsed FPU-Emulation with WMMX.
3D will run very fast on C1000/C3x00.

Da_Blitz

  • Hero Member
  • *****
  • Posts: 1579
    • View Profile
    • http://www.pocketnix.org
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #8 on: September 16, 2005, 07:51:16 am »
ICC dosent compile some programs that gcc does.

this is linux, if you want iwmmx optimised floating point (i know i do) you can write it youre self, personly i would like to see iwmmx optimised AES and Blowfish ciphers in the 2.6 kernel but thats just me

auto vectorisation might be abel to achiv what you want however i cant find infomation regarding iwmmx status, so i take it as no support (once agin fell free to write it)

the axim x50v gets good performance from its video card for games that are written to take support of it, as for the asus 716 to this day i dont think anyone has worked out why it was so damn fast and got such good battery life (fast ram perhaps), ethier way most software you see for those pda's hasent even been optimised for iwmmx, they get a speed advantage because they were written with the understanding that there was no floating point unit

unfortunatly most linux software is written with i386 in mind with a floating point co porcessor. (for refrence i talked to a guy at intel and he said there are and never will be plans to include a floating point unit in the xscales )

if you want fast programs you can try some optimisation flags, -O3 and -fomit-frame-pointer are a good start, another is passing funtion arguments by register, set this to about 6 as the xscales have about 14 register for general use and fomit frame pointer i belive prevents gcc from reserving one of those for its own personal use

another speed increse is the use of inline functions and loop unrolling as well as the -malign-* optimisations to make sure you dont incur the realignment penalty of misaligned varibles, while the function unrolling helps with speeding things up because if i remeber there is no branch prediction unit and the cpu therefore has to wait for the outcome of the branch to be determined before it can jump causing a buble in the pipline, inlineing makes this occur less often.

as for some of your questions fp is in the kernel and was origanly written for the netwinder, there are (if i once again remeber corectly) 2 versions, the fast version and the high accuracy version for scintifc calculations

as for icc i belive you can compile the kernel using it however i didnt think that icc supported auto vectorisation for the iwmmx instructons, you could use the code libs to optimise your floating point for any kernel you compile (and if you do this send me an email) but you can not send the patch you generate upstream due to the conflicting licsencing.

however if you are up to doing some programing in asm for some routines contact me as there are a couple of things that i would like to see optimised that i have no experince in that you may be able to help me out in (mainly the ciphers i was taliing about, its mainly porting mmx to iwmmx and the floating point would be nice)

there are a couple of other things you could do to increse performance as well involving bvdd, i am unsure how it works exactly but i belive normal writes to the frame buffer go to sdram and are read from there by the lcd unit, this would incur a signifcinat overhead, unless the lcd data is written to the special sram on board for storing frames, if this is the case then a simple rewrite of the frame buffer code could increse performance by using the sram rather than the sdram for frame buffer storage and i belive this is what the bvdd driver does, it implemnts a second frame buffer in that sram for exsclusive use of mplayer..... any one care to look into this or know more about it to correct me

another speed up would be by acsessing the cf sockets and flash less as these are multiplexed with the sdram and are significantly slower (100mhz * 32 bit = 400MB/s for sdram vs 16MB/s for CF Max (dosent reach this normally))

so there are things you can do if you are building you own distro (with custom kernel) compiling code or writing code, even if you want to edit some files you could see a performance increse

hope this helped you without bieng to long, should be most of the infomation you need with the knowlage you have
Personal Blog
Code
Twitter

Gemini Order: #95 (roughly)
Current Device: Samsung Chromebook Gen 3
Current Arm Devices Count: ~30
Looking to acquire: Cavium Thunder X2 Hardware

urielka

  • Full Member
  • ***
  • Posts: 178
    • View Profile
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #9 on: September 16, 2005, 10:21:10 am »
i don`t have a Zaurus yet(i will get a C1000) my plans for optimazion are like this:
1.make FPU emulation very fast to be usable for 3D and more
this could be done in diffrent ways:

1*.rewrite the all softFPU in arm-asm(i know x86-asm so i need to learn arm-asm)
2*.make icc to compile the kernel with iwmmx(icc have a vectorizer for iwmmx too:)
3*.build it with gcc>3.3.4 and hope it will get a lot of speed boost

2.make a fast video driver( i think it will be bvdd-based but i can try to use w100 for other things)

3.build all system with gcc4.0/3.3.4


ICC build of kernel is the first thing i should try coz it`s the best shot of getting a huge speed boost without (almost) coding.
about the a716 it`s very fast just coz it doesn`t have a GPU the GPUs on PDAs make them slower on 3D coz they don`t support 3D so when they have GPU ,the PDA needs to use the GPU to display everything so it`s slower then just send it to PXA overlay buffer(like bvdd does).

if you look at FPSCE forums you will see that PDAs that have a GPU(without 3D) are slower that PDAs that don`t have GPU.

the C1000/3x00 have the same CPU that the A716/X30 so they need to have atlest 70% of the preformence that they have and not 10-25%(if you look at 3D).

when i will get the Zaurus i will work very hard at optimsing it.
starting with FPU and then with Video Driver(bvdd)

Uriel

Da_Blitz

  • Hero Member
  • *****
  • Posts: 1579
    • View Profile
    • http://www.pocketnix.org
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #10 on: September 17, 2005, 01:32:22 am »
the problem as you said with the pda's with gpus are that games that are not optimised for them and try to use them like a frame buffer instead of using the inbuilt acceleration do suffer from slower speeds, however you cant match betaplayer's (the core media player) speed on the axim x50v with its gpu if you only have the frame buffer

i would love a c3100 with a 2700G chip (with video out) and a open gl accelerated x sever/client

while your at it i dont suppose you want to add auto verctorisation to gcc for iwmmx? it would probely be somthing for the end of your list but would also be a great thing for the community

i plan to get a pxa270 optimised feed up soon with all packages on there with optimistaion flags, and where applicable, hand tuned ones.

look foward to the accelerated frame buffer, however for linux games that use opengl you might need to look into iwmmx'ing them as well to get an even larger speed boost. you might want to also look into directfb (http://www.directfb.org/index.php) as they have a framework to accelerate anything that displays to the Frame buffer, they even have an x sever client (http://www.directfb.org/index.php?path=Development%2FProjects%2FXDirectFB) that takes advantage of this, and if you port the mmx to iwmmx then you would see a performance boost for general stuff like window managers

as for arm asm try http://www.heyrick.co.uk/assembler/index.html, good explantaion, once that is done look at the intel website and download the pdf on the xscale arcitecture, the one on iwmmx and the one that tells you how to port mmx to iwmmx as this will save you time by reusing mmx optimised code, less work for you. remeber when reading that link that the iwmmx stuff is a coprocessor as well as the performance monitoring and tuning stuff (usefull to help make code run faster)

one thing you might not have thoght of yet, have you overclocked? i can ramp mine up to 624mhz with no problems however for games you might see more of a performance boost from rasing the ram clockspeed as well as the bus speed due to coping operations to and from the framebuffer.

i think your list is good but i would add
optimise opengl mesa implemntation
find opengl ES implementation (it does exsist and is iwmmx optimised)

the open gl ES is for  embbeded systems and has no floating point operations  it is both a super and sub set of open gl (sub set because some functions and floating point were removed and super due to aditional functions for things like moive encoding acceleration)

and if you could optimise the blowfish and aes ciphers (there are mmx versions already) i would be greatlful. if you get icc working with the kernel drops us a line as i would want to do that as well

btw i had an x30 high as my last pda, that was one great pda, until the x50 came out
Personal Blog
Code
Twitter

Gemini Order: #95 (roughly)
Current Device: Samsung Chromebook Gen 3
Current Arm Devices Count: ~30
Looking to acquire: Cavium Thunder X2 Hardware

Da_Blitz

  • Hero Member
  • *****
  • Posts: 1579
    • View Profile
    • http://www.pocketnix.org
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #11 on: September 17, 2005, 01:52:06 am »
forgot to add you might want to get the pxa27x optimisation guide (wont be as of much use as you would think it would be) and the video optimisation guide (critical for maximum performance of bvdd and explains some of the technical aspects of it)
Personal Blog
Code
Twitter

Gemini Order: #95 (roughly)
Current Device: Samsung Chromebook Gen 3
Current Arm Devices Count: ~30
Looking to acquire: Cavium Thunder X2 Hardware

urielka

  • Full Member
  • ***
  • Posts: 178
    • View Profile
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #12 on: September 17, 2005, 05:40:04 am »
i will do that when i get the C1000 on my hands so i can see what i need to optimse.
i think optimise the FPU will give the best results coz every thing uses fpu(even some WM and libs).
i think a optimised FPU with iwmmx can boost the 3D on zaurus to a playble area(i.e. Quake fullscreen high res on 25+fps).

Chero

  • Hero Member
  • *****
  • Posts: 1140
    • View Profile
    • http://users.telenet.be/zaurususer/Chero
Some Questions(opengl,x11,3d,emulators,sdio)
« Reply #13 on: September 17, 2005, 12:25:50 pm »
Quote
i will do that when i get the C1000 on my hands so i can see what i need to optimse.
i think optimise the FPU will give the best results coz every thing uses fpu(even some WM and libs).
i think a optimised FPU with iwmmx can boost the 3D on zaurus to a playble area(i.e. Quake fullscreen high res on 25+fps).
[div align=\"right\"][{POST_SNAPBACK}][/a][/div]

Maybe you should search the pdaXrom forum for "quake". There are quite a lot of guys over there that play quake.
[a href=\"https://www.oesf.org/forums/index.php?showtopic=7445&hl=quake]e.g. This thread talks about 15fps and "more than 20fps" in post n° 8[/url]

Good luck
Chero.
HP-95LX -> HP Jornada 680 -> SL-C860 -> SL-C3100 -> Fuji u810 -> SL-C1000 -> HTC uni -> SL-C860 -> SL-C760.
March 12 2009 : Back because the Zaurus is one of a kind.
SL-C760 : pdaXrom
Pandora pre-ordered -> received and tested : great device but not my cup of tea -> sold.