On Wed, Jun 17, 2015 at 10:37:34PM +0200, Riccardo Mottola wrote:
> Hi Alexandre,
> 
> Alexandre Ratchov wrote:
> >Acceleration is not needed on "modern" machines to get fast 2D
> >display. The CPU speed and memory bandwidth are largely sufficient
> >to make desktop very responsive and watch full-screen movies.
> >
> >Probably what you observe is that the video memory is setup in a
> >very restricted mode, making it extreamly slow.
> >
> >For instance on my system, I measured 70MB/s with BIOS settings
> >(i.e. memory was slower than a hard disk, ridiculous), and 7500MB/s
> >when properly initialized. This is for intel chipset, but I
> >remember similar stories about nvidia chips.
> well, yes, I expect any 64bit machine to get above the 4GB/s barrier, but
> 70MB/s are values I used to see with 25Mhz 68K CPUs
> >If you manage to get the address of the video frame buffer, you
> >could try to use the memconfig(8) utility to see if write-combining
> >is enabled for the frame buffer, and possibly enable it. This might
> >make things less worse. I'm not sure if setting mtrrs with
> >memconfig is still enough nowadays, maybe someone would have a
> >better insight.
> shouldn't the driver take care of something like that?
> 
> "if you manage to get the address"... how do I do that? Perhaps in the X
> log?

Sorry, I don't know. I got mine while debugging the vesa bits of a
boot loader. Try increasing X log verbosity. Or possibly guess it
from the output of "memconfig list", it's likely to be the only
variable-length entry large around 256GB-512GB, with ending address
right below 4GB.

> I see this:
> [   359.722] (II) NV(0): Creating default Display subsection in Screen
> section
>         "Default Screen Section" for depth/fbbpp 24/32
> [   359.722] (==) NV(0): Depth 24, (--) framebuffer bpp 32
> [   359.722] (==) NV(0): RGB weight 888
> [   359.722] (==) NV(0): Default visual is TrueColor
> [   359.722] (**) NV(0): Option "AccelMethod" "EXA"
> [   359.722] (==) NV(0): Using hardware cursor
> [   359.722] (==) NV(0): Using gamma correction (1.0, 1.0, 1.0)
> [   359.722] (II) NV(0): MMIO registers mapped at 0x6f917826000
> [   359.722] (--) NV(0): Total video RAM: 128.0 MB
> [   359.722] (--) NV(0):       BAR1 size: 256.0 MB
> [   359.722] (--) NV(0):   Mapped memory: 127.0 MB
> [   359.723] (II) NV(0): Linear framebuffer mapped at 0x6f9760e1000
> 
>  Could the framebuffer be the start of the memory I need?
> 
> I thought something like:
> $ sudo memconfig set -b 0x6f9760e1000 -l 0x7f00000 write-combine

this is the address relative to the Xorg process virtual address
space; you need the physical address.

Reply via email to