Feature #57
closedBug #120: Bump kernel to 3.2.23
Attempt to integrate SGX patches into default kernel build
100%
Description
Don't know if this is possible because some patches come from the TI SDK which may not have been pushed upstream yet. If these work, then the SGX patches from R. Nelson can be added to enable SGX in the kernel.
Related issues
Updated by Hammel almost 14 years ago
Updated by Hammel over 13 years ago
The existing SGX patches build okay against the Arago repo kernel. They don't build against the 2.6.38.2 kernel that is now the default from the kernel.org repo. The new release (previous comment) hasn't been tested. Robert Nelson's patches are not updated for 2.6.38.2.
I may try to look at why they don't build. It might be an easy fix to the patches. It's worth a look.
Updated by Hammel over 12 years ago
Reviewing this again after the project reboot.
Robert Nelson has a script for grabbing and setting up SGX:
http://bazaar.launchpad.net/~beagleboard-kernel/%2Bjunk/2.6-stable/annotate/head:/create_sgx_package.sh
He also has kernel patches for these, pulled from the latest SGX package:
https://github.com/RobertCNelson/stable-kernel/tree/39a926ae5ba1d0bd165a1572280f247816f8e0b4/patches/sgx
Those patches should work as long as I track the same kernel he's using:
https://github.com/RobertCNelson/stable-kernel
TI SDK Downloads:
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/
TI Instructions for installing SDK:
http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide
The kernel modules are found under the unpacked SGX SDK, in GFX_Linux_KM. The README explains how to build them.
https://github.com/RobertCNelson/ti-sdk-pvr/tree/master/Graphics_SDK/GFX_Linux_KM
TI OMAP PSP (for kernel mods):
http://software-dl.ti.com/dsps/dsps_public_sw/psp/LinuxPSP/index.html
Updated by Hammel over 12 years ago
Rev'ing to 4_03_00_02 to match Robert Nelson's scripts.
The structure of the folders in the SGX release package are different than my old SGX config/makefile. I'm walking through Robert's script and updating my SGX targets as appropriate.
One thing I need to add: a target to download and cross-compile devmem2. Robert just grabs a precompiled version for Ubuntu but I can't do that since I'm building my own distro. So I need to download it and cross compile it as part of the SGX component build. Alternatively (and probably better and easier to maintain) is to add a package for it to Buildroot.
Robert's scripts have the URL for the source package from Ubuntu.
Updated by Hammel over 12 years ago
Doh! devmem2 is already part of Buildroot. It just isn't enabled in the config.
I just added it to the default config for 2012.05.
Updated by Hammel over 12 years ago
I've checked in the updates to the SGX SDK build to bring it up to date with Robert Nelson's build script (attached). I'm currently in email discussions with him about how to get 3.2.23 kernel drivers to work with this.
Updated by Hammel over 12 years ago
- % Done changed from 60 to 70
I've discovered today that I can download the latest SGX package from TI (Graphics_SDK_setuplinux_4_06_00_03.bin) and, after editing the Rules.make file, build an installable package based on my kernel. That makes integration that much easier. All that's required is to do some editing of the Rules.make using sed in the sgx.mk file.
This will change the SGX build completely. It's much easier to just use the included build.
Updated by Hammel over 12 years ago
- Status changed from In Progress to Closed
- % Done changed from 70 to 100
I checked in the updates to the SGX build today that fully integrate the SGX libraries, including X.org support, into the BeagleBox rootfs.
The build is complete and a sanity test of starting the SGX X.org server (not the BeagleBox X.org server - they're different) and running glxgears shows that the SGX server supports OpenGL. It's unclear if it's really doing hardware acceleration, but if I run glxgears in non-fullscreen mode I can get about 47 FPS. Seems a bit slow for hardware accelerated graphics.
But for now, the SGX package is initially integrated. Further work on this, such as integrating the SGX X.org driver with the basic SysV init scripts, will be tracked in separate issues.