qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] QEMU + -std-vga + XFree86
@ 2007-03-25 23:36 Kyle Hubert
  2007-03-26  0:41 ` Anthony Liguori
  2007-03-26  6:37 ` Christian MICHON
  0 siblings, 2 replies; 10+ messages in thread
From: Kyle Hubert @ 2007-03-25 23:36 UTC (permalink / raw)
  To: qemu-devel

Hi, I'm working with QEMU on an XFree86 machine. I was desirous of
having 1600x1200 working in the virtual machine, so I looked at using
the -std-vga option with the "vesa" X driver.

While initializing X, I get the following:

(II) VESA(0): Primary V_BIOS segment is: 0xc000
(II) VESA(0): VESA BIOS detected
(II) VESA(0): VESA VBE Version 0.0
(II) VESA(0): VESA VBE Total Mem: 0 kB
(II) VESA(0): VESA VBE OEM: ^A

The log continues on to say:

(II) VESA(0): Total Memory: 0 64KB banks (0kB)
(II) VESA(0): Generic Monitor: Using hsync range of 28.00-51.00 kHz
(II) VESA(0): Generic Monitor: Using vrefresh range of 43.00-60.00 Hz
(II) VESA(0): Not using mode "1600x1200" (no mode of this name)
(II) VESA(0): Not using mode "1280x1024" (no mode of this name)
(II) VESA(0): Not using mode "1024x768" (no mode of this name)
(II) VESA(0): Not using mode "800x600" (no mode of this name)
(II) VESA(0): Not using built-in mode "640x480" (insufficient memory
given virtual size)

I'm not positive this is my problem, but it looks like it isn't
reporting the vram size correctly, does this sound correct?

Thanks for the time.

-Kyle

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

* Re: [Qemu-devel] QEMU + -std-vga + XFree86
  2007-03-25 23:36 Kyle Hubert
@ 2007-03-26  0:41 ` Anthony Liguori
  2007-03-26  6:37 ` Christian MICHON
  1 sibling, 0 replies; 10+ messages in thread
From: Anthony Liguori @ 2007-03-26  0:41 UTC (permalink / raw)
  To: qemu-devel

Kyle Hubert wrote:
> Hi, I'm working with QEMU on an XFree86 machine. I was desirous of
> having 1600x1200 working in the virtual machine, so I looked at using
> the -std-vga option with the "vesa" X driver.

You probably have to increase your hsync and vrefresh ranges.

Regards,

Anthony Liguori

> While initializing X, I get the following:
>
> (II) VESA(0): Primary V_BIOS segment is: 0xc000
> (II) VESA(0): VESA BIOS detected
> (II) VESA(0): VESA VBE Version 0.0
> (II) VESA(0): VESA VBE Total Mem: 0 kB
> (II) VESA(0): VESA VBE OEM: ^A
>
> The log continues on to say:
>
> (II) VESA(0): Total Memory: 0 64KB banks (0kB)
> (II) VESA(0): Generic Monitor: Using hsync range of 28.00-51.00 kHz
> (II) VESA(0): Generic Monitor: Using vrefresh range of 43.00-60.00 Hz
> (II) VESA(0): Not using mode "1600x1200" (no mode of this name)
> (II) VESA(0): Not using mode "1280x1024" (no mode of this name)
> (II) VESA(0): Not using mode "1024x768" (no mode of this name)
> (II) VESA(0): Not using mode "800x600" (no mode of this name)
> (II) VESA(0): Not using built-in mode "640x480" (insufficient memory
> given virtual size)
>
> I'm not positive this is my problem, but it looks like it isn't
> reporting the vram size correctly, does this sound correct?
>
> Thanks for the time.
>
> -Kyle
>
>
>

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

* Re: [Qemu-devel] QEMU + -std-vga + XFree86
@ 2007-03-26  0:44 Ben Taylor
  0 siblings, 0 replies; 10+ messages in thread
From: Ben Taylor @ 2007-03-26  0:44 UTC (permalink / raw)
  To: qemu-devel


---- Anthony Liguori <anthony@codemonkey.ws> wrote: 
> Kyle Hubert wrote:
> > Hi, I'm working with QEMU on an XFree86 machine. I was desirous of
> > having 1600x1200 working in the virtual machine, so I looked at using
> > the -std-vga option with the "vesa" X driver.
> 
> You probably have to increase your hsync and vrefresh ranges.

yeah, except for the 640x480 reports not enough memory....

