An apparatus comprising: a graphics processing unit including a display engine (2211, 840) 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 (2221, 2222, 2223) 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 (2211, 840) 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 (2221, 2222, 2223) 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.