Messages in this thread | | | Subject | Re: Vramfs: filesystem driver to utilize extra RAM on VGA devices | From | Eric Anholt <> | Date | Mon, 26 Jan 2009 20:44:11 -0800 |
| |
On Mon, 2009-01-26 at 18:59 -0800, Mark Knecht wrote: > On Mon, Jan 26, 2009 at 3:20 PM, Jonathan Campbell <jon@nerdgrounds.com> wrote: > > Hey guys. > > About a month ago while covered in the Seattle snowstorm I hacked together > > this pseudofilesystem that might be of interest. > > > > I thought that this driver could solve two issues that I have: > > > > one, that today's graphics cards have relatively obscene amounts of RAM on > > them even if you're not using it. If you're running it as a server and not > > using it for 3D graphics, why not mount the VRAM on the graphics card as a > > filesystem and store things there to get some extra space? > > > > two, if 3D hardware acceleration and access to GPU or texture memory could > > be provided to user-space, one way to do it would be to provide sections of > > VRAM as a filesystem that most languages (yes---even Perl!) could use to > > work with todays graphics cards. They could treat the texture memory the way > > they treat files in /dev/shm: read/write it for general access or mmap it > > for direct manipulation. At least, it makes far more sense to me from a > > programming point of view than to abstract it using specialized ioctls > > through the DRI. It might make writing an OpenGL driver for this kind of > > arrangement cleaner, too. > > > > http://www.nerdgrounds.com/vramfs-20090126-1458.tar.gz > > > > So far I've tested it against 2.6.25.17 and 2.6.28 on both x86 and x86_64 > > with reads, writes, directory creation, symlink creation, and mmap() and it > > seems to work fine. > > Just give it a range of memory on the bus, or the domain:bus:device:function > > numbers of a VGA PCI device, and it will mount the VGA video RAM and allow > > files to exist there. > > As a special hack: you can also specify the size of the active framebuffer > > console so that fbcon doesn't collide with this driver (unless you want to > > see what your files look like splattered across your screen, ha). The active > > VRAM area becomes a "sentinel" file named "framebuffer". > > > > What do you guys think? > > > > Jonathan Campbell > > Impact Studio Pro > > > > Can the GPU use the data placed in your file system? Do you have > strong control as to exactly how the data is mapped into VRAM? I'm > thinking about parallel processing - Linux puts data there and then > the GPU works on it to produce a result which Linux can eventually > fetch.
For that you want something like GEM, which is aware of the graphics pipeline and the cache management necessary. Wrapping a filesystem around it shouldn't be hard, and would be of some use for debugging.
-- Eric Anholt eric@anholt.net eric.anholt@intel.com
[unhandled content-type:application/pgp-signature] | |