> 
> Regards,
> 
> Anthony Liguori
> 
> > While initializing X, I get the following:
> >
> > (II) VESA(0): Primary V_BIOS segment is: 0xc000
> > (II) VESA(0): VESA BIOS detected
> > (II) VESA(0): VESA VBE Version 0.0
> > (II) VESA(0): VESA VBE Total Mem: 0 kB
> > (II) VESA(0): VESA VBE OEM: ^A
> >
> > The log continues on to say:
> >
> > (II) VESA(0): Total Memory: 0 64KB banks (0kB)
> > (II) VESA(0): Generic Monitor: Using hsync range of 28.00-51.00 kHz
> > (II) VESA(0): Generic Monitor: Using vrefresh range of 43.00-60.00 Hz
> > (II) VESA(0): Not using mode "1600x1200" (no mode of this name)
> > (II) VESA(0): Not using mode "1280x1024" (no mode of this name)
> > (II) VESA(0): Not using mode "1024x768" (no mode of this name)
> > (II) VESA(0): Not using mode "800x600" (no mode of this name)
> > (II) VESA(0): Not using built-in mode "640x480" (insufficient memory
> > given virtual size)
> >
> > I'm not positive this is my problem, but it looks like it isn't
> > reporting the vram size correctly, does this sound correct?
> >
> > Thanks for the time.
> >
> > -Kyle
> >
> >
> >
> 
> 
> 

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

* Re: [Qemu-devel] QEMU + -std-vga + XFree86
  2007-03-25 23:36 Kyle Hubert
  2007-03-26  0:41 ` Anthony Liguori
@ 2007-03-26  6:37 ` Christian MICHON
  2007-03-26  7:12   ` Kyle Hubert
  1 sibling, 1 reply; 10+ messages in thread
From: Christian MICHON @ 2007-03-26  6:37 UTC (permalink / raw)
  To: qemu-devel

On 3/26/07, Kyle Hubert <khubert@gmail.com> wrote:
> Hi, I'm working with QEMU on an XFree86 machine. I was desirous of
> having 1600x1200 working in the virtual machine, so I looked at using
> the -std-vga option with the "vesa" X driver.
>
> While initializing X, I get the following:
>
> (...)

could you send your xf86config file ?
does it work in cirrus mode ?

-- 
Christian

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

* Re: [Qemu-devel] QEMU + -std-vga + XFree86
  2007-03-26  6:37 ` Christian MICHON
@ 2007-03-26  7:12   ` Kyle Hubert
  2007-03-26  7:16     ` Kyle Hubert
  2007-03-26  7:40     ` Christian MICHON
  0 siblings, 2 replies; 10+ messages in thread
From: Kyle Hubert @ 2007-03-26  7:12 UTC (permalink / raw)
  To: qemu-devel

On 3/25/07, Christian MICHON <christian.michon@gmail.com> wrote:
> On 3/26/07, Kyle Hubert <khubert@gmail.com> wrote:
> > Hi, I'm working with QEMU on an XFree86 machine. I was desirous of
> > having 1600x1200 working in the virtual machine, so I looked at using
> > the -std-vga option with the "vesa" X driver.
> >
> > While initializing X, I get the following:
> >
> > (...)
>
> could you send your xf86config file ?
> does it work in cirrus mode ?

It does work in cirrus mode for 1024x768. I was under the impression
that it was all the cirrus driver would support. However, the std-vga
mode supports vga 799 and 798 in the console. (1600x1200:24bpp and
1600x1200:16bpp respectively)

The X driver seem forever confused saying there is no available video memory.

Thanks a lot for the help.

-Kyle





# XF86Config-4 (XFree86 X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the XF86Config-4 manual page.
# (Type "man XF86Config-4" at the shell prompt.)
#
# This file is automatically updated on xserver-xfree86 package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xfree86
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
#   cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
#   md5sum /etc/X11/XF86Config-4 >/var/lib/xfree86/XF86Config-4.md5sum
#   dpkg-reconfigure xserver-xfree86

Section "Files"
        FontPath        "unix/:7100"                    # local font server
        # if the local font server has problems, we can fall back on these
        FontPath        "/usr/lib/X11/fonts/misc"
        FontPath        "/usr/lib/X11/fonts/cyrillic"
        FontPath        "/usr/lib/X11/fonts/100dpi/:unscaled"
        FontPath        "/usr/lib/X11/fonts/75dpi/:unscaled"
        FontPath        "/usr/lib/X11/fonts/Type1"
        FontPath        "/usr/lib/X11/fonts/CID"
        FontPath        "/usr/lib/X11/fonts/Speedo"
        FontPath        "/usr/lib/X11/fonts/100dpi"
        FontPath        "/usr/lib/X11/fonts/75dpi"
EndSection

Section "Module"
        Load    "GLcore"
        Load    "bitmap"
        Load    "dbe"
        Load    "ddc"
        Load    "dri"
        Load    "extmod"
        Load    "freetype"
        Load    "glx"
        Load    "int10"
        Load    "record"
        Load    "speedo"
        Load    "type1"
        Load    "vbe"
EndSection

Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "keyboard"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xfree86"
        Option          "XkbModel"      "pc104"
        Option          "XkbLayout"     "us"
EndSection

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "ImPS/2"
        Option          "Emulate3Buttons"       "true"
        Option          "ZAxisMapping"          "4 5"
EndSection

Section "Device"
        Identifier      "Cirrus Logic GD 5446"
        Driver          "cirrus"
#vesa        Driver               "vesa"
#vesa        VideoRam        8192
EndSection

Section "Monitor"
        Identifier      "Generic Monitor"
        HorizSync       28-51
        VertRefresh     43-60
        Option          "DPMS"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Device          "Cirrus Logic GD 5446"
        Monitor         "Generic Monitor"
        DefaultDepth    16
        SubSection "Display"
                Depth           1
                Modes           "1600x1200" "1280x1024" "1024x768"
"800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           4
                Modes           "1600x1200" "1280x1024" "1024x768"
"800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           8
                Modes           "1600x1200" "1280x1024" "1024x768"
"800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           15
                Modes           "1600x1200" "1280x1024" "1024x768"
"800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           16
                Modes           "1600x1200" "1280x1024" "1024x768"
"800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           24
                Modes           "1600x1200" "1280x1024" "1024x768"
"800x600" "640x480"
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"
EndSection

Section "DRI"
        Mode    0666
EndSection

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

* Re: [Qemu-devel] QEMU + -std-vga + XFree86
  2007-03-26  7:12   ` Kyle Hubert
