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.