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
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