qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] VNC patch
@ 2004-11-19 18:13 Piotr R.
  2004-11-20  6:20 ` [Qemu-devel] Qemu code copy Shivkumar Shivaji
  0 siblings, 1 reply; 3+ messages in thread
From: Piotr R. @ 2004-11-19 18:13 UTC (permalink / raw)
  To: qemu-devel

Hello,

I am working witch qemu rfb9 patch and I found it useful to specify 
local port on wchich vnc server would listen. Here is a patch for 
that. 

Does anyone have a solution for mouse/vnc problems (calibration etc.
)??

Apply it after rfb9 patch.

diff -C4 qemu_cvs/vl.c qemu_cvs_mod/vl.c
*** qemu_cvs/vl.c	2004-11-10 16:03:59.000000000 +0100
--- qemu_cvs_mod/vl.c	2004-11-17 12:17:31.433395968 +0100
***************
*** 112,119 ****
--- 112,120 ----
  int bios_size;
  static DisplayState display_state;
  int nographic;
  int usevnc; /* 1=vnc only, 2=vnc and sdl */
+ int vnc_port;
  const char* keyboard_layout = 0;
  int64_t ticks_per_sec;
  int boot_device = 'c';
  int ram_size;
***************
*** 2504,2511 ****
--- 2505,2513 ----
             "-m megs         set virtual RAM size to megs MB 
[default=%d]\n"
             "-nographic      disable graphical output and redirect 
serial I/Os to console\n"
  #ifdef CONFIG_VNC
  	   "-vnc            use vnc instead of sdl\n"
+ 	   "-vnc_port       set vnc listen port\n"
  #ifdef CONFIG_SDL
  	   "-vnc-and-sdl    use vnc and sdl simultaneously\n"
  #endif
  #endif
***************
*** 2600,2607 ****
--- 2602,2610 ----
      QEMU_OPTION_m,
      QEMU_OPTION_nographic,
  #ifdef CONFIG_VNC
      QEMU_OPTION_vnc,
+     QEMU_OPTION_vnc_port,
  #ifdef CONFIG_SDL
      QEMU_OPTION_vnc_and_sdl,
  #endif
  #endif
***************
*** 2663,2670 ****
--- 2666,2674 ----
      { "m", HAS_ARG, QEMU_OPTION_m },
      { "nographic", 0, QEMU_OPTION_nographic },
  #ifdef CONFIG_VNC
      { "vnc", 0, QEMU_OPTION_vnc },
+     { "vnc_port", HAS_ARG, QEMU_OPTION_vnc_port },
  #ifdef CONFIG_SDL
      { "vnc-and-sdl", 0, QEMU_OPTION_vnc_and_sdl },
  #endif
  #endif
***************
*** 2807,2814 ****
--- 2811,2819 ----
  #endif
      snapshot = 0;
      nographic = 0;
      usevnc = 0;
+     vnc_port = -1;
      kernel_filename = NULL;
      kernel_cmdline = "";
      has_cdrom = 1;
      cyls = heads = secs = 0;
***************
*** 2903,2910 ****
--- 2908,2922 ----
  #ifdef CONFIG_VNC
  	    case QEMU_OPTION_vnc:
  		usevnc = 1;
  		break;
+ 	    case QEMU_OPTION_vnc_port:
+                 vnc_port = atoi(optarg);
+ 		if( vnc_port < 0 )
+ 		{
+ 		    fprintf(stderr,"qemu: invalid vnc port %s\n", optarg);
+ 		}
+ 		break;
  #ifdef CONFIG_SDL
  	    case QEMU_OPTION_vnc_and_sdl:
  		usevnc = 2;
  		break;
***************
*** 3312,3320 ****
          dumb_display_init(ds);
      } else {
  	if (usevnc) {
  #ifdef CONFIG_VNC
! 	    vnc_display_init(ds, (usevnc==2));
  #else
  	    perror("qemu not configured with vnc support");
  #endif
  	} else {
--- 3324,3332 ----
          dumb_display_init(ds);
      } else {
  	if (usevnc) {
  #ifdef CONFIG_VNC
! 	    vnc_display_init(ds, (usevnc==2), vnc_port);
  #else
  	    perror("qemu not configured with vnc support");
  #endif
  	} else {
diff -C4 qemu_cvs/vl.h qemu_cvs_mod/vl.h
*** qemu_cvs/vl.h	2004-11-10 16:04:00.000000000 +0100
--- qemu_cvs_mod/vl.h	2004-11-17 12:10:13.466976984 +0100
***************
*** 537,545 ****
  void vga_invalidate_display(void);
  void vga_screen_dump(const char *filename);
  
  /* vnc.c */
! void vnc_display_init(DisplayState *ds, int useAlsoSDL);
  
  /* cirrus_vga.c */
  void pci_cirrus_vga_init(PCIBus *bus, DisplayState *ds, uint8_t 
*vga_ram_base, 
                           unsigned long vga_ram_offset, int 
vga_ram_size);
--- 537,545 ----
  void vga_invalidate_display(void);
  void vga_screen_dump(const char *filename);
  
  /* vnc.c */
! void vnc_display_init(DisplayState *ds, int useAlsoSDL, int 
vncport);
  
  /* cirrus_vga.c */
  void pci_cirrus_vga_init(PCIBus *bus, DisplayState *ds, uint8_t 
*vga_ram_base, 
                           unsigned long vga_ram_offset, int 
vga_ram_size);
diff -C4 qemu_cvs/vnc.c qemu_cvs_mod/vnc.c
*** qemu_cvs/vnc.c	2004-11-10 16:04:00.000000000 +0100
--- qemu_cvs_mod/vnc.c	2004-11-17 12:09:53.465017744 +0100
***************
*** 489,497 ****
  {
  	rfbScreenCleanup(screen);
  }
  
! void vnc_display_init(DisplayState *ds, int useAlsoSDL)
  {
  	if(!keyboard_layout) {
  		fprintf(stderr, "No keyboard language specified\n");
  		exit(1);
--- 489,497 ----
  {
  	rfbScreenCleanup(screen);
  }
  
! void vnc_display_init(DisplayState *ds, int useAlsoSDL, int 
vncport)
  {
  	if(!keyboard_layout) {
  		fprintf(stderr, "No keyboard language specified\n");
  		exit(1);
***************
*** 519,526 ****
--- 519,529 ----
  	screen->serverFormat.redMax = 31;
  	screen->serverFormat.greenMax = 63;
  	screen->serverFormat.blueMax = 31;
  
+ 	if( vncport > 0 )
+ 	    screen->port = vncport;
+ 
  	if(useAlsoSDL) {
  		ds_sdl=(DisplayState*)malloc(sizeof(DisplayState));
  		sdl_display_init(ds_sdl,0);
  		screen->frameBuffer = ds_sdl->data;


Is this the right way to do this?

Peter Reiter

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-11-21 11:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-19 18:13 [Qemu-devel] VNC patch Piotr R.
2004-11-20  6:20 ` [Qemu-devel] Qemu code copy Shivkumar Shivaji
2004-11-21 11:01   ` Piotras

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).