[Spice-devel] Running SPICE on PPC64

Denis Kirjanov kirjanov at gmail.com
Wed Mar 18 07:38:35 PDT 2015


On 3/18/15, Uri Lublin <uril at redhat.com> wrote:
> On 03/18/2015 12:41 PM, Christophe Fergeau wrote:
>> On Wed, Mar 18, 2015 at 01:10:42PM +0300, Denis Kirjanov wrote:
>>> On 3/18/15, Christophe Fergeau <cfergeau at redhat.com> wrote:
>>>> Hi Denis,
>>>>
>>>> On Wed, Mar 18, 2015 at 12:31:25PM +0300, Denis Kirjanov wrote:
>>>>> I've found in the mailing list that you were running SPICE on ppc
>>>>> system. I'm trying to connect to the qemu ppc64 (version 2.2.1 with
>>>>> patch which enables QXL device) virtual machine with spice enabled
>>>>> (and your endianess patches applied, version 0.12.5) and see nothing
>>>>> on output...
>>>>
>>>> By ppc64, I assume we are talking about big endian ppc64?
>>>
>>> Right, big ending guest on power8 be host.
>>>
>>>> When I wrote these patches, I did not get farther than debugging
>>>> qemu-system-ppc64 -spice port=5900
>>>> No disk image, no QXL, ... partly because I did not have much time to
>>>> spend on debugging all of this, partly because I could not figure out
>>>> how to get it to boot off an ISO. Someone else on the mailing list
>>>> is trying to get things to run on SPARC which is big-endian too, but
>>>> I haven't seen any patches yet.
>>>> So big endian is still very much unsupported in SPICE unfortunately.
>>>> I'd
>>>> be happy to help if you want to investigate this further, and fix what
>>>> needs fixing. I'd start by experimenting without a QXL device if
>>>> possible.
>>>>
>>>
>>> Unfortunately, I see only the black scree with the simplest command
>>> line:
>>
>> Ah :( not very obvious what's going on from a quick look, nothing is
>> obviously wrong from these traces. The all-0 UUID might give a first
>> hint as it is a bit weird, unless the qemu_uuid indeed has that value.
>> Is the client little-endian or big-endian? I only tested little-endian
>> clients so far.
>>
>
> Hi,
>
> I too do not see anything wrong.
>
> I never tried running Spice with big-endian machines.
>
> A black screen may mean the guest wrote nothing to the screen
> (e.g. when running qemu-kvm with -S  command line option).
>
> Denis, can you run a few quick tests ?
> 1. Does it work with vnc (e.g. qemu-system-ppc64 -vnc :5) ?
>     Do you see a black screen ?

Nope, vnc works great.
> 2. Try running qemu-kvm with a disk image
> 3. What is the output of "info spice" qemu-kvm monitor command, after
>     connecting with the client and while seeing the black screen.
>     (I like to run qemu-kvm with -monitor stdio)

Looks like that a session has been established successfully... But
still the black surface with the "Connected to graphic server" text.

[root at power ~]# SPICE_DEBUG_LEVEL=5 /usr/bin/qemu-system-ppc64 -spice
port=5908,disable-ticketing -hda /root/power.img --monitor stdio
(/usr/bin/qemu-system-ppc64:40654): Spice-Debug **:
reds.c:3847:spice_server_set_seamless_migration: seamless migration
enabled=0
(/usr/bin/qemu-system-ppc64:40654): Spice-Info **:
reds.c:3209:do_spice_init: starting 0.12.5
(/usr/bin/qemu-system-ppc64:40654): Spice-Info **:
reds.c:2382:reds_init_socket: bound to 0.0.0.0:5908
(/usr/bin/qemu-system-ppc64:40654): Spice-Debug **:
red_channel.c:1078:red_channel_create: channel type 1 id 0 thread_id
0x3fff9a60ea40
(/usr/bin/qemu-system-ppc64:40654): Spice-Debug **:
red_channel.c:1078:red_channel_create: channel type 3 id 0 thread_id
0x3fff9a60ea40
(/usr/bin/qemu-system-ppc64:40654): Spice-Info **:
reds.c:3141:spice_server_add_interface: SPICE_INTERFACE_MIGRATION
(/usr/bin/qemu-system-ppc64:40654): Spice-Info **:
reds.c:3062:spice_server_add_interface: SPICE_INTERFACE_KEYBOARD
(/usr/bin/qemu-system-ppc64:40654): Spice-Info **:
reds.c:3072:spice_server_add_interface: SPICE_INTERFACE_MOUSE
QEMU 2.2.1 monitor - type 'help' for more information
(qemu) (/usr/bin/qemu-system-ppc64:40654): Spice-Info **:
reds.c:3084:spice_server_add_interface: SPICE_INTERFACE_QXL
(/usr/bin/qemu-system-ppc64:40654): Spice-Debug **:
red_dispatcher.c:1098:red_dispatcher_init:
red_dispatcher->async_commands.next 0x1003f795c88
(/usr/bin/qemu-system-ppc64:40654): SpiceWorker-Info **:
red_worker.c:11967:red_worker_main: begin
(/usr/bin/qemu-system-ppc64:40654): SpiceWorker-Info **:
red_worker.c:10498:display_channel_create: create display channel
(/usr/bin/qemu-system-ppc64:40654): Spice-Debug **:
red_channel.c:1078:red_channel_create: channel type 2 id 0 thread_id
0x3fff86ffef30
(/usr/bin/qemu-system-ppc64:40654): SpiceWorker-Info **:
red_worker.c:10753:cursor_channel_create: create cursor channel
(/usr/bin/qemu-system-ppc64:40654): Spice-Debug **:
red_channel.c:1078:red_channel_create: channel type 4 id 0 thread_id
0x3fff86ffef30
(/usr/bin/qemu-system-ppc64:40654): SpiceWorker-Debug **:
red_worker.c:11141:dev_create_primary_surface:
(/usr/bin/qemu-system-ppc64:40654): Spice-Debug **:
red_dispatcher.c:833:red_dispatcher_on_vm_start:

(qemu) info spice
Server:
     address: *:5908
    migrated: false
        auth: none
    compiled: 0.12.5
  mouse-mode: server
Channels: none
(qemu) (/usr/bin/qemu-system-ppc64:40654): SpiceWorker-Debug **:
red_worker.c:11190:dev_destroy_primary_surface:
(/usr/bin/qemu-system-ppc64:40654): SpiceWorker-Debug **:
red_worker.c:11141:dev_create_primary_surface:
(/usr/bin/qemu-system-ppc64:40654): SpiceWorker-Debug **:
red_worker.c:1236:monitors_config_decref: freeing monitors config
(qemu)
(qemu)
(qemu)
(qemu)
(qemu)
(qemu)
(qemu)
(qemu) (/usr/bin/qemu-system-ppc64:40654): Spice-Info **:
reds.c:2024:reds_handle_auth_mechanism: Auth method: 16777216
(/usr/bin/qemu-system-ppc64:40654): Spice-Info **:
reds.c:1561:reds_handle_main_link:
(/usr/bin/qemu-system-ppc64:40654): Spice-Info **: reds.c:522:reds_disconnect:
(/usr/bin/qemu-system-ppc64:40654): Spice-Info **:
reds.c:1430:reds_info_new_channel: channel 1:0, connected
successfully, over Non Secure link
main_channel_link: add main channel client
(/usr/bin/qemu-system-ppc64:40654): Spice-Info **:
reds.c:1600:reds_handle_main_link: NEW Client 0x1003f88d800 mcc
0x1003f934be0 connect-id 1819530804
main_channel_handle_parsed: net test: latency 69.319000 ms, bitrate
848384424 bps (809.082436 Mbps)
(/usr/bin/qemu-system-ppc64:40654): Spice-Debug **:
red_channel.c:839:red_channel_client_start_connectivity_monitoring:
(/usr/bin/qemu-system-ppc64:40654): Spice-Debug **:
red_channel.c:1521:red_channel_client_handle_pong: update roundtrip
0.44(ms)

(qemu) info spice
Server:
     address: *:5908
    migrated: false
        auth: none
    compiled: 0.12.5
  mouse-mode: server
Channel:
     address: 10.10.1.75:52857
     session: 1819530804
     channel: 1:0


[root at rhtest ~]# remote-viewer --spice-debug --spice-disable-audio
spice://10.10.0.30?port=5908
(remote-viewer:4754): GSpice-DEBUG: spice-session.c:172 New session
(compiled from package spice-gtk 0.20)
(remote-viewer:4754): GSpice-DEBUG: spice-session.c:176 Supported
channels: main, display, inputs, cursor, playback, record, smartcard,
usbredir
(remote-viewer:4754): GSpice-DEBUG: usb-device-manager.c:856 device
added 0x1726310
(remote-viewer:4754): GSpice-DEBUG: usb-device-manager.c:856 device
added 0x1726420
(remote-viewer:4754): GSpice-DEBUG: usb-device-manager.c:856 device
added 0x1725b50
(remote-viewer:4754): GSpice-DEBUG: usb-device-manager.c:856 device
added 0x1726110
(remote-viewer:4754): GSpice-DEBUG: spice-session.c:1623 session:
disconnecting 0
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:127 main-1:0:
spice_channel_constructed
(remote-viewer:4754): GSpice-DEBUG: spice-session.c:1930 main-1:0: new
main channel, switching
(remote-viewer:4754): GSpice-DEBUG: spice-gtk-session.c:809 Changing
main channel from (nil) to 0x17436f0
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:2385 main-1:0:
Open coroutine starting 0x17436f0
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:2231 main-1:0:
Started background coroutine 0x1743780
(remote-viewer:4754): GSpice-DEBUG: spice-session.c:1743 connecting
0x7f3abc0819c0...
(remote-viewer:4754): GSpice-DEBUG: spice-session.c:1812 open host
10.10.0.30:5908
(remote-viewer:4754): GSpice-DEBUG: spice-session.c:1729 connect ready
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:1163 main-1:0:
channel type 1 id 0 num common caps 1 num caps 1
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:1194 main-1:0:
Peer version: 2:2
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:1691 main-1:0:
spice_channel_recv_link_msg: 2 caps
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:1701 main-1:0: got
common caps 0:0xB
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:1707 main-1:0: got
channel caps 0:0x9
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:2619 test cap 0 in 0xB: yes
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:2619 test cap 2 in 0xB: no
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:2619 test cap 1 in 0xB: yes
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:2619 test cap 3 in 0xB: yes
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:1736 main-1:0: use
mini header: 1
(remote-viewer:4754): GSpice-DEBUG: spice-channel.c:1100 main-1:0:
channel up, state 2
(remote-viewer:4754): GSpice-DEBUG: spice-session.c:2019 set mm time: 3201537210
(remote-viewer:4754): GSpice-DEBUG: spice-session.c:2022
spice_session_set_mm_time: mm-time-reset, old 759777878, new
3201537210
(remote-viewer:4754): GSpice-DEBUG: channel-main.c:1494 server uuid:
00000000-0000-0000-0000-000000000000

(remote-viewer:4754): GSpice-CRITICAL **: failed to parse message:
main-1:0 type 104
(remote-viewer:4754): GSpice-DEBUG: spice-gtk-session.c:464
clipboard_get_targets:
(remote-viewer:4754): GSpice-DEBUG: spice-gtk-session.c:468  "TIMESTAMP"
(remote-viewer:4754): GSpice-DEBUG: spice-gtk-session.c:468  "TARGETS"
(remote-viewer:4754): GSpice-DEBUG: spice-gtk-session.c:468  "MULTIPLE"
(remote-viewer:4754): GSpice-DEBUG: spice-gtk-session.c:468  "UTF8_STRING"
(remote-viewer:4754): GSpice-DEBUG: spice-gtk-session.c:468  "COMPOUND_TEXT"
(remote-viewer:4754): GSpice-DEBUG: spice-gtk-session.c:468  "TEXT"
(remote-viewer:4754): GSpice-DEBUG: spice-gtk-session.c:468  "STRING"
(remote-viewer:4754): GSpice-DEBUG: spice-gtk-session.c:468
"text/plain;charset=utf-8"
(remote-viewer:4754): GSpice-DEBUG: spice-gtk-session.c:468  "text/plain"

>
> Regards,
>      Uri.
>
>>>
>>> [root at power ~]# SPICE_LOG_LEVEL_DEBUG=5 /usr/bin/qemu-system-ppc64
>>> -spice port=5908,disable-ticketing
>>> main_channel_link: add main channel client
>>> main_channel_handle_parsed: net test: latency 304.899000 ms, bitrate
>>> 1023488255 bps (976.074462 Mbps)
>>>
>>>
>>> [root at rhtest ~]# remote-viewer --spice-debug --spice-disable-audio
>>> spice://10.10.0.30?port=5908
>>> (remote-viewer:8211): GSpice-DEBUG: spice-session.c:172 New session
>>> (compiled from package spice-gtk 0.20)
>>> (remote-viewer:8211): GSpice-DEBUG: spice-session.c:176 Supported
>>> channels: main, display, inputs, cursor, playback, record, smartcard,
>>> usbredir
>>> (remote-viewer:8211): GSpice-DEBUG: usb-device-manager.c:856 device
>>> added 0xe78310
>>> (remote-viewer:8211): GSpice-DEBUG: usb-device-manager.c:856 device
>>> added 0xe78420
>>> (remote-viewer:8211): GSpice-DEBUG: usb-device-manager.c:856 device
>>> added 0xe77b50
>>> (remote-viewer:8211): GSpice-DEBUG: usb-device-manager.c:856 device
>>> added 0xe78110
>>> (remote-viewer:8211): GSpice-DEBUG: spice-session.c:1623 session:
>>> disconnecting 0
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:127 main-1:0:
>>> spice_channel_constructed
>>> (remote-viewer:8211): GSpice-DEBUG: spice-session.c:1930 main-1:0: new
>>> main channel, switching
>>> (remote-viewer:8211): GSpice-DEBUG: spice-gtk-session.c:809 Changing
>>> main channel from (nil) to 0xe956f0
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:2385 main-1:0:
>>> Open coroutine starting 0xe956f0
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:2231 main-1:0:
>>> Started background coroutine 0xe95780
>>> (remote-viewer:8211): GSpice-DEBUG: spice-session.c:1743 connecting
>>> 0x7f2babfc59c0...
>>> (remote-viewer:8211): GSpice-DEBUG: spice-session.c:1812 open host
>>> 10.10.0.30:5908
>>> (remote-viewer:8211): GSpice-DEBUG: spice-session.c:1729 connect ready
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:1163 main-1:0:
>>> channel type 1 id 0 num common caps 1 num caps 1
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:1194 main-1:0:
>>> Peer version: 2:2
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:1691 main-1:0:
>>> spice_channel_recv_link_msg: 2 caps
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:1701 main-1:0: got
>>> common caps 0:0xB
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:1707 main-1:0: got
>>> channel caps 0:0x9
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:2619 test cap 0 in
>>> 0xB: yes
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:2619 test cap 2 in
>>> 0xB: no
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:2619 test cap 1 in
>>> 0xB: yes
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:2619 test cap 3 in
>>> 0xB: yes
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:1736 main-1:0: use
>>> mini header: 1
>>> (remote-viewer:8211): GSpice-DEBUG: spice-channel.c:1100 main-1:0:
>>> channel up, state 2
>>> (remote-viewer:8211): GSpice-DEBUG: spice-session.c:2019 set mm time:
>>> 2431229369
>>> (remote-viewer:8211): GSpice-DEBUG: spice-session.c:2022
>>> spice_session_set_mm_time: mm-time-reset, old 743596488, new
>>> 2431229369
>>> (remote-viewer:8211): GSpice-DEBUG: channel-main.c:1494 server uuid:
>>> 00000000-0000-0000-0000-000000000000
>>>
>
>


-- 
Regards,
Denis


More information about the Spice-devel mailing list