| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
We cannot run without configfs. Don't attempt to start if we find
ourselves in that situation.
Change-Id: I67515d2eaaf982f6750aae6e90a939873338a77c
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
|
| |
It made sense to support both build systems while OpenBMC transitioned
but that has been complete for some time - No need to support multiple
build systems any longer.
Change-Id: Ib698163f53a4f493f20491c54851247c5700f13e
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the application is waiting for timings, it restarts the video to
try and get a signal. Part of this process sends a wake-up signal on
the virtual keyboard and pointer in case host VGA has slept. But if the
host is shut down, this causes repeated errors in the journal as the
HID gadgets return errors.
Fix this by consolidating the keyboard/pointer write functions and
therefore closing the HID gadget file handles when the host is shut
down, preventing further wake-up attempts until host returns.
Change-Id: Id5fe484c976eccefa6a72393d4d6b2b301d28a1a
Signed-off-by: Eddie James <eajames@linux.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we have flow control logic, better remove the frame rate limit
to improve frame update speed as faster as it can provide. So this
commit removes the limit parameter so that it can use the default
30fps setting.
Tested: It didn't make bmcweb crash which is caused by frame data
flooding. Frame update speed little bit faster than before.
Change-Id: I30ec8f2c4124e27c20261b87042fb094160d27f8
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This service uses direct frame update with bypassing image
compression and invalidating logic in libvncserver to achieve
better performance by using of H/W compressed JPEG frames as those
come from the video engine driver.
This behavior helps quick frame update using very small amount of
CPU resources but it causes a side effect which crashes bmcweb
by OOM killer due to a buffer over run issue. Usually, this issue
happens often in a slow speed connection because this service
keeps sending all frames without any handshaking with clients so
a session buffer in the bmcweb gets bigger and bigger since the
low speed connection can't send all stream data on time.
To fix this issue, this commit adds flow control logic to make
frame updating handshakes with client so that it'll send frames
only when it recieved client frame update messages. All other
frames when the client doesn't request will be dropped out to
prevent the buffer over run issue.
Tested:
bmcweb didn't keep increasing its KVM session buffer.
KVM worked well with showing good refresh speed.
resolves https://github.com/openbmc/bmcweb/issues/80
Change-Id: I6b09a711137d15a38fce59adada9bf3d00afde86
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
|
|
|
|
|
|
|
| |
This commit makes keypad inputs available.
Change-Id: I95a9268cd930c85846947b6bd49c97087121ca8a
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
|
|
|
|
|
|
|
| |
Add Jae as a maintainer.
Change-Id: I520b8da04d64ccd186ec22a68e0e38929c7bed68
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
| |
When the USB gadget is shut down, the application needs to avoid writes
to it in order to avoid lots of errors in the kernel log. Close the file
handle and re-open it when timings are detected again. Also, prevent
logging the failed timings query more than once.
Change-Id: Ic126828fe26ef44ebb0a5cb65cc47b23bb84f7f3
Signed-off-by: Eddie James <eajames@linux.ibm.com>
|
|
|
|
|
|
|
|
| |
Reduce the framerate to 16 from the default 30. In testing with high
latency or low bandwidth situations, 30 fps is unusable.
Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: Idf6ce9da4556a53500507dcf9d02a4425cba9a1b
|
|
|
|
|
|
|
|
|
| |
Writes to the pointer gadget can hang if the host has no cursor. Using
non-blocking mode prevents this hanging. Also prevent repeated error
logging due to pointer write failures in this case.
Change-Id: I9c423a4a0af4b37a69ae20650b86a6266e5b4b41
Signed-off-by: Eddie James <eajames@linux.ibm.com>
|
|
|
|
|
| |
Change-Id: If9d19f24c568f4befa6c8b3acc1148149e59daef
Signed-off-by: John Wang <wangzqbj@inspur.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Mouse and Keyboard wake up event were being sent only when an
error happens while opening the video dev entry so KVM service
can't wake up the host video. To fix this issue, this commit makes
video::start send the wake up packet always at the beginning of
video streaming.
Change-Id: I1004b7a3cc552d210080a12157e66233b33293bf
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
|
|
|
|
|
|
|
| |
Add a unit file for starting obmc-ikvm with systemd.
Change-Id: I85bc8c5d9682b48aedeb3670a61179267798d4f7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
| |
Change-Id: Ib22d670aed7b17cd1722e8cc915bd8850ce22475
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
KVM sometimes stops when video mode is changed. This commit adds
video restarting logic for the case.
Tested:
1. Open BMCWeb -> Server control -> KVM
2. Checked KVM screen update while restarting the host. It
updates all frames even when video mode changes happen.
Change-Id: If986394110986e49a6eaac1ae2859208fa7681f5
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a video start/stop sync issue inbetween ikvm server and
ikvm manager because newClient and clientGone callbacks are called
by a different thread from libvncserver. To fix this issue, this
commit moves the video.start() call from server to manager to
unify video control thread.
Tested:
Open KVM web page and reload the web page by pressing F5.
KVM page should be reloaded correctly.
Change-Id: Ic0d14ea712510318e9e8f45615a95e82aeaaddf1
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
|
|
|
|
|
|
|
|
| |
This application links with libvncserver, which is GPL 2, and therefore
needs to be licensed as GPL 2 also.
Change-Id: I8807e110653782773263e36b94f69af885901aee
Signed-off-by: Eddie James <eajames@linux.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Mapping of a mouse button event delivered from libvncserver is
different from HID gadget driver so this patch swaps bit position 1
and 2 to map center and right button correctly.
Tested: KVM mouse buttons worked correctly.
Change-Id: Ia1771df6763b906b5cff3041df9095e0c72c892b
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case of big size resolution of host video, mouse pointer
indicates slightly upper left than client GUI pointer. It's caused
by rounding off value below the decimal point on the coordinate
unit. For an example, in 1600x1200 screen size, the x coordinate
unit is 32768 / 1600 = 20.48 but we use 20 after rounding off the
0.48.
To prevent this issue, this commit changes logic of the calculation.
It uses integer operations instead of using floating point
operations for better performance.
Change-Id: Ie1fbb6b41ace997c50982d9542b0b03280b2220f
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
|
|
|
|
|
|
|
|
|
| |
This commit adds a keyboard event sending for waking up the host.
So both keyboard and mouse events will be triggered for a case
when the host is in mode that doesn't support mouse.
Change-Id: I90d9a1e53706cd860340dfd8be688128fa95c4fc
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
|
|
|
|
|
|
|
|
| |
Use the defaults in the pkg check where the default error message is
sufficient to identify which package is missing.
Change-Id: Ic4e819ff68c05e70b51a8212236def7d33f6d750
Signed-off-by: Patrick Venture <venture@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mixed type HID report descriptor in the current trunk doesn't work
well so this patch fixes the HID creation logic to make it use
composite configuration which has separated keyboard and mouse
HID descriptor using a single USB port.
ikvm service also should be changed using below setting after
applying this patch:
ExecStart=/usr/bin/env obmc-ikvm -v /dev/video0 -k /dev/hidg0 -p /dev/hidg1
Change-Id: I9b2975f4fdade2c6030def829951d02b24bea562
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
|
|
|
|
|
|
|
|
| |
This device acts like a USB mouse and keyboard to the host processor to
allow input from the remote user
Change-Id: I932cb6aebb9a0b5e27a35afc6d7f6a4ad989f417
Signed-off-by: Eddie James <eajames@linux.ibm.com>
|
|
|
|
|
| |
Change-Id: Ie69e995dd56f8d2aa7e3828504e29f9993bb2b3c
Signed-off-by: Eddie James <eajames@linux.ibm.com>
|
|
|
|
|
| |
Change-Id: I3532b5ecdef87cb8f64327de6bd22a175b68f865
Signed-off-by: Eddie James <eajames@linux.ibm.com>
|
|
|
|
|
| |
Change-Id: I9fd9cdbc711fb48de542efcaf02d0630ae0872b2
Signed-off-by: Eddie James <eajames@linux.ibm.com>
|
|
|
|
|
|
|
|
| |
The Input class depends on the RFB server and V4L2 video classes, so
add outlines for those as well.
Change-Id: I2826f3da78dee10826e378dfc2c773b891da1f03
Signed-off-by: Eddie James <eajames@linux.ibm.com>
|
|
|
|
|
| |
Change-Id: Ifb8f283733fe4de531859dc895da35a3a01071a0
Signed-off-by: Eddie James <eajames@linux.ibm.com>
|
|
|
|
|
| |
Change-Id: I2e22b954d82817884b5827d23a110a04b74134f3
Signed-off-by: Eddie James <eajames@linux.ibm.com>
|
|
Change-Id: I674f6aa1d85341496ceb352cdecfb35071671508
Signed-off-by: Eddie James <eajames@us.ibm.com>
|