An apparatus comprising: a graphics processing unit including a display engine to render a sequence of video images to a frame buffer ; an encoder to compress the sequence of video images to generate a sequence of compressed video images to a compressed stream buffer ; a network interface controller to transmit the compressed video images over a network link to a remote display ; a plurality of buffer pointer registers to store read pointers and write pointers identifying read locations and write locations, respectively, in a frame buffer and the compressed stream buffer ; a central processing unit, CPU , to initialize the read pointers and write pointers for processing one or more of the video images; and the display engine to access a first write pointer to write to a specified location in the frame buffer , the encoder to begin reading from the frame buffer based on a first read pointer value, the encoder to write to the compressed stream buffer based on a second write pointer value, and the network interface controller to read from the compressed stream buffer based on a second read pointer value, the first and second write and read pointer values to be updated without intervention from the CPU as the display engine writes to the frame buffer , the encoder reads from the frame buffer and writes to the compressed stream buffer , and the network interface controller reads from the compressed stream buffer ; characterized in that the display engine is to transmit a notification signal to the encoder when the first write pointer reaches a macroblock, the encoder to responsively begin reading from the frame buffer at the first read pointer value. a graphics processing unit including a display engine to render a sequence of video images to a frame buffer ; an encoder to compress the sequence of video images to generate a sequence of compressed video images to a compressed stream buffer ; a network interface controller to transmit the compressed video images over a network link to a remote display ; a plurality of buffer pointer registers to store read pointers and write pointers identifying read locations and write locations, respectively, in a frame buffer and the compressed stream buffer ; a central processing unit, CPU , to initialize the read pointers and write pointers for processing one or more of the video images; and the display engine to access a first write pointer to write to a specified location in the frame buffer , the encoder to begin reading from the frame buffer based on a first read pointer value, the encoder to write to the compressed stream buffer based on a second write pointer value, and the network interface controller to read from the compressed stream buffer based on a second read pointer value, the first and second write and read pointer values to be updated without intervention from the CPU as the display engine writes to the frame buffer , the encoder reads from the frame buffer and writes to the compressed stream buffer , and the network interface controller reads from the compressed stream buffer ; characterized in that the display engine is to transmit a notification signal to the encoder when the first write pointer reaches a macroblock, the encoder to responsively begin reading from the frame buffer at the first read pointer value. <EOS>