ikvm on AST2500

Jae Hyun Yoo jae.hyun.yoo at linux.intel.com
Fri Jan 24 04:20:49 AEDT 2020


Hello Konstantin,

On 1/23/2020 6:59 AM, Konstantin Klubnichkin wrote:
> Hello all!
> I'm trying to make ikvm alive on AST2500 BMC on a custom motherboard.
> So far I was able to compile in video-engine and set it up in DTS 
> (together with shared memory), obmc-ikvm is also there.
> After BMC is up there is /dev/video0 device.
> So I've done dd if=/dev/video0 of=/tmp/video.jpeg, terminated dd after 
> couple of seconds, uploaded video.jpeg and opened it with image viewer - 
> it's JPEG file with the screen image on it. From this I conclude that 
> kernel driver is working, DTS is configured correctly and hardware is 
> operational.
> But if I ssh to BMC with -L 5900:127.0.0.1:5900, and then run vncviewer 
> 127.0.0.1 I see only black screen. The resolution is correct, but it's 
> just black.
> vncviewer reports:
> ==============================================
> $ vncviewer 127.0.0.1
> Connected to RFB server, using protocol version 3.8
> No authentication needed
> Authentication successful
> Desktop name "OpenBMC IKVM"
> VNC server default format:
> 32 bits per pixel.
> Least significant byte first in each pixel.
> True colour: max red 255 green 255 blue 255, shift red 0 green 8 blue 16
> Using default colormap which is TrueColor. Pixel format:
> 32 bits per pixel.
> Least significant byte first in each pixel.
> True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
> Same machine: preferring raw encoding
> ==============================================
> obmc-ikvm also pretends to work:
> ==============================================
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 Got 
> connection from client 127.0.0.1
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 0 other 
> clients
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 Client 
> Protocol Version 3.8
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 Protocol 
> version sent 3.8, using 3.8
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 
> rfbProcessClientSecurityType: executing handler for type 1
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 
> rfbProcessClientSecurityType: returning securityResult for client rfb 
> version >= 3.8
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 Pixel 
> format for client 127.0.0.1:
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 32 bpp, 
> depth 24, little endian
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 true 
> colour: max r 255 g 255 b 255, shift r 16 g 8 b 0
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 Using 
> compression level 1 for client 127.0.0.1
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 Using 
> image quality level 6 for client 127.0.0.1
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 Using JPEG 
> subsampling 0, Q79 for client 127.0.0.1
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 Enabling 
> X-style cursor updates for client 127.0.0.1
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 Enabling 
> full-color cursor updates for client 127.0.0.1
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 Enabling 
> cursor position updates for client 127.0.0.1
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 Enabling 
> LastRect protocol extension for client 127.0.0.1
> Jan 01 00:02:25 purley-mb obmc-ikvm[257]: 01/01/1970 00:02:25 Using raw 
> encoding for client 127.0.0.1
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 Client 
> 127.0.0.1 gone
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 Statistics 
> events Transmit/ RawEquiv ( saved)
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 
> FramebufferUpdate : 1 | 0/ 0 ( 0.0%)
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 raw : 1 | 
> 1920012/ 1920012 ( 0.0%)
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 PointerPos 
> : 1 | 12/ 12 ( 0.0%)
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 RichCursor 
> : 1 | 1684/ 1684 ( 0.0%)
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 TOTALS : 4 
> | 1921708/ 1921708 ( 0.0%)
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 Statistics 
> events Received/ RawEquiv ( saved)
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 
> ClientCutText : 1 | 30/ 30 ( 0.0%)
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 
> PointerEvent : 357 | 2142/ 2142 ( 0.0%)
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 
> FramebufferUpdate : 2 | 20/ 20 ( 0.0%)
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 
> SetEncodings : 1 | 56/ 56 ( 0.0%)
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 
> SetPixelFormat : 1 | 20/ 20 ( 0.0%)
> Jan 01 00:04:57 purley-mb obmc-ikvm[257]: 01/01/1970 00:04:57 TOTALS : 
> 362 | 2268/ 2268 ( 0.0%)
> ==============================================
> So I think that somehow ikvm is not able to correctly recode image from 
> jpeg (as it supplied by hardware and driver) into VNC compatible format.
> Could you please give an advice how to fix it?

Please give it a try again using TightVNC viewer. ikvm uses the Tight
encoding so viewer should support the format. Or, you can use bmcweb
instead.

Cheers,

Jae


> Thank you!
> -- 
> Best regards,
> Konstantin Klubnichkin,
> lead firmware engineer,
> server hardware R&D group,
> Yandex Moscow office.
> tel: +7-903-510-33-33


More information about the openbmc mailing list