Arbitration of Legacy VGA Interface for Multiple Video Cards

  • Tiago Vignatti UFPR
  • Paulo R. Zanoni UFPR
  • Ander C. de Oliveira UFPR
  • Luis C. E. de Bona UFPR
  • Fabiano Silva UFPR

Resumo


When multiple applications use the legacy Video Graphics Array (VGA) interface to communicate with different graphics devices attached to the same machine, problems inherited by the old Industry Standard Architecture (ISA) system happen. If the accesses to these graphics devices are not correctly controlled, an access made using that interface might be decoded by the wrong graphics card. Since the Peripheral Component Interconnect (PCI) and the Accelerated Graphics Port (AGP) standards are compatible with ISA, this problem remains in most modern devices. This paper presents a solution independent of the application to this problem. It consists of a conceptual architecture, which defines an arbiter that manages all the VGA accesses and an user space interface used by the applications. An implementation using the Linux Kernel and the X server is also presented. The results of the experiments show that there is no significant performance loss.

Referências

Angebranndt, S., Drewry, R., Karlton, P., Newman, T., Scheifler, B., Packard, K., Wiggins, D., and Gettys, J. (2004). Definition of the Porting Layer for X v11 Sample Server. X Consortium Inc and X.Org Foundation.

Castilho, M. A., Sunye, M. S., Weingaerter, D., Bona, L. C. E., Silva, F., Direne, A. I., Garcia, L. S., and Guedes, A. L. P. (2006). Making government policies for education possible by means of Open Source technology: a successful case, volume 1. Hershey - USA: Idea Group Publishing, 1st edition.

Corbet, J., Rubini, A., and Kroah-Hartman, G. (2005). Linux Device Drivers. O’Reilly, 3rd edition.

Herrenschimdt, B. VGA arbiter implementation proposal. [link].

Herrenschimdt, B. VGA arbitration: API proposal. [link].

Lo, L.-T., Watson, G. R., and Minnich, R. G. (2005). FreeVGA: architecture independent video graphics initialization for linuxBIOS. In ATEC ’05: Proceedings of the annual conference on USENIX Annual Technical Conference, pages 50–50, Berkeley, CA, USA. USENIX Association.

McCormack, J., Karlton, P., Angebranndt, S., Kent, C., Packard, K., and Gill, G. (2007). x11perf - x11 server performance test program.

Oliveira, A. C., Neto, A. H., Zanoni, P. R., and Vignatti, T. (2008). Xat - X Address Translation. [link].

Oliveira, A. C., Vignatti, T., Weigaertner, D., Silva, F., Castilho, M., and Sunye, M. (2006). Um modelo de computação multiusuário baseado em computadores pessoais. VII Workshop sobre Software Livre, pages 135–140.

Olofson, D. Kobo Deluxe Official Home. [link].

Scheifler, R. W. and Gettys, J. (1997). X Window System: core and extension protocols. Digital Equipment Corp., Acton, MA, USA.

Shanley, T. and Anderson, D. (1999). PCI System Architecture. Addison-Wesley, 4th edition.

Vignatti, T., Zanoni, P. R., and Herrenschmidt, B. X.Org Foundation - VGA Arbiter Source Code. [link].

X.Org Foundation. RAC.Notes - Resource Access Control system. [link].

Zanoni, P., Vignatti, T., Oliveira, A. C., , Silva, F., and de Bona, L. C. E. (2008). O Estado Atual dos Multiterminais. IX Workshop sobre Software Livre.
Publicado
12/07/2008
VIGNATTI, Tiago; ZANONI, Paulo R.; OLIVEIRA, Ander C. de; BONA, Luis C. E. de; SILVA, Fabiano. Arbitration of Legacy VGA Interface for Multiple Video Cards. In: WORKSHOP DE SISTEMAS OPERACIONAIS (WSO), 5. , 2008, Belém/PA. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2008 . p. 159-168.