SGX544MP/ReverseEngineering

From linux-sunxi.org
Jump to: navigation, search

Contents

Current Status

This has just started. Right now I'm trying to find out as much as possible about the GPU and get debug informations from available drivers.

If you want to support please contact embed3d[at]gmail[dot]com.

WIP Datasheet source code: https://github.com/embed-3d/PVRSGX_hwdoc
WIP Datasheet as html: http://pvrsgx-hwdoc.readthedocs.io/en/latest/


I decided to pause this project/put it one hold. There are multible reasons for that:

- I received some "leaked" documents that makes it impossible for me to write an opensource driver without any legal issue.
- General legal issues.
- I asked myself: How can I proof, that I used my reverse engineered infos and didn't look at the code? Answers: Its impossible!!
- The A83T requires some patches that are right now not mainlined.
- Allwinner H6 boards are available right now and it is more important to support H6 in mainline.
- Reading the blog post from libv: http://libv.livejournal.com/26972.html

If Img Tech changes its mind and supports an opensource driver I will continue to work on this. embed-3d

Getting Debug informations

A83T - Bananapi M3

WIP (Right now I'm working on this!! This is not finished yet!! - embed-3d) :

clone the following repo: https://github.com/embed-3d/BPI-M3-PVR-SGX.git ( It contains a better pvr driver integration and some additional printouts.

Follow the instructions in the Readme.md on my github project.

Right now I just implemented a few debug printouts. A first log could be found here (The messages start with: #PVR_DBG)

If you have any problems/questions please contact me.

Application Debugging

Under /usr/home/local/bin/ is a binary called pdump (at least in the BPI-M3 Images). This application can connect to the PDUMP stream of the kernel driver and writes a detailed log. It generates 3 output files: out2.txt (This is the detailed log, example log), out_drvinfo.txt (this is empty?), and a out2.prm (some binary file, might be the SGX ukernel USE programm). These options are available:

[email protected]:~$ /usr/local/bin/pdump -h
Command line options...
  -h Displays this help.
  -c<start frame[-stop frame]>, start and stop frames for param capture.
    m - Hotkey parameter capture.
  Note: in order for pdump to shut-down automatically, some platforms require the
  target application to generate at least one more frame than is being captured.
  E.G. for 'pdump -c0-3', the application would need to generate at least 5 frames.
  -fo<file name> Output file name excluding extension.
  -sr<Sample rate> Specifies rate at which to grab parameters:
  -kill to close pdump down
  -nodac Disables DAC stream.
  -noref Disables REF stream.
 

In this directory is also test software.

Img tech linux 3.4.x "opensource" driver

Folder structure

  • eurasia_km/services4/system/sunxi : connector for the system initalization (like clocks, power, ...)
  • eurasia_km/services4/3rdparty/dc_sunxi : connector to the frame buffer
  • eurasia_km/include4/aw : some additional defines
  • eurasia_km/services4/srvkm/devices/sgx : SGX Hardware functions
  • eurasia_km/services4/srvkm/hwdefs : Hardware defines (seems like this is not complete, see log files)

Links

Enable SGX Debugging

Personal tools
Namespaces

Variants
Actions
Navigation
Tools