linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Vramfs: filesystem driver to utilize extra RAM on VGA devices
@ 2009-01-26 23:20 Jonathan Campbell
  2009-01-26 23:36 ` H. Peter Anvin
                   ` (2 more replies)
  0 siblings, 3 replies; 23+ messages in thread
From: Jonathan Campbell @ 2009-01-26 23:20 UTC (permalink / raw)
  To: Linux Kernel List; +Cc: devel

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


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2009-01-30  5:26 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-26 23:20 Vramfs: filesystem driver to utilize extra RAM on VGA devices Jonathan Campbell
2009-01-26 23:36 ` H. Peter Anvin
2009-01-26 23:50   ` Jonathan Campbell
2009-01-29 17:04     ` Peter W. Morreale
2009-01-29 17:30       ` Jonathan Campbell
2009-01-29 17:38         ` H. Peter Anvin
2009-01-30  3:19           ` Jonathan Campbell
2009-01-30  4:46             ` H. Peter Anvin
2009-01-30  5:20               ` Willy Tarreau
2009-01-30  5:25                 ` H. Peter Anvin
2009-01-27  2:59 ` Mark Knecht
2009-01-27  4:44   ` Eric Anholt
2009-01-27 17:37     ` Mark Knecht
2009-01-27 21:23       ` Eric Anholt
2009-01-28  6:36         ` Jonathan Campbell
2009-01-28  7:05           ` Dave Airlie
2009-01-28  9:03             ` Jonathan Campbell
2009-01-28  9:42               ` Dave Airlie
2009-01-27  5:07   ` Jonathan Campbell
2009-01-27 18:18     ` Mark Knecht
     [not found]       ` <497F60A3.6020608@nerdgrounds.com>
2009-01-27 20:49         ` Mark Knecht
2009-01-27 21:15           ` Jonathan Campbell
2009-01-28  6:59 ` Trent Piepho

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).