Commit Graph

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 80afa98d66.
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 d23fd902d7.
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