qemu: Set or force higher screen resolution than 640x480

Solution 1:

I have not used qemu arm,but I think this should work:

For the sake of compatibility, set the graphics to -vga std.

Once booted, open a terminal in your X server and try running, for example:
cvt 1024 768 60

this should output something like:

# 1024x768 59.92 Hz (CVT 0.79M3) hsync: 47.82 kHz; pclk: 63.50 MHz
Modeline "1024x768_60.00"   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync

Copy everything on the second line (the one that starts with 'modeline') except for the word 'modeline' itself. So you'd copy

"1024x768_60.00"   63.50  1024 1072 1176 1328  768 771 775 798

Then, type xrandr --newmode and paste after that. So it'd look like:

xrandr --newmode "1024x768_60.00"   63.50  1024 1072 1176 1328  768 771 775 798

If this fails, I will need to know how it fails, but it denotes some problem I am not aware of. It should work with any standard (VESA) resolution - no, 1366x768 is not a VESA standard and may fail. 1024x768 is a good one to try, as are 1280x1024, 1900x1200, 1920x1080, and many others. 1360x768 is compliant with the standard as well.

If it worked, now type xrandr without any arguments and you'll get a list of available displays. It may list multiple displays - you want to select one that says connected <resolution>, such as

VGA1 connected 1600x900+1280+0 (normal left inverted right x axis y axis) 443mm x 249mm

Yours may be labeled differently, and will probably read 640x480 instead.

Take the first word (in my case VGA1) and copy it. Now type xrandr --addmode <output name> <the part in quotes from the modeline you calculated earlier, with quotes removed>, such as:

xrandr --addmode VGA1 1024x768_60.00

If this succeeds, you can set the display mode from the UI (probably), or if that fails by typing

xrandr --output VGA1 --mode 1024x768_60.00

(substituting your values, of course)

To make these survive reboot you can either run the xrandr stuff at startup (make sure it returns zero if you put it in for example your display manager setup scripts, otherwise things changing between boots could cause your DM to hang or constantly restart!), or you can put something in xorg.conf or xorg.conf.d:

Section "Device"
    Identifier    "Configured Video Device"
    Driver        "vesa"
EndSection

Section "Monitor"
    Identifier    "Configured Monitor"
    HorizSync 42.0 - 52.0 
    VertRefresh 55.0 - 65.0 
    Modeline "1024x768" 60.80  1024 1056 1128 1272   768  768  770  796
    Modeline "800x600" 38.21 800 832 976 1008 600 612 618 631
    Modeline "640x480" 24.11 640 672 760 792 480 490 495 50
    EndSection

Section "Screen"
    Identifier    "Default Screen"
    Monitor        "Configured Monitor"
    Device        "Configured Video Device"
    DefaultDepth    24
    Subsection "Display"
        Depth       24
        Modes       "1024x768" "800x600" "640x480"
       EndSubsection
EndSection

Let me know if any of this helped, please :)