Dear all:<br><br>I am very sorry to bother you all. <br><br>I am an linux programmer and very
 interesting in X and video driver. Recently, I spend some time on 
studying the X and video driver. Now I have some confusing but I can not
 find the answer through google so I have to fall back on this list. I use the intel video driver version "xf86-video-intel-2.13.0" and X Server is xorg-server-1.9.3.<br><br>Q1£şIn
 the function I830ScreenInit  in src/intel_driver.c:<br><br>I found that
 when it call fbScreenInit, it passes the frame buffer address as NULL. 
Why not pass the frame buffer address to X Server or in somewhere it 
passes it ?  I seek the list and Keith Packard said "The frame buffer address is not set until it is mapped to the server address space, which happens after fb is initialized.", but I can not find where the driver pass the frame buffer address to the X server.<br>
<br>Q2: It seems that some functions, e.g. fbBltOne, will write the frame buffer directly, so, will it cause the monitor flicker ? While in other functions, e.g. uxa_poly_fill_rect, will use "uxa_get_offscreen_pixmap" to get the off screen pixmap first, then it seems it pass this off screen pixmap address to the HW. So I am very confusing for the different behaviour  of the above two drawing operations.  And the pixmap is allocated in system memory not in video memory (in video card), why not allocated in video card for reducing the copy cost? <br>

<br>Q3: For some X drawing with hw accelerated, e.g. uxa_poly_fill_rect, It seems there is no frame buffer address passed to the HW. So, the driver ( or the kernel drm module) 
or the HW cares the frame buffer address or ... ?<br><br>Thank you in advance.<br>
<br>Regards,<br>Jacky Wang<br>