Loading...

xen-devel@lists.xensource.com

[Prev] Thread [Next]  |  [Prev] Date [Next]

[Xen-devel][RFC] Dynamic modes support for PV xenfb (included) Pat Campbell Mon Jul 07 16:00:34 2008

Enough of the implementation has changed so I decided to go through
another RFC cycle.

What this patch does
   Allows PV framebuffer to be resized via xrandr or fbset and to start
   up the GUI at higher than 800x600

What is new in this iteration:
   1. No longer extending pd[] for extra memory
   2. New kernel xenfb.videomem param
   3. Added new events for extended FB memory mapping
   4. Extending FB memory via gntdev, supports up to 20MB
      on 64 bit guest, 40MB for a 32 bit guest.  Uses a two
      level grant table.
   5. xenkbd exported func to set pointer screen geometry
   6. Removed "wart" from fbif.h

New kernel xenfb param:
    videomem array,  FB size in MB, max scanline length
    vm config ie:
          extra="xenfb.videomem=5,1024 "

Setup instructions:
 1. Apply xen-fbfront-resize.patch to the Xen 3.2 PV guest kernel source,
    make and install
 2. Add modes line to guest xorg.conf and adjust monitor section if
    necessary
 3. Add extra kernel param to guest config file and set into xenstore
 4. Apply xen-fbback-resize.patch to xen-unstable tip, make and install
    Really only need the new qemu-dm to be installed

Screen should start out at 800x600 in the console and then switch to
whatever resolution you specified in xorg.conf for the GUI.  Switching 
to the console will revert screen to 800x600.

X11 fbdev will use the builtin resolution of 800x600 if alternate modes are
not specified in xorg.conf.

xorg.conf settings I used:

Section "Monitor"
  HorizSync    30-65
  Identifier   "Monitor[0]"
  ModelName    "XEN PV"
  VendorName   "XEN"
  VertRefresh  43-75
  UseModes     "Modes[0]"
EndSection

Section "Modes"
  Identifier   "Modes[0]"
  Modeline  "1024x768" 79.52 1024 1080 1192 1360 768 769 772 801
  Modeline  "800x600" 47.53 800 840 920 1040 600 601 604 626
  Modeline  "640x480" 29.84 640 664 728 816 480 481 484 501
EndSection

Section "Screen"
  SubSection "Display"
    Depth      24
    Modes      "1024x768" "800x600" "640x480"
  EndSubSection
  Device       "Device[0]"
  Identifier   "Screen[0]"
  Monitor      "Monitor[0]"
EndSection

Will appreciate any feedback

Pat

_______________________________________________
Xen-devel mailing list
[EMAIL PROTECTED]
http://lists.xensource.com/xen-devel