@ 2007-03-26  7:16     ` Kyle Hubert
  2007-03-26  7:40     ` Christian MICHON
  1 sibling, 0 replies; 10+ messages in thread
From: Kyle Hubert @ 2007-03-26  7:16 UTC (permalink / raw)
  To: qemu-devel

> It does work in cirrus mode for 1024x768. I was under the impression
> that it was all the cirrus driver would support. However, the std-vga
> mode supports vga 799 and 798 in the console. (1600x1200:24bpp and
> 1600x1200:16bpp respectively)

Here is the output from dmesg showing the console working:

vesafb: abort, cannot reserve video memory at 0xe0000000
vesafb: framebuffer at 0xe0000000, mapped to 0xffffff0000011000, size 8192k
vesafb: mode is 1600x1200x24, linelength=4800, pages=0
vesafb: scrolling: redraw
vesafb: directcolor: size=0:8:8:8, shift=0:16:8:0
mtrr: your processor doesn't support write-combining
fb0: VESA VGA frame buffer device
Console: switching to colour frame buffer device 200x75

-Kyle

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

* Re: [Qemu-devel] QEMU + -std-vga + XFree86
  2007-03-26  7:12   ` Kyle Hubert
  2007-03-26  7:16     ` Kyle Hubert
@ 2007-03-26  7:40     ` Christian MICHON
  2007-03-26  8:32       ` Kyle Hubert
  1 sibling, 1 reply; 10+ messages in thread
From: Christian MICHON @ 2007-03-26  7:40 UTC (permalink / raw)
  To: qemu-devel

On 3/26/07, Kyle Hubert <khubert@gmail.com> wrote:
> It does work in cirrus mode for 1024x768. I was under the impression
> that it was all the cirrus driver would support. However, the std-vga
> mode supports vga 799 and 798 in the console. (1600x1200:24bpp and
> 1600x1200:16bpp respectively)
>
> The X driver seem forever confused saying there is no available video memory.
>
> Thanks a lot for the help.
>

no obvious problem in the xf86config file.
when all fails, use the framebuffer :) and Xfbdev (fbdev driver instead
of vesa)

you might need a patch called vesafb-tng to reach such size.
I haven't tried successfully though. Appending the proper
parameters -append "video=vesafb:1600x1200@60", I
basically reach at most 1280x1024.

-- 
Christian

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

