Are you sure that the 4GB ram limit doesn't include video ram? It does on windows computers and I assume they would both have the same 32-bit cap. Addressing limits *waves hands*
No, in fact I was wrong. I made a little search around this things, here the results:
32 bit OSes, without using PAE, can address a maximum of 4 Gb RAM.
video card memory must be mapped into the addressable space (and this is done by both Windows and Linux).
-if you have only 2 Gb of system RAM, it is possible to map the 512 Mb video ram inside the 4 Gb address space
-if you have 4 Gb of system RAM, and because you need to map the video RAM (and all others IO Memory) into the 4 Gb address space,
part of the system RAM will be unusable because of overlapping of all device IO Memory, not only the video card.
if you use a PAE Kernel, the addressable memory is large as 64 Gb, therefore the kernel can easily map the 4 Gb System RAM + approx 800 Mb of device IO memory,
on Linux you can see the mapped IO memory in
/proc/iomem.
addtional info here(include some info on hardware limits):
http://duartes.org/gustavo/blog/post/motherboard-chipsets-memory-mapwindows info here (guess what ? 32bit Win do have PAE, but can't really use PAE):
http://support.microsoft.com/kb/929605AS