Only part of the desktop is shown in OpenSUSE VM

This is a virtualized installation of OpenSUSE 13.2, running on libvirt, qemu, qxl and spice.

After login, the desktop changes size several times, interspersed with flashes of text console messages. Sometimes it ends up at the right 1280 x 1024 resolution but at others, only the top left part of the desktop is shown, expanded to fill the whole screen (the login screen can also look like this). When that happens, KDE System Settings and xrandr both say it’s 1280x1024 but it doesn’t look like it.

In the attached screenshot, the desktop appears tiled but all I see is the top-left tile. The screenshot suggests that the rest of the screen is there, somewhere.

](http://postimg.org/image/fdk85zdpr/)http://s3.postimg.org/fdk85zdpr/Full_screen_snapshot2.jpg

If I run

$ xrandr -s 1280x1024

nothing happens, but if I run

$ xrandr -s 640x480 && xrandr -s 1280x1024

then the desktop is redrawn at the right size.
Here is the first part of /var/log/Xorg.0.log. It looks like the resolution is set to 1280x1024, then 1024x768, then 338 x 270


X.Org X Server 1.16.1
Release Date: 2014-09-21
X Protocol Version 11, Revision 0
Build Operating System: openSUSE SUSE LINUX
Current Operating System: Linux opensuse 3.16.7-21-desktop #1 SMP PREEMPT Tue Apr 14 07:11:37 UTC 2015 (93c1539) x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.16.7-21-desktop root=UUID=5e213af2-c53b-4e38-8535-4cd04f4f0979 resume=/dev/vdb1 splash=silent quiet showopts
Build Date: 04 March 2015  01:16:46PM
 
Current version of pixman: 0.32.6
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Thu May 14 07:41:50 2015
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(==) No Layout section.  Using the first Screen section.
(==) No screen section available. Using defaults.
(**) |-->Screen "Default Screen Section" (0)
(**) |   |-->Monitor "<default monitor>"
(==) No monitor specified for screen "Default Screen Section".
    Using a default monitor configuration.
(==) Automatically adding devices
(==) Automatically enabling devices
(==) Automatically adding GPU devices
(WW) The directory "/usr/share/fonts/misc/sgi" does not exist.
    Entry deleted from font path.
(==) FontPath set to:
    /usr/share/fonts/misc:unscaled,
    /usr/share/fonts/Type1/,
    /usr/share/fonts/100dpi:unscaled,
    /usr/share/fonts/75dpi:unscaled,
    /usr/share/fonts/ghostscript/,
    /usr/share/fonts/cyrillic:unscaled,
    /usr/share/fonts/truetype/,
    built-ins
(==) ModulePath set to "/usr/lib64/xorg/modules"
(II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
(II) Loader magic: 0x80ec60
(II) Module ABI versions:
    X.Org ANSI C Emulation: 0.4
    X.Org Video Driver: 18.0
    X.Org XInput driver : 21.0
    X.Org Server Extension : 8.0
(II) xfree86: Adding drm device (/dev/dri/card0)
(--) PCI:*(0:0:2:0) 1b36:0100:1af4:1100 rev 4, Mem @ 0xf4000000/67108864, 0xf8000000/67108864, 0xfc054000/8192, I/O @ 0x0000c180/32, BIOS @ 0x????????/65536
(II) LoadModule: "glx"
(II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
(II) Module glx: vendor="X.Org Foundation"
    compiled for 1.16.1, module version = 1.0.0
    ABI class: X.Org Server Extension, version 8.0
(==) AIGLX enabled
(==) Matched qxl as autoconfigured driver 0
(==) Matched qxl as autoconfigured driver 1
(==) Matched modesetting as autoconfigured driver 2
(==) Matched fbdev as autoconfigured driver 3
(==) Matched vesa as autoconfigured driver 4
(==) Assigned the driver to the xf86ConfigLayout
(II) LoadModule: "qxl"
(II) Loading /usr/lib64/xorg/modules/drivers/qxl_drv.so
(II) Module qxl: vendor="X.Org Foundation"
    compiled for 1.16.1, module version = 0.1.2
    Module class: X.Org Video Driver
    ABI class: X.Org Video Driver, version 18.0
(II) LoadModule: "modesetting"
(II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
(II) Module modesetting: vendor="X.Org Foundation"
    compiled for 1.16.1, module version = 0.9.0
    Module class: X.Org Video Driver
    ABI class: X.Org Video Driver, version 18.0
(II) LoadModule: "fbdev"
(II) Loading /usr/lib64/xorg/modules/drivers/fbdev_drv.so
(II) Module fbdev: vendor="X.Org Foundation"
    compiled for 1.16.1, module version = 0.4.4
    Module class: X.Org Video Driver
    ABI class: X.Org Video Driver, version 18.0
(II) LoadModule: "vesa"
(II) Loading /usr/lib64/xorg/modules/drivers/vesa_drv.so
(II) Module vesa: vendor="X.Org Foundation"
    compiled for 1.16.1, module version = 2.3.3
    Module class: X.Org Video Driver
    ABI class: X.Org Video Driver, version 18.0
(II) qxl: Driver for QXL virtual graphics: QXL 1
(II) modesetting: Driver for Modesetting Kernel Drivers: kms
(II) FBDEV: driver for framebuffer: fbdev
(II) VESA: driver for VESA chipsets: vesa
(++) using VT number 7

(II) [KMS] Kernel modesetting enabled.
(WW) Falling back to old probe method for modesetting
(WW) Falling back to old probe method for fbdev
(II) Loading sub module "fbdevhw"
(II) LoadModule: "fbdevhw"
(II) Loading /usr/lib64/xorg/modules/libfbdevhw.so
(II) Module fbdevhw: vendor="X.Org Foundation"
    compiled for 1.16.1, module version = 0.0.2
    ABI class: X.Org Video Driver, version 18.0
(WW) Falling back to old probe method for vesa
(II) qxl(0): Creating default Display subsection in Screen section
    "Default Screen Section" for depth/fbbpp 24/32
(==) qxl(0): Depth 24, (--) framebuffer bpp 32
(==) qxl(0): RGB weight 888
(==) qxl(0): Default visual is TrueColor
(==) qxl(0): Using gamma correction (1.0, 1.0, 1.0)
(II) qxl(0): Deferred Frames: Disabled
(II) qxl(0): Offscreen Surfaces: Enabled
(II) qxl(0): Image Cache: Enabled
(II) qxl(0): Fallback Cache: Enabled
(==) qxl(0): DPI set to (96, 96)
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/lib64/xorg/modules/libfb.so
(II) Module fb: vendor="X.Org Foundation"
    compiled for 1.16.1, module version = 1.0.0
    ABI class: X.Org ANSI C Emulation, version 0.4
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"
(II) Module "ramdac" already built-in
(II) qxl(0): Output Virtual-0 has no monitor section
(II) qxl(0): Output Virtual-1 has no monitor section
(II) qxl(0): Output Virtual-2 has no monitor section
(II) qxl(0): Output Virtual-3 has no monitor section
(II) qxl(0): EDID for output Virtual-0
(II) qxl(0): Printing probed modes for output Virtual-0
(II) qxl(0): Modeline "1280x1024"x59.9  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync (63.7 kHz P)
(II) qxl(0): Modeline "1920x1200"x59.9  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync (74.6 kHz)
(II) qxl(0): Modeline "1920x1080"x60.0  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync (67.2 kHz)
(II) qxl(0): Modeline "1600x1200"x59.9  161.00  1600 1712 1880 2160  1200 1203 1207 1245 -hsync +vsync (74.5 kHz)
(II) qxl(0): Modeline "1680x1050"x60.0  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
(II) qxl(0): Modeline "1400x1050"x60.0  121.75  1400 1488 1632 1864  1050 1053 1057 1089 -hsync +vsync (65.3 kHz)
(II) qxl(0): Modeline "1440x900"x59.9  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync (55.9 kHz)
(II) qxl(0): Modeline "1280x960"x59.9  101.25  1280 1360 1488 1696  960 963 967 996 -hsync +vsync (59.7 kHz)
(II) qxl(0): Modeline "1280x854"x59.9   89.25  1280 1352 1480 1680  854 857 867 887 -hsync +vsync (53.1 kHz)
(II) qxl(0): Modeline "1280x800"x59.8   83.50  1280 1352 1480 1680  800 803 809 831 -hsync +vsync (49.7 kHz)
(II) qxl(0): Modeline "1280x720"x59.9   74.50  1280 1344 1472 1664  720 723 728 748 -hsync +vsync (44.8 kHz)
(II) qxl(0): Modeline "1152x768"x59.8   71.75  1152 1216 1328 1504  768 771 781 798 -hsync +vsync (47.7 kHz)
(II) qxl(0): Modeline "1024x768"x59.9   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync (47.8 kHz)
(II) qxl(0): Modeline "800x600"x59.9   38.25  800 832 912 1024  600 603 607 624 -hsync +vsync (37.4 kHz)
(II) qxl(0): Modeline "848x480"x59.7   31.50  848 872 952 1056  480 483 493 500 -hsync +vsync (29.8 kHz)
(II) qxl(0): Modeline "720x480"x59.7   26.75  720 744 808 896  480 483 493 500 -hsync +vsync (29.9 kHz)
(II) qxl(0): Modeline "640x480"x59.4   23.75  640 664 720 800  480 483 487 500 -hsync +vsync (29.7 kHz)
(II) qxl(0): EDID for output Virtual-1
(II) qxl(0): EDID for output Virtual-2
(II) qxl(0): EDID for output Virtual-3
(II) qxl(0): Output Virtual-0 connected
(II) qxl(0): Output Virtual-1 disconnected
(II) qxl(0): Output Virtual-2 disconnected
(II) qxl(0): Output Virtual-3 disconnected
(II) qxl(0): Using exact sizes for initial modes
(II) qxl(0): Output Virtual-0 using initial mode 1280x1024
(II) qxl(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
(II) qxl(0): PreInit complete
(II) UnloadModule: "modesetting"
(II) Unloading modesetting
(II) UnloadModule: "fbdev"
(II) Unloading fbdev
(II) UnloadSubModule: "fbdevhw"
(II) Unloading fbdevhw
(II) UnloadModule: "vesa"
(II) Unloading vesa
(--) Depth 24 pixmap format is 32 bpp
(II) UXA(0): Driver registered support for the following operations:
(II)         solid
(II)         copy
(II)         composite (RENDER acceleration)
(II)         put_image
(II) qxl(0): RandR 1.2 enabled, ignore the following RandR disabled message.
resizing primary to 1024x768
primary is 0x1366cf0
(--) RandR disabled
(II) AIGLX: Screen 0 is not DRI2 capable
(EE) AIGLX: reverting to software rendering
(II) AIGLX: Loaded and initialized swrast
(II) GLX: Initialized DRISWRAST GL provider for screen 0
(II) qxl(0): Setting screen physical size to 338 x 270
(II) config/udev: Adding input device Power Button (/dev/input/event2)
(**) Power Button: Applying InputClass "evdev keyboard catchall"
(**) Power Button: Applying InputClass "system-keyboard"
(**) Power Button: Applying InputClass "evdev keyboard catchall"
(II) LoadModule: "evdev"
(II) Loading /usr/lib64/xorg/modules/input/evdev_drv.so
(II) Module evdev: vendor="X.Org Foundation"
    compiled for 1.16.1, module version = 2.9.0
    Module class: X.Org XInput Driver
    ABI class: X.Org XInput driver, version 21.0
(II) Using input driver 'evdev' for 'Power Button'
(**) Power Button: always reports core events
(**) evdev: Power Button: Device: "/dev/input/event2"
(--) evdev: Power Button: Vendor 0 Product 0x1
(--) evdev: Power Button: Found keys
(II) evdev: Power Button: Configuring as keyboard


I would be grateful if someone could help to fix this.

Here’s the rest of /var/log/Xorg.0.log:

(**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event2"
(II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
(**) Option "xkb_rules" "evdev"
(**) Option "xkb_model" "pc105"
(**) Option "xkb_layout" "gb"
(**) Option "xkb_options" "terminate:ctrl_alt_bksp"
(II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event0)
(**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"
(**) AT Translated Set 2 keyboard: Applying InputClass "system-keyboard"
(**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"
(II) Using input driver 'evdev' for 'AT Translated Set 2 keyboard'
(**) AT Translated Set 2 keyboard: always reports core events
(**) evdev: AT Translated Set 2 keyboard: Device: "/dev/input/event0"
(--) evdev: AT Translated Set 2 keyboard: Vendor 0x1 Product 0x1
(--) evdev: AT Translated Set 2 keyboard: Found keys
(II) evdev: AT Translated Set 2 keyboard: Configuring as keyboard
(**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input0/event0"
(II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 7)
(**) Option "xkb_rules" "evdev"
(**) Option "xkb_model" "pc105"
(**) Option "xkb_layout" "gb"
(**) Option "xkb_options" "terminate:ctrl_alt_bksp"
(II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/event1)
(**) ImExPS/2 Generic Explorer Mouse: Applying InputClass "evdev pointer catchall"
(**) ImExPS/2 Generic Explorer Mouse: Applying InputClass "evdev pointer catchall"
(**) ImExPS/2 Generic Explorer Mouse: Applying InputClass "vmmouse"
(II) LoadModule: "vmmouse"
(II) Loading /usr/lib64/xorg/modules/input/vmmouse_drv.so
(II) Module vmmouse: vendor="X.Org Foundation"
    compiled for 1.16.1, module version = 13.0.0
    Module class: X.Org XInput Driver
    ABI class: X.Org XInput driver, version 21.0
(II) VMWARE(0): VMMOUSE module was loaded
(II) Using input driver 'vmmouse' for 'ImExPS/2 Generic Explorer Mouse'
(**) ImExPS/2 Generic Explorer Mouse: always reports core events
(II) VMWARE(0): vmmouse is available
(**) Option "Device" "/dev/input/event1"
(**) ImExPS/2 Generic Explorer Mouse: ZAxisMapping: buttons 4 and 5
(**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input2/event1"
(II) XINPUT: Adding extended input device "ImExPS/2 Generic Explorer Mouse" (type: MOUSE, id 8)
(II) VMWARE(0): VMMOUSE DEVICE_INIT
(**) ImExPS/2 Generic Explorer Mouse: (accel) keeping acceleration scheme 1
(**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration profile 0
(**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration factor: 2.000
(**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration threshold: 4
(II) VMWARE(0): VMMOUSE DEVICE_ON
(II) VMWARE(0): vmmouse enabled
(II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/mouse0)
(II) No input driver specified, ignoring this device.
(II) This device may have been added with another device file.
(II) config/udev: Adding input device PC Speaker (/dev/input/event3)
(II) No input driver specified, ignoring this device.
(II) This device may have been added with another device file.
(II) VMWARE(0): vmmouse enable absolute mode
(II) config/udev: Adding input device spice vdagent tablet (/dev/input/mouse1)
(II) No input driver specified, ignoring this device.
(II) This device may have been added with another device file.
(II) config/udev: Adding input device spice vdagent tablet (/dev/input/event4)
(**) spice vdagent tablet: Applying InputClass "evdev pointer catchall"
(**) spice vdagent tablet: Applying InputClass "evdev pointer catchall"
(II) Using input driver 'evdev' for 'spice vdagent tablet'
(**) spice vdagent tablet: always reports core events
(**) evdev: spice vdagent tablet: Device: "/dev/input/event4"
(--) evdev: spice vdagent tablet: Vendor 0 Product 0
(--) evdev: spice vdagent tablet: Found 3 mouse buttons
(--) evdev: spice vdagent tablet: Found scroll wheel(s)
(--) evdev: spice vdagent tablet: Found relative axes
(--) evdev: spice vdagent tablet: Found absolute axes
(--) evdev: spice vdagent tablet: Found x and y absolute axes
(--) evdev: spice vdagent tablet: Found absolute touchscreen
(II) evdev: spice vdagent tablet: Configuring as touchscreen
(II) evdev: spice vdagent tablet: Adding scrollwheel support
(**) evdev: spice vdagent tablet: YAxisMapping: buttons 4 and 5
(**) evdev: spice vdagent tablet: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(**) Option "config_info" "udev:/sys/devices/virtual/input/input79/event4"
(II) XINPUT: Adding extended input device "spice vdagent tablet" (type: TOUCHSCREEN, id 9)
(WW) evdev: spice vdagent tablet: touchpads, tablets and touchscreens ignore relative axes.
(II) evdev: spice vdagent tablet: initialized for absolute axes.
(**) spice vdagent tablet: (accel) keeping acceleration scheme 1
(**) spice vdagent tablet: (accel) acceleration profile 0
(**) spice vdagent tablet: (accel) acceleration factor: 2.000
(**) spice vdagent tablet: (accel) acceleration threshold: 4
(II) config/udev: Adding input device spice vdagent tablet (/dev/input/js0)
(II) No input driver specified, ignoring this device.
(II) This device may have been added with another device file.
(II) qxl(0): Allocate new frame buffer 640x480 stride
(II) config/udev: removing device spice vdagent tablet
(II) evdev: spice vdagent tablet: Close
(II) UnloadModule: "evdev"
(II) config/udev: Adding input device spice vdagent tablet (/dev/input/event4)
(**) spice vdagent tablet: Applying InputClass "evdev pointer catchall"
(**) spice vdagent tablet: Applying InputClass "evdev pointer catchall"
(II) Using input driver 'evdev' for 'spice vdagent tablet'
(**) spice vdagent tablet: always reports core events
(**) evdev: spice vdagent tablet: Device: "/dev/input/event4"
(--) evdev: spice vdagent tablet: Vendor 0 Product 0
(--) evdev: spice vdagent tablet: Found 3 mouse buttons
(--) evdev: spice vdagent tablet: Found scroll wheel(s)
(--) evdev: spice vdagent tablet: Found relative axes
(--) evdev: spice vdagent tablet: Found absolute axes
(--) evdev: spice vdagent tablet: Found x and y absolute axes
(--) evdev: spice vdagent tablet: Found absolute touchscreen
(II) evdev: spice vdagent tablet: Configuring as touchscreen
(II) evdev: spice vdagent tablet: Adding scrollwheel support
(**) evdev: spice vdagent tablet: YAxisMapping: buttons 4 and 5
(**) evdev: spice vdagent tablet: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(**) Option "config_info" "udev:/sys/devices/virtual/input/input80/event4"
(II) XINPUT: Adding extended input device "spice vdagent tablet" (type: TOUCHSCREEN, id 9)
(WW) evdev: spice vdagent tablet: touchpads, tablets and touchscreens ignore relative axes.
(II) evdev: spice vdagent tablet: initialized for absolute axes.
(**) spice vdagent tablet: (accel) keeping acceleration scheme 1
(**) spice vdagent tablet: (accel) acceleration profile 0
(**) spice vdagent tablet: (accel) acceleration factor: 2.000
(**) spice vdagent tablet: (accel) acceleration threshold: 4
(II) config/udev: Adding input device spice vdagent tablet (/dev/input/mouse1)
(II) No input driver specified, ignoring this device.
(II) This device may have been added with another device file.
(II) config/udev: Adding input device spice vdagent tablet (/dev/input/js0)
(II) No input driver specified, ignoring this device.
(II) This device may have been added with another device file.
(II) qxl(0): Allocate new frame buffer 1280x1024 stride
(II) config/udev: removing device spice vdagent tablet
(II) evdev: spice vdagent tablet: Close
(II) UnloadModule: "evdev"
(II) config/udev: Adding input device spice vdagent tablet (/dev/input/event4)
(**) spice vdagent tablet: Applying InputClass "evdev pointer catchall"
(**) spice vdagent tablet: Applying InputClass "evdev pointer catchall"
(II) Using input driver 'evdev' for 'spice vdagent tablet'
(**) spice vdagent tablet: always reports core events
(**) evdev: spice vdagent tablet: Device: "/dev/input/event4"
(--) evdev: spice vdagent tablet: Vendor 0 Product 0
(--) evdev: spice vdagent tablet: Found 3 mouse buttons
(--) evdev: spice vdagent tablet: Found scroll wheel(s)
(--) evdev: spice vdagent tablet: Found relative axes
(--) evdev: spice vdagent tablet: Found absolute axes
(--) evdev: spice vdagent tablet: Found x and y absolute axes
(--) evdev: spice vdagent tablet: Found absolute touchscreen
(II) evdev: spice vdagent tablet: Configuring as touchscreen
(II) evdev: spice vdagent tablet: Adding scrollwheel support
(**) evdev: spice vdagent tablet: YAxisMapping: buttons 4 and 5
(**) evdev: spice vdagent tablet: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(**) Option "config_info" "udev:/sys/devices/virtual/input/input81/event4"
(II) XINPUT: Adding extended input device "spice vdagent tablet" (type: TOUCHSCREEN, id 9)
(WW) evdev: spice vdagent tablet: touchpads, tablets and touchscreens ignore relative axes.
(II) evdev: spice vdagent tablet: initialized for absolute axes.
(**) spice vdagent tablet: (accel) keeping acceleration scheme 1
(**) spice vdagent tablet: (accel) acceleration profile 0
(**) spice vdagent tablet: (accel) acceleration factor: 2.000
(**) spice vdagent tablet: (accel) acceleration threshold: 4
(II) config/udev: Adding input device spice vdagent tablet (/dev/input/js0)
(II) No input driver specified, ignoring this device.
(II) This device may have been added with another device file.
(II) config/udev: Adding input device spice vdagent tablet (/dev/input/mouse1)
(II) No input driver specified, ignoring this device.
(II) This device may have been added with another device file.
(II) VMWARE(0): VMMOUSE DEVICE_OFF/CLOSE
(II) VMWARE(0): VMMOUSE DEVICE_ON
(II) VMWARE(0): vmmouse enabled
(II) VMWARE(0): VMMOUSE DEVICE_OFF/CLOSE
(II) VMWARE(0): VMMOUSE DEVICE_ON
(II) VMWARE(0): vmmouse enabled

On 2015-05-19 01:26, nixbugz wrote:
> Here’s the rest of /var/log/Xorg.0.log:

Next time, just upload to susepaste.org, and post here a link to it.


Cheers / Saludos,

Carlos E. R.

(from 13.1 x86_64 “Bottle” (Minas Tirith))

IMO there is some misunderstanding how the Desktop is sized and when.
There is little difference how this works on a virtual vs physical machine aside from the display drivers used.
The following more or less applies to all virtualization technologies, not just what the OP is using.
Also, keep in mind that in general following typical advice, with <today’s> display driver implementations, using an xorg.conf file is strongly discouraged.

On initial bootup, GRUB’s VESA driver (usually, nowadays. VGA on older systems) controls display resolution and resolution options until the Desktop loads (if a Desktop is used at all). There are generally few or more difficult ways to modify this, and generally in the grub.cfg file.

Once the Desktop loads, the Desktop’s display manager takes over and more resolution options exist, but even then you should be be aware there are two “states” – The fixed initial resolution and also the possible effects if the remote display is dynamically re-sized.

So, first** the initial “static” state** which is likely related to xrandr.
I’ve found this can often be set/configured in the Desktop’s display management app. Just like on a physical machine, the new resolution will be tested, then once accepted it’s hard set and should be effective both immediately and on every boot thereafter (until changed again).

Virtual machines are fundamentally different than physical machines in one way, the only way to view a virtual Machine’s desktop is through a remote connection. And one characteristic of using a remote connection to a machine is the ability to change the display’s “apparent” physical features (compared to a real, physical display which is of course fixed). Most if not all** Guests’ displays can be dynamically re-sized by the client app. **Typically display re-sizing requires an optional Guest Additions/Extensions package, but with openSUSE a community version is almost always installed automatically when the original install detects it’s being installed in a virtual environment.

It should make sense that this dynamic re-sizing is not configured using a list of fixed resolutions (required by xrandr) so is completely dependent on how the virtualization client’s viewer happens to be set. With some viewers, you will also see “fit to host” or “fit to client” configuration settings.

Note all of the above is accomplished without any CLI, manual xrandr settings and xorg files… All which if exist might get in the way of proper behavior. And, I’ve seen your screenshot problems although last time many, many years ago (maybe co-incidentally when xorg files were still being used?). What I’ve described should fix that, though.

HTH,
TSU

Thanks for your reply, tsu2.

Well I changed

GRUB_GFXMODE=auto

to

GRUB_GFXMODE="1280x1024"

in /etc/default/grub then ran

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

and it has caused some changes to the Xorg.log file (though various updates were also installed in the interim). Here are a few extracted lines to compare.

Previously, 1280x1024 was the first modeline.

[859021.154] (II) qxl(0): Modeline "1280x1024"x59.9  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync (63.7 kHz P)
[859021.154] (II) qxl(0): Modeline "1920x1200"x59.9  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync (74.6 kHz)

[859021.155] (II) qxl(0): Output Virtual-0 using initial mode 1280x1024

[859021.155] resizing primary to 1024x768

[859022.119] (II) qxl(0): Setting screen physical size to 338 x 270

[859456.743] (II) qxl(0): Allocate new frame buffer 640x480 stride

[859456.819] (II) qxl(0): Allocate new frame buffer 1280x1024 stride

Now it’s 1024x768. Does that make sense? Why should it set the screen physical size to 270 x 203?

    45.917] (II) qxl(0): Modeline "1024x768"x59.9   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync (47.8 kHz P)
    45.917] (II) qxl(0): Modeline "1920x1200"x59.9  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync (74.6 kHz)

    45.918] (II) qxl(0): Output Virtual-0 using initial mode 1024x768

    45.918] resizing primary to 1024x768

    46.913] (II) qxl(0): Setting screen physical size to 270 x 203

    52.845] (II) qxl(0): Allocate new frame buffer 1280x1024 stride

Are these significant?

(WW) Falling back to old probe method for modesetting
(WW) Falling back to old probe method for fbdev
(WW) Falling back to old probe method for vesa
(EE) AIGLX: reverting to software rendering

So far, I haven’t seen the problem reappear but I think the system is still confused between 1280x1024 & 1024x768. This shot of the login screen shows black bars top and bottom and looks to me like 1024x768 on a 1280x1024 screen.

I don’t have a xorg.conf but do have 2 xorg.conf.d’s , which the X server reads. Should I try removing them?

    45.905] (==) Using config directory: "/etc/X11/xorg.conf.d"
    45.905] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
$ ls -l /etc/X11/xorg.conf.d
total 44
-rw-r--r-- 1 root root  320 Apr 29 04:25 00-keyboard.conf
-rw-r--r-- 1 root root  320 Apr 29 03:46 00-keyboard.conf.backup
-rw-r--r-- 1 root root 1099 Apr 24 15:28 10-evdev.conf
-rw-r--r-- 1 root root  509 May  6 11:26 10-libvnc.conf
-rw-r--r-- 1 root root  484 Oct  6  2014 11-evdev.conf
-rw-r--r-- 1 root root  529 Jul  1  2011 50-device.conf
-rw-r--r-- 1 root root  527 Jul  1  2011 50-monitor.conf
-rw-r--r-- 1 root root  491 Jul  1  2011 50-screen.conf
-rw-r--r-- 1 root root 1913 Oct  6  2014 50-synaptics.conf
-rw-r--r-- 1 root root  115 Oct  7  2014 50-vmmouse.conf
-rw-r--r-- 1 root root  858 Oct  7  2014 50-wacom.conf

$ ls -l /usr/share/X11/xorg.conf.d
total 8
-rw-r--r-- 1 root root 1099 Apr 24 15:28 10-evdev.conf
-rw-r--r-- 1 root root 1350 Apr 24 15:28 10-quirks.conf

The current Xorg.0.log is here (thanks for the tip about susepaste.org, robin_listas](https://forums.opensuse.org/member.php/21725-robin_listas)).

The current .xsession_errors is here.

Hard to tell what is happening on your machine since what you’re describing isn’t typically seen.

Your instances of …/xorg.conf.d should be OK.

Usually people aren’t too concerned about re-sizing the display defined by grub, it’s typically sufficient for normal displays like the grub menu. A larger display might be useful if you’re reading stdout during the boot but I can’t think of any other reason.

The only reason why I can think your physical display size “is set” to the smaller resolutions is that might be the windowed size on your HostOS desktop. To test this, you might make sure your vm manager is displayed “full screen” and assuming that your HostOS display itself isn’t tiny.

The screenshot suggests this also what is happening… It looks to me a combination of a fixed display setting in the Guest in combination with a vm manager display which is not set to “fit window to guest”

TSU

The host of the OpenSUSE VM runs Arch Linux and does not have an X server installed. It has a 1280 x 1024 monitor attached to the console but the VM shouldn’t know about that, should it?

Virt-Manager has a View menu but it seems to refer to the local display. Windows Virt-viewer doesn’t have controls for the resolution. I see no applicable settings about resolution in man qemu for spice or qxl.

Also, the problem is still happening. Maybe I should have mentioned that it often happens after a crash. After restart the top-left part of the login screen appears, enlarged to fill the whole screen and after login, the top-left part of the desktop. If this is stable, xrandr (as above) can be used to fix the resolution. If not, it goes back to the login screen and this may be repeated from one to n times (where n is give up and delete some files). These crashes seem to happen in qxl or X and I thought a stable monitor might help though I don’t know which is cause and which effect or even if they’re related.

This part of the log shows that something, probably qxl, insists on setting the resolution to 1024 x 768:

# before
(II) qxl(0): Output Virtual-0 using initial mode 1280x1024
# now
(II) qxl(0): Output Virtual-0 using initial mode 1024x768
# the same
(II) qxl(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
(II) qxl(0): PreInit complete
(II) UnloadModule: "modesetting"
(II) Unloading modesetting
(II) UnloadModule: "fbdev"
(II) Unloading fbdev
(II) UnloadSubModule: "fbdevhw"
(II) Unloading fbdevhw
(II) UnloadModule: "vesa"
(II) Unloading vesa
(--) Depth 24 pixmap format is 32 bpp
(II) UXA(0): Driver registered support for the following operations:
(II)         solid
(II)         copy
(II)         composite (RENDER acceleration)
(II)         put_image
(II) qxl(0): RandR 1.2 enabled, ignore the following RandR disabled message.
resizing primary to 1024x768
primary is 0x1366cf0
(--) RandR disabled
(II) AIGLX: Screen 0 is not DRI2 capable
(EE) AIGLX: reverting to software rendering
(II) AIGLX: Loaded and initialized swrast
(II) GLX: Initialized DRISWRAST GL provider for screen 0
(II) qxl(0): Setting screen physical size to 338 x 270

I could try adding a xorg.conf with a fixed (to start with) screen of 1280 x 1024.

There’s also a second video card so I could see how the VM behaves with that.

First, a Host crash is always very bad. Whether you build a minimal Production platform to deploy Guests or a personal machine to deploy machines for specific uses, it’s very important to do everything you can to improve Host stability and eliminate anything untoward. If you’re experiencing more than one crash even in a year for whatever reason, you need to seriously re-think what you are doing… hardware and/or software.

If you do experience a Host crash while Guests are running, you may need to run an fschk on that Guest, maybe restore from backup in worst cases.

TSU

Sorry, I should have made clear that it’s the KDE desktop on the OpenSUSE VM which crashes, not the host. Sometimes the whole VM will shut down, without warning or disc sync. The host machine and Windows VMS are stable, Linux with GNOME desktop was more-or-less stable (though it’s a while since I used it), KDE on Fedora was much less stable (usually, the whole VM would crash, multiple disconnections). There are 4 problems, maybe related.

  1. Screen size changes and is mismatched.
  2. Return to login screen after login (often have to log in more than once).
  3. KDE crashing, restarting. Happens mainly when idle.
  4. VM closing. eg
   qemu-system-x86_64: spice-qemu-char.c:173: spice_chr_add_watch: Assertion `cond
== G_IO_OUT' failed.
2015-05-26 07:26:02.721+0000: shutting down

or

 74247.175] (EE) qxl(0): error doing QXL_ALLOC

Seems your bug was reported last year, and the Maintainers have had a tough time identifying the root cause and then to create a proper patch

The bug report and discussion. Verify that not just the error, but the way they are re-producing the bug is the same as what you’re doing.
https://bugzilla.redhat.com/show_bug.cgi?id=1128992
Attempts to fix
http://comments.gmane.org/gmane.comp.emulators.qemu/314437

This seems to be an unresolved issue using spice.
For whatever you’re doing, have you looked into a possible non-spice implementation?
There usually is an alternative.

TSU