Compare commits
4 Commits
configchec
...
feature/KA
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4af59dbdf7 | ||
|
|
7d85ae014a | ||
|
|
8c2c099342 | ||
|
|
314e7e9615 |
2
.gitmodules
vendored
2
.gitmodules
vendored
@@ -1,4 +1,4 @@
|
|||||||
[submodule "kasmweb"]
|
[submodule "kasmweb"]
|
||||||
path = kasmweb
|
path = kasmweb
|
||||||
url = https://github.com/kasmtech/noVNC.git
|
url = https://github.com/kasmtech/noVNC.git
|
||||||
branch = bugfix/KASM-2053_video_quality
|
branch = master
|
||||||
|
|||||||
@@ -210,7 +210,13 @@ endif()
|
|||||||
set(HAVE_PAM ${ENABLE_PAM})
|
set(HAVE_PAM ${ENABLE_PAM})
|
||||||
|
|
||||||
# Check for SSE2
|
# Check for SSE2
|
||||||
check_cxx_compiler_flag(-msse2 COMPILER_SUPPORTS_SSE2)
|
# Arm is not SSE2 but say it is and use sse2neon.h to convert to neon
|
||||||
|
check_cxx_compiler_flag("-march=armv8-a" COMPILER_ARM)
|
||||||
|
if(COMPILER_ARM)
|
||||||
|
set(COMPILER_SUPPORTS_SSE2 1)
|
||||||
|
else()
|
||||||
|
check_cxx_compiler_flag(-msse2 COMPILER_SUPPORTS_SSE2)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Generate config.h and make sure the source finds it
|
# Generate config.h and make sure the source finds it
|
||||||
configure_file(config.h.in config.h)
|
configure_file(config.h.in config.h)
|
||||||
|
|||||||
@@ -135,6 +135,7 @@ These instructions assume KasmVNC has been cloned at $HOME and ```kasm_www.tar.g
|
|||||||
cd ~
|
cd ~
|
||||||
tar -zxf kasm_www.tar.gz -C KasmVNC/builder/
|
tar -zxf kasm_www.tar.gz -C KasmVNC/builder/
|
||||||
cd KasmVNC
|
cd KasmVNC
|
||||||
|
sed -i 's/^build_www_dir$/#build_www_dir/' builder/build-tarball
|
||||||
sudo builder/build-package ubuntu bionic
|
sudo builder/build-package ubuntu bionic
|
||||||
```
|
```
|
||||||
The resulting deb package can be found under ~/KasmVNC/builder/build/bionic
|
The resulting deb package can be found under ~/KasmVNC/builder/build/bionic
|
||||||
|
|||||||
@@ -107,7 +107,12 @@ set(SCALE_DUMMY_SOURCES
|
|||||||
scale_dummy.cxx)
|
scale_dummy.cxx)
|
||||||
|
|
||||||
if(COMPILER_SUPPORTS_SSE2)
|
if(COMPILER_SUPPORTS_SSE2)
|
||||||
|
if(COMPILER_ARM)
|
||||||
|
# This is for Graviton2, adjust for other CPUs: -march=armv8-a+crc+crypto
|
||||||
|
set_source_files_properties(${SSE2_SOURCES} PROPERTIES COMPILE_FLAGS ${COMPILE_FLAGS} -march=armv8.2-a+fp16+rcpc+dotprod+crypto)
|
||||||
|
else()
|
||||||
set_source_files_properties(${SSE2_SOURCES} PROPERTIES COMPILE_FLAGS ${COMPILE_FLAGS} -msse2)
|
set_source_files_properties(${SSE2_SOURCES} PROPERTIES COMPILE_FLAGS ${COMPILE_FLAGS} -msse2)
|
||||||
|
endif()
|
||||||
set(RFB_SOURCES
|
set(RFB_SOURCES
|
||||||
${RFB_SOURCES}
|
${RFB_SOURCES}
|
||||||
${SSE2_SOURCES}
|
${SSE2_SOURCES}
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ void ConnParams::setEncodings(int nEncodings, const rdr::S32* encodings)
|
|||||||
break;
|
break;
|
||||||
case pseudoEncodingPreferBandwidth:
|
case pseudoEncodingPreferBandwidth:
|
||||||
if (!rfb::Server::ignoreClientSettingsKasm && canChangeSettings)
|
if (!rfb::Server::ignoreClientSettingsKasm && canChangeSettings)
|
||||||
Server::preferBandwidth.setParam(true);
|
Server::preferBandwidth.setParam();
|
||||||
break;
|
break;
|
||||||
case pseudoEncodingMaxVideoResolution:
|
case pseudoEncodingMaxVideoResolution:
|
||||||
if (!rfb::Server::ignoreClientSettingsKasm && canChangeSettings)
|
if (!rfb::Server::ignoreClientSettingsKasm && canChangeSettings)
|
||||||
|
|||||||
@@ -356,13 +356,6 @@ void EncodeManager::doUpdate(bool allowLossy, const Region& changed_,
|
|||||||
if (conn->cp.kasmPassed[ConnParams::KASM_MAX_VIDEO_RESOLUTION])
|
if (conn->cp.kasmPassed[ConnParams::KASM_MAX_VIDEO_RESOLUTION])
|
||||||
updateMaxVideoRes(&maxVideoX, &maxVideoY);
|
updateMaxVideoRes(&maxVideoX, &maxVideoY);
|
||||||
|
|
||||||
// The dynamic quality params may have changed
|
|
||||||
if (Server::dynamicQualityMax && Server::dynamicQualityMax <= 9 &&
|
|
||||||
Server::dynamicQualityMax > Server::dynamicQualityMin) {
|
|
||||||
dynamicQualityMin = Server::dynamicQualityMin;
|
|
||||||
dynamicQualityOff = Server::dynamicQualityMax - Server::dynamicQualityMin;
|
|
||||||
}
|
|
||||||
|
|
||||||
prepareEncoders(allowLossy);
|
prepareEncoders(allowLossy);
|
||||||
|
|
||||||
changed = changed_;
|
changed = changed_;
|
||||||
|
|||||||
@@ -51,7 +51,9 @@ namespace rfb {
|
|||||||
|
|
||||||
bool supportsSSE2() {
|
bool supportsSSE2() {
|
||||||
getcpuid();
|
getcpuid();
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__aarch64__)
|
||||||
|
return true;
|
||||||
|
#elif defined(__x86_64__) || defined(__i386__)
|
||||||
#define bit_SSE2 (1 << 26)
|
#define bit_SSE2 (1 << 26)
|
||||||
return cpuid[3] & bit_SSE2;
|
return cpuid[3] & bit_SSE2;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -16,7 +16,11 @@
|
|||||||
* USA.
|
* USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef __aarch64__
|
||||||
|
#include "sse2neon.h"
|
||||||
|
#else
|
||||||
#include <emmintrin.h>
|
#include <emmintrin.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <rfb/scale_sse2.h>
|
#include <rfb/scale_sse2.h>
|
||||||
|
|
||||||
|
|||||||
8776
common/rfb/sse2neon.h
Normal file
8776
common/rfb/sse2neon.h
Normal file
File diff suppressed because it is too large
Load Diff
2
kasmweb
2
kasmweb
Submodule kasmweb updated: 1adce75ee1...b5a1586c0a
Reference in New Issue
Block a user