175 Commits

Author SHA1 Message Date
21pages
0f44de7dc3
refactor windows specific session (#7170)
1. Modify the process to have the control side lead the session switching: After the control side sends a `LoginRequest`, the controlled side will add all session information and the current session ID in the `LoginResponse`. Upon receiving the `LoginResponse`, the control side will check if the current session ID matches the ID in the `LoginConfigHandler`. If they match, the control side will send the current session ID. If they don't match, a session selection dialog will pop up, the selected session id will be sent. Upon receiving this message, the controlled side will restart if different or sub service if same .
2. Always show physical console session on the top
3. Show running session and distinguish sessions with the same name
4. Not sub service until correct session id is ensured
5. Fix switch sides not work for multisession session
6. Remove all session string join/split except get_available_sessions in
   windows.rs
7. Fix prelogin, when share rdp is enabled and there is a rdp session,
   the console is in login screen, get_active_username will be the rdp's
   username and prelogin will be false, cm can't be created an that
   causes disconnection in a loop
8. Rename all user session to windows session

Known issue:
1. Use current process session id for `run_as_user`, sahil says it can
   be wrong but I didn't reproduce.
2. Have not change tray process to current session
3. File transfer doesn't update home directory when session changed
4. When it's in login screen, remote file directory is empty, because cm
   have not start up

Signed-off-by: 21pages <pages21@163.com>
2024-02-18 22:08:25 +08:00
wesley800
c97cc15c0e
Warn on MIT-SHM not working on Linux X11 (#6856)
* Clarify video capture method

* fix improper level of pointer usage of xcb_generic_error_t

* add ffi of xcb_shm_query_version

* throw a warn about MIT-SHM not working

* add missing #[cfg]

* checks SHM validity on the fly, rather than cache on creation

---------

Co-authored-by: root <root@localhost>
Co-authored-by: rustdesk-fork <rustdesk@fork.com>
2024-01-31 17:49:09 +08:00
21pages
89150317e1
add zero copy mode hareware codec for windows (#6778)
Signed-off-by: 21pages <pages21@163.com>
2024-01-02 16:58:10 +08:00
21pages
e873188775
use official async trait (#6765)
Signed-off-by: 21pages <pages21@163.com>
2023-12-29 16:41:49 +08:00
21pages
6953efc2d8
fix last commit, snapshot for sending to new subscribers (#6762)
Signed-off-by: 21pages <pages21@163.com>
2023-12-29 13:41:33 +08:00
21pages
3e78aacc7e
add snapshot before sending SwitchDisplay (#6760)
Signed-off-by: 21pages <pages21@163.com>
2023-12-28 21:34:54 +08:00
RustDesk
ebb14af488
Revert "use fullrange by default for yuv420p if supported (#6655)" (#6656)
This reverts commit 80afa98d667db773d9451aa1ecc9c1d53d2a5828.
2023-12-11 22:46:32 +08:00
21pages
80afa98d66
use fullrange by default for yuv420p if supported (#6655)
1. Explicitly specify the color space as bt601
2. Use fullrange by default for yuv420p if supported
3. Use the pix_fmt space range format to identify codec capabilities, make i444 proto field deprecated, and cause the non-release version of 444 true color to fail.

Signed-off-by: 21pages <pages21@163.com>
2023-12-11 22:31:01 +08:00
21pages
2de1c62daf wake lock for all connection type
Signed-off-by: 21pages <pages21@163.com>
2023-11-25 17:43:07 +08:00
21pages
bd81e4d0fb android video service wakelock
Signed-off-by: 21pages <pages21@163.com>
2023-11-24 12:02:45 +08:00
fufesou
85ddfc0739 remove redundent global variables
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 07:41:06 +08:00
21pages
f9ee0189f0 format log, add space after colon
Signed-off-by: 21pages <pages21@163.com>
2023-11-18 09:52:46 +08:00
fufesou
90ac8b7b0b feat/virtual_display_privacy_mode
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-14 12:11:38 +08:00
RustDesk
627d21a00a
Revert "Fix, windows display orders" 2023-11-13 17:31:55 +08:00
fufesou
8f8c9ddc25 Fix, windows display orders
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-12 00:08:16 +08:00
21pages
f05f86dc80 444
Signed-off-by: 21pages <pages21@163.com>
2023-10-30 18:46:56 +08:00
fufesou
725a44abd8 feat, win virtual display
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-27 20:12:33 +08:00
dignow
b3948910ff fix is x11, on conn
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-21 13:10:51 +08:00
21pages
510cffb305 av1 record, set zero codec private
Signed-off-by: 21pages <pages21@163.com>
2023-10-18 19:28:12 +08:00
dignow
b55c916e77 add comments
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 11:39:05 +08:00
dignow
4d537b2a9a fix/change_display_resolution, send change resolution message
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 11:35:28 +08:00
dignow
21f7d6c9b9 fix/change_display_resolution, send switch display msg
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 10:45:46 +08:00
dignow
c1b865d00e fix, change_display_resolution, add comments
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 09:59:02 +08:00
dignow
a32e740242 fix build linux
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 08:07:10 +08:00
dignow
c4f09b5598 fix, change display resolution
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 07:44:12 +08:00
rustdesk
3702b0c694 fix ci 2023-10-15 11:56:56 +08:00
rustdesk
63ba4f4f91 fix ci 2023-10-15 11:44:44 +08:00
rustdesk
5f92465d0f move is_x11 out of loop, https://github.com/rustdesk/rustdesk/discussions/6042 2023-10-15 11:30:45 +08:00
dignow
013d307bcd feat, multi_flutter_ui_sessions
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-14 12:26:24 +08:00
fufesou
db2e4f30a7 Privacy mode, msgbox, add details
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-17 10:53:04 +08:00
fufesou
173984ffd4 remove virtual display, beccause it sometimes unable to install(with the exclamation) and there's an connecting bug
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-28 10:44:24 +08:00
fufesou
4dd694ab05 better way to detect no displays
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-27 11:12:02 +08:00
dignow
0d6356c855 Fix, do not restore resolution if it is not changed through the session
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-13 22:38:47 +08:00
21pages
9905695699 enable keyframe interval when recording
Signed-off-by: 21pages <pages21@163.com>
2023-08-07 21:32:36 +08:00
21pages
aa740f4263 remove many unwrap and enum_value_or_default
Signed-off-by: 21pages <pages21@163.com>
2023-07-23 20:00:58 +08:00
21pages
31b3c5d721 codec thread count depending on cpu condition
Signed-off-by: 21pages <pages21@163.com>
2023-07-23 20:00:52 +08:00
21pages
2133f91089 codec set quality seperately and refactor network delay
Signed-off-by: 21pages <pages21@163.com>
2023-07-23 19:54:42 +08:00
21pages
633c80d5e4 Revert "vpx use webrtc parameter"
This reverts commit d23fd902d766cbcdf6e81d9ec7991a9e8eabbfe1.
2023-07-23 19:54:42 +08:00
21pages
fd9f5475f3 multiuser video qos and client increace fps support
Signed-off-by: 21pages <pages21@163.com>
2023-07-23 19:54:42 +08:00
fufesou
7bc98ee434 simple refactor
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-07-16 08:41:32 +08:00
fufesou
2051bee3cf fix, wayland, change resolutions
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-07-16 08:29:26 +08:00
rustdesk
8ab2a79fa2 refactoring conn audit, add session_id (both session_id and conn_id on
sever side), use session_id instead of conn_id for client id, and remove
conn_id in protobuf
2023-07-01 16:21:36 +08:00
dignow
2c0918fc06 debug done
Signed-off-by: dignow <linlong1265@gmail.com>
2023-06-29 22:25:01 +08:00
fufesou
626e630c9b remove unused function
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-06-07 20:57:01 +08:00
RustDesk
5a87652ef3
<= 800 2023-06-06 21:27:03 +08:00
fufesou
205798b611 debug virtual display with dummy one
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-06-05 23:41:45 +08:00
fufesou
42e8971793 enable virtual display if only one dummy display
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-06-05 23:39:30 +08:00
RustDesk
12fc280ca6
Merge pull request #4557 from 21pages/wakelock2
keep server device awake if have connection
2023-06-05 23:27:55 +08:00
fufesou
3c2bf2c154 debug restore resolutions
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-06-05 20:33:24 +08:00
21pages
98740dbfd7 keep server device awake if have connection
Signed-off-by: 21pages <pages21@163.com>
2023-06-05 20:26:57 +08:00