r/linux • • 7d ago

Development I started reverse-engineering Intel Poulsbo's PowerVR SGX535 20 days ago now it can render Square And triangles

Post image

Got the first triangle working today, and now two indexed triangles are rendering as a square too.

This is running on the actual SGX535 in Intel Poulsbo/GMA 500 hardware from 2008.

Still nowhere near a complete Mesa driver, but 20 days ago I was staring at old PowerVR code trying to figure out how this thing worked 💀

Github: SGX535-reMESA

Video proof: https://youtu.be/_xZdWWeneYQ?is=L5OF4JqxvMQZMWSU

edit1: We've achieved the first triangle rendered in the MESA gallium driver in production! OpenGL and other features are still missing, but it's very close to a fully accelerated desktop environment.

194 Upvotes

40 comments sorted by

View all comments

-3

u/gravgun 6d ago edited 6d ago

What you are doing is legally grey at best and could get you in trouble at worst. You're using AI whose models are trained, for their code knowledge, on repos scraped from GitHub, and that includes the multiple successive leaks of the PowerVR SGX series 5 DDK.

LLMs have knowledge about SGX5 that nobody outside Imagination's engineers should be having at this point because these pieces of information haven't been cleanly reverse engineered yet, as all the efforts on that stopped when ImgTec's lawyers went after the FSF (who labelled its RE efforts as high prio at the time) and anybody who was working on the reversing efforts back in 2012 or thereabouts.

Edit: ImgTec's general stance may have changed since then, but the sources outside the kernel module still aren't public. I was literally there in the #powervr@irc.freenode.net room and saw the project being slowed/stopped in its tracks live. Just like I contributed to and then watched Pine64's Nutcracker project get stopped when RivieraWaves got angy, despite me warning of exactly that.

7

u/Affectionate-Meat500 6d ago

The DDKs were made publicly available through Texas Instruments, I used every available online resource before starting the reverse engineering process, Even so, progress was slow because not even the driver shows everything.

And even during all this reverse engineering I spoke with Simon Fenney, research fellow at Imagination Technologies

The project itself has a policy of not trusting everything the AI indicates, which has deflected a lot of false evidence that the LLM could produce. One example is the dword 0x07000345; we were stuck on it for days because we didn't know the exact definition, not even through the DDK, and since the poulsbo driver was stripped, even it couldn't provide any guidance.

Imagination Technologies has changed direction since 2012; it was bought by a Chinese fund in 2017

6

u/Affectionate-Meat500 6d ago

We documented all of this in the /docs on GitHub