* Re: [Qemu-devel] QEMU + -std-vga + XFree86
  2007-03-26  7:40     ` Christian MICHON
@ 2007-03-26  8:32       ` Kyle Hubert
  2007-03-26  8:53         ` Christian MICHON
  0 siblings, 1 reply; 10+ messages in thread
From: Kyle Hubert @ 2007-03-26  8:32 UTC (permalink / raw)
  To: qemu-devel

> no obvious problem in the xf86config file.
> when all fails, use the framebuffer :) and Xfbdev (fbdev driver instead
> of vesa)

The framebuffer seems to miss every other vertical scan line. I'm not
sure if I make sense, but the video wraps around the screen onto
itself vertically. Thus rendering half of it on top (with vertical
black lines every other pixel)

> you might need a patch called vesafb-tng to reach such size.
> I haven't tried successfully though. Appending the proper
> parameters -append "video=vesafb:1600x1200@60", I
> basically reach at most 1280x1024.

I tried using the newer video appendage and it didn't seem to work. I
had to use the older vga=. I believe you are talking about the kernel
boot param, yes?



How about this for more information. The XFree86 VBE extension does
the following code:

    pInt->ax = 0x4F00;
    pInt->es = SEG_ADDR(RealOff);
    pInt->di = SEG_OFF(RealOff);
    pInt->num = 0x10;

    xf86ExecX86int10(pInt);

Resulting in:

    TotalMem = B_O16(vbe->TotalMem);
    /* Some BIOS'es are off by one */
    TotalMem += TotalMem & 1U;

    xf86DrvMsgVerb(screen, X_INFO, 3, "VESA VBE Total Mem: %li kB\n",
                   TotalMem * 64);

Which is annoying it ignores the X config's manual VideoRam in the
device section.

Perhaps the vgabios doesn't correctly implement this interrupt?

Looking in the 0.6a release of vgabios, you see in vbe.c:

        // VBE Total Memory (in 64b blocks)
        vbe_info_block.TotalMemory = VBE_TOTAL_VIDEO_MEMORY_DIV_64K;

So, it's intended to return correctly. Yet the XFree86 driver reports
a zero return.

Perhaps the vgabios.bin coming with QEMU is incorrect? I don't see
anything in vgabios.diff which suggests this code was changed.

-Kyle

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

* Re: [Qemu-devel] QEMU + -std-vga + XFree86
  2007-03-26  8:32       ` Kyle Hubert
@ 2007-03-26  8:53         ` Christian MICHON
  2007-03-26  9:22           ` Kyle Hubert
  0 siblings, 1 reply; 10+ messages in thread
From: Christian MICHON @ 2007-03-26  8:53 UTC (permalink / raw)
  To: qemu-devel

On 3/26/07, Kyle Hubert <khubert@gmail.com> wrote:
> I tried using the newer video appendage and it didn't seem to work. I
> had to use the older vga=. I believe you are talking about the kernel
> boot param, yes?

yes. normally the vesafb-tng is supposed to address missing functions
or resolutions of the current vesa present in the kernel.
The cool feature is to be able to swap resolutions without rebooting,
plus being able to get higher refresh rates than 60hz.

> How about this for more information. The XFree86 VBE extension does
> the following code:
(...)

for the rest of your email, that part is too obscure to me (I never went
inside the bios itself: I'm doing more OS assembly and kernel compiling
than doing active development of qemu).

good luck!

-- 
Christian

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

* Re: [Qemu-devel] QEMU + -std-vga + XFree86
  2007-03-26  8:53         ` Christian MICHON
@ 2007-03-26  9:22           ` Kyle Hubert
  0 siblings, 0 replies; 10+ messages in thread
From: Kyle Hubert @ 2007-03-26  9:22 UTC (permalink / raw)
  To: qemu-devel

To let the list know, I don't know if I follow this, but, it turns out
if I build vgabios 0.6a locally I can get this to work. I have to use
the "fbdev" device driver in XFree86, but it works.

Also, when I build the new vgabios.bin, it turns out I have to specify
the "-L" command line option for QEMU, or else it doesn't pick up the
vgabios.bin installed on the system.

I noticed the cirrus driver specifies 8MB of vram, but if you run the
vesa driver on top of it, you get a report of 4MB or vram.

Who is in charge of the vgabios released with QEMU? I think it's time
for a refresh.

-Kyle

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

end of thread, other threads:[~2007-03-26  9:25 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-26  0:44 [Qemu-devel] QEMU + -std-vga + XFree86 Ben Taylor
  -- strict thread matches above, loose matches on Subject: below --
2007-03-25 23:36 Kyle Hubert
2007-03-26  0:41 ` Anthony Liguori
2007-03-26  6:37 ` Christian MICHON
2007-03-26  7:12   ` Kyle Hubert
2007-03-26  7:16     ` Kyle Hubert
2007-03-26  7:40     ` Christian MICHON
2007-03-26  8:32       ` Kyle Hubert
2007-03-26  8:53         ` Christian MICHON
2007-03-26  9:22           ` Kyle Hubert

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