Skip to content
Commits on Source (50)
include:
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/8445ff7af2a68795afb98f486251f2ef8f90621c/templates/fedora.yml'
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/34f4ade99434043f88e164933f570301fd18b125/templates/fedora.yml'
stages:
- prepare
- build
- test
.gnome-remote-desktop.fedora:33@common:
.gnome-remote-desktop.fedora:35@common:
variables:
FDO_DISTRIBUTION_VERSION: 34
BASE_TAG: '2021-08-06.1'
FDO_DISTRIBUTION_VERSION: 35
BASE_TAG: '2022-02-11.0'
FDO_UPSTREAM_REPO: GNOME/gnome-remote-desktop
FDO_DISTRIBUTION_EXEC: |
dnf -y update && dnf -y upgrade &&
......@@ -19,6 +19,8 @@ stages:
# To build
dnf install -y meson &&
dnf builddep -y gnome-remote-desktop &&
dnf install -y 'pkgconfig(epoxy)' 'pkgconfig(libdrm)' 'pkgconfig(gbm)' \
'pkgconfig(gudev-1.0)' &&
# To test
dnf install -y 'pkgconfig(libvncclient)' &&
......@@ -30,10 +32,30 @@ stages:
python3-gobject gnome-settings-daemon mesa-dri-drivers \
xorg-x11-server-Xwayland mutter &&
# To build gsettings-desktop-schemas
dnf builddep -y gsettings-desktop-schemas --setopt=install_weak_deps=False &&
dnf builddep -y gnome-settings-daemon --setopt=install_weak_deps=False &&
dnf builddep -y mutter --setopt=install_weak_deps=False &&
dnf install -y wayland-protocols-devel &&
./.gitlab-ci/install-meson-project.sh \
https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas.git \
master . 469f576b9b18291f858d64f2d8805fc4d578b857 &&
# To build gnome-settings-daemon
./.gitlab-ci/install-meson-project.sh \
https://gitlab.gnome.org/GNOME/gnome-settings-daemon.git \
master . 62325b51b56da15a6da7c8145e550ae047d361ea &&
# To build mutter
./.gitlab-ci/install-meson-project.sh \
https://gitlab.gnome.org/GNOME/mutter.git \
main . f1cf35e1017f06c9fb5fa9bbcc18d434769024c7 &&
dnf clean all
.gnome-remote-desktop.fedora:33@x86_64:
extends: .gnome-remote-desktop.fedora:33@common
.gnome-remote-desktop.fedora:35@x86_64:
extends: .gnome-remote-desktop.fedora:35@common
variables:
FDO_DISTRIBUTION_TAG: "x86_64-${BASE_TAG}"
......@@ -52,7 +74,7 @@ default:
build-fedora-container@x86_64:
extends:
- .fdo.container-build@fedora@x86_64
- .gnome-remote-desktop.fedora:33@x86_64
- .gnome-remote-desktop.fedora:35@x86_64
stage: prepare
variables:
GIT_STRATEGY: none
......@@ -60,7 +82,7 @@ build-fedora-container@x86_64:
build-gnome-remote-desktop:
extends:
- .fdo.distribution-image@fedora
- .gnome-remote-desktop.fedora:33@x86_64
- .gnome-remote-desktop.fedora:35@x86_64
stage: build
script:
- meson . build -Ddebugtype=debugoptimized --werror
......@@ -76,7 +98,7 @@ build-gnome-remote-desktop:
test-gnome-remote-desktop:
extends:
- .fdo.distribution-image@fedora
- .gnome-remote-desktop.fedora:33@x86_64
- .gnome-remote-desktop.fedora:35@x86_64
stage: test
dependencies:
- build-gnome-remote-desktop
......
#!/bin/sh
set -x
pipewire &
sleep 1
wireplumber &
sleep 1
meson test -C build --no-rebuild --verbose --no-stdsplit -t 10
......@@ -12,8 +12,8 @@
/* Defined if VNC backend is enabled */
#mesondefine HAVE_VNC
/* Defined if NVENC is available */
#mesondefine HAVE_NVENC
/* Defined if CUDA is available */
#mesondefine HAVE_HWACCEL_NVIDIA
/* Path of the data dir */
#mesondefine GRD_DATA_DIR
......@@ -23,9 +23,9 @@
.param .u16 convert_2x2_bgrx_area_to_yuv420_nv12_param_7
)
{
.reg .pred %p<15>;
.reg .pred %p<17>;
.reg .b16 %rs<23>;
.reg .b32 %r<127>;
.reg .b32 %r<129>;
.reg .b64 %rd<36>;
......@@ -62,32 +62,32 @@
and.b32 %r6, %r44, 65534;
mov.u32 %r45, 1;
shl.b32 %r46, %r2, 1;
and.b32 %r47, %r46, 65534;
mul.lo.s32 %r48, %r47, %r42;
cvt.u64.u32 %rd9, %r48;
shl.b32 %r49, %r43, 3;
cvt.u64.u32 %rd10, %r49;
and.b32 %r7, %r46, 65534;
mul.lo.s32 %r47, %r7, %r42;
cvt.u64.u32 %rd9, %r47;
shl.b32 %r48, %r43, 3;
cvt.u64.u32 %rd10, %r48;
add.s64 %rd1, %rd9, %rd10;
cvta.to.global.u64 %rd11, %rd7;
add.s64 %rd2, %rd11, %rd1;
setp.lt.u32 %p4, %r47, %r5;
shl.b32 %r50, %r2, 2;
sub.s32 %r51, %r45, %r4;
selp.b32 %r52, 0, %r51, %p4;
mov.u32 %r124, 0;
add.s32 %r53, %r52, %r50;
cvt.u64.u32 %rd12, %r53;
setp.lt.u32 %p4, %r7, %r5;
shl.b32 %r49, %r2, 2;
sub.s32 %r50, %r45, %r4;
selp.b32 %r51, 0, %r50, %p4;
mov.u32 %r126, 0;
add.s32 %r52, %r51, %r49;
cvt.u64.u32 %rd12, %r52;
and.b64 %rd13, %rd12, 65535;
cvt.u64.u16 %rd14, %rs11;
mul.lo.s64 %rd15, %rd13, %rd14;
cvt.u64.u32 %rd16, %r6;
add.s64 %rd17, %rd15, %rd16;
add.s64 %rd3, %rd8, %rd17;
add.s32 %r7, %r47, 1;
and.b32 %r54, %r7, 65535;
add.s32 %r53, %r7, 1;
and.b32 %r54, %r53, 65535;
setp.lt.u32 %p5, %r54, %r5;
shl.b32 %r55, %r7, 1;
selp.b32 %r56, 0, %r51, %p5;
shl.b32 %r55, %r53, 1;
selp.b32 %r56, 0, %r50, %p5;
add.s32 %r57, %r56, %r55;
cvt.u64.u32 %rd18, %r57;
and.b64 %rd19, %rd18, 65535;
......@@ -110,51 +110,53 @@
cvt.u32.u16 %r63, %rs7;
setp.ge.u32 %p7, %r6, %r63;
cvt.u32.u16 %r64, %rs8;
setp.ge.u32 %p8, %r47, %r64;
setp.ge.u32 %p8, %r7, %r64;
mov.u16 %rs21, 0;
or.pred %p9, %p7, %p8;
mov.u16 %rs20, %rs21;
mov.u32 %r125, %r124;
mov.u32 %r126, %r124;
mov.u32 %r127, %r126;
mov.u32 %r128, %r126;
@%p9 bra BB0_3;
ld.global.u8 %rs13, [%rd2];
cvt.u32.u16 %r126, %rs13;
ld.global.u8 %r125, [%rd2+1];
ld.global.u8 %r124, [%rd2+2];
cvt.u32.u16 %r128, %rs13;
ld.global.u8 %r127, [%rd2+1];
ld.global.u8 %r126, [%rd2+2];
mul.wide.u16 %r65, %rs13, 18;
mad.lo.s32 %r66, %r125, 183, %r65;
mad.lo.s32 %r67, %r124, 54, %r66;
mad.lo.s32 %r66, %r127, 183, %r65;
mad.lo.s32 %r67, %r126, 54, %r66;
shr.u32 %r68, %r67, 8;
cvt.u16.u32 %rs20, %r68;
BB0_3:
and.b32 %r73, %r2, 32767;
shl.b32 %r74, %r73, 1;
setp.ge.u32 %p10, %r74, %r64;
st.global.u8 [%rd3], %rs20;
add.s32 %r14, %r6, 1;
setp.ge.u32 %p11, %r14, %r63;
or.pred %p12, %p11, %p10;
or.pred %p12, %p11, %p8;
@%p12 bra BB0_5;
ld.global.u8 %rs15, [%rd2+4];
cvt.u32.u16 %r77, %rs15;
add.s32 %r126, %r77, %r126;
ld.global.u8 %r78, [%rd2+5];
add.s32 %r125, %r78, %r125;
ld.global.u8 %r79, [%rd2+6];
add.s32 %r124, %r79, %r124;
mul.wide.u16 %r80, %rs15, 18;
mad.lo.s32 %r81, %r78, 183, %r80;
mad.lo.s32 %r82, %r79, 54, %r81;
shr.u32 %r83, %r82, 8;
cvt.u16.u32 %rs21, %r83;
cvt.u32.u16 %r71, %rs15;
add.s32 %r128, %r71, %r128;
ld.global.u8 %r72, [%rd2+5];
add.s32 %r127, %r72, %r127;
ld.global.u8 %r73, [%rd2+6];
add.s32 %r126, %r73, %r126;
mul.wide.u16 %r74, %rs15, 18;
mad.lo.s32 %r75, %r72, 183, %r74;
mad.lo.s32 %r76, %r73, 54, %r75;
shr.u32 %r77, %r76, 8;
cvt.u16.u32 %rs21, %r77;
BB0_5:
setp.lt.u32 %p13, %r6, %r63;
st.global.u8 [%rd3+1], %rs21;
setp.lt.u32 %p13, %r7, %r64;
@%p13 bra BB0_7;
and.b32 %r83, %r2, 32767;
shl.b32 %r84, %r83, 1;
add.s32 %r85, %r84, 1;
setp.lt.u32 %p14, %r85, %r64;
and.pred %p15, %p13, %p14;
@%p15 bra BB0_7;
bra.uni BB0_6;
BB0_7:
......@@ -162,37 +164,37 @@ BB0_7:
add.s64 %rd29, %rd1, %rd28;
add.s64 %rd31, %rd11, %rd29;
ld.global.u8 %rs18, [%rd31];
cvt.u32.u16 %r86, %rs18;
add.s32 %r126, %r86, %r126;
ld.global.u8 %r87, [%rd31+1];
add.s32 %r125, %r87, %r125;
ld.global.u8 %r88, [%rd31+2];
add.s32 %r124, %r88, %r124;
mul.wide.u16 %r89, %rs18, 18;
mad.lo.s32 %r90, %r87, 183, %r89;
mad.lo.s32 %r91, %r88, 54, %r90;
shr.u32 %r92, %r91, 8;
st.global.u8 [%rd4], %r92;
cvt.u32.u16 %r88, %rs18;
add.s32 %r128, %r88, %r128;
ld.global.u8 %r89, [%rd31+1];
add.s32 %r127, %r89, %r127;
ld.global.u8 %r90, [%rd31+2];
add.s32 %r126, %r90, %r126;
mul.wide.u16 %r91, %rs18, 18;
mad.lo.s32 %r92, %r89, 183, %r91;
mad.lo.s32 %r93, %r90, 54, %r92;
shr.u32 %r94, %r93, 8;
st.global.u8 [%rd4], %r94;
mov.u16 %rs22, 0;
@%p11 bra BB0_9;
add.s32 %r94, %r42, 4;
and.b32 %r95, %r94, 65535;
cvt.u64.u32 %rd32, %r95;
add.s32 %r96, %r42, 4;
and.b32 %r97, %r96, 65535;
cvt.u64.u32 %rd32, %r97;
add.s64 %rd33, %rd1, %rd32;
add.s64 %rd35, %rd11, %rd33;
ld.global.u8 %rs19, [%rd35];
cvt.u32.u16 %r96, %rs19;
add.s32 %r126, %r96, %r126;
ld.global.u8 %r97, [%rd35+1];
add.s32 %r125, %r97, %r125;
ld.global.u8 %r98, [%rd35+2];
add.s32 %r124, %r98, %r124;
mul.wide.u16 %r99, %rs19, 18;
mad.lo.s32 %r100, %r97, 183, %r99;
mad.lo.s32 %r101, %r98, 54, %r100;
shr.u32 %r102, %r101, 8;
cvt.u16.u32 %rs22, %r102;
cvt.u32.u16 %r98, %rs19;
add.s32 %r128, %r98, %r128;
ld.global.u8 %r99, [%rd35+1];
add.s32 %r127, %r99, %r127;
ld.global.u8 %r100, [%rd35+2];
add.s32 %r126, %r100, %r126;
mul.wide.u16 %r101, %rs19, 18;
mad.lo.s32 %r102, %r99, 183, %r101;
mad.lo.s32 %r103, %r100, 54, %r102;
shr.u32 %r104, %r103, 8;
cvt.u16.u32 %rs22, %r104;
bra.uni BB0_9;
BB0_6:
......@@ -201,23 +203,23 @@ BB0_6:
BB0_9:
st.global.u8 [%rd4+1], %rs22;
bfe.u32 %r103, %r124, 2, 8;
mul.lo.s32 %r104, %r103, -29;
bfe.u32 %r105, %r125, 2, 8;
mad.lo.s32 %r106, %r105, -99, %r104;
bfe.u32 %r107, %r126, 2, 8;
shl.b32 %r108, %r107, 7;
add.s32 %r109, %r106, %r108;
shr.u32 %r110, %r109, 8;
add.s32 %r111, %r110, 128;
st.global.u8 [%rd5], %r111;
shl.b32 %r112, %r124, 5;
and.b32 %r113, %r112, 32640;
mad.lo.s32 %r114, %r105, -116, %r113;
mad.lo.s32 %r115, %r107, -12, %r114;
shr.u32 %r116, %r115, 8;
add.s32 %r117, %r116, 128;
st.global.u8 [%rd5+1], %r117;
bfe.u32 %r105, %r126, 2, 8;
mul.lo.s32 %r106, %r105, -29;
bfe.u32 %r107, %r127, 2, 8;
mad.lo.s32 %r108, %r107, -99, %r106;
bfe.u32 %r109, %r128, 2, 8;
shl.b32 %r110, %r109, 7;
add.s32 %r111, %r108, %r110;
shr.u32 %r112, %r111, 8;
add.s32 %r113, %r112, 128;
st.global.u8 [%rd5], %r113;
shl.b32 %r114, %r126, 5;
and.b32 %r115, %r114, 32640;
mad.lo.s32 %r116, %r107, -116, %r115;
mad.lo.s32 %r117, %r109, -12, %r116;
shr.u32 %r118, %r117, 8;
add.s32 %r119, %r118, 128;
st.global.u8 [%rd5+1], %r119;
BB0_10:
ret;
......
if have_nvenc
if have_hwaccel_nvidia
install_data(['grd-cuda-avc-utils_30.ptx'],
install_dir: grd_datadir,
)
......
project('gnome-remote-desktop', 'c',
version: '41.2',
version: '42.beta',
meson_version: '>= 0.47.0',
default_options: ['warning_level=1',
'buildtype=debugoptimized'])
freerdp_req = '>= 2.3.0'
cuda_req = '>= 11'
freerdp_req = '>= 2.5.0'
fuse_req = '>= 3.9.1'
nvenc_req = '>= 11'
xkbcommon_req = '>= 1.0.0'
epoxy_req = '>= 1.4'
gnome = import('gnome')
i18n = import('i18n')
......@@ -22,16 +23,18 @@ pipewire_dep = dependency('libpipewire-0.3', version: '>= 0.3.0')
systemd_dep = dependency('systemd', required: get_option('systemd'))
libsecret_dep = dependency('libsecret-1')
libnotify_dep = dependency('libnotify')
epoxy_dep = dependency('epoxy')
drm_dep = dependency('libdrm')
have_rdp = get_option('rdp')
have_vnc = get_option('vnc')
have_nvenc = get_option('nvenc')
have_hwaccel_nvidia = get_option('nvenc_and_cuda')
if not have_rdp and not have_vnc
error('Must enable at least one backend')
endif
if have_nvenc and not have_rdp
if have_hwaccel_nvidia and not have_rdp
error('Support for hardware acceleration using NVENC requires the RDP backend')
endif
......@@ -45,9 +48,9 @@ if have_rdp
winpr_dep = dependency('winpr2', version: freerdp_req)
xkbcommon_dep = dependency('xkbcommon', version: xkbcommon_req)
if have_nvenc
if have_hwaccel_nvidia
dl_dep = cc.find_library('dl', required: true)
nvenc_dep = dependency('ffnvcodec', version: nvenc_req)
cuda_dep = dependency('ffnvcodec', version: cuda_req)
endif
endif
......@@ -69,7 +72,7 @@ cdata.set_quoted('VERSION', meson.project_version())
cdata.set('HAVE_RDP', have_rdp)
cdata.set('HAVE_VNC', have_vnc)
cdata.set('HAVE_NVENC', have_nvenc)
cdata.set('HAVE_HWACCEL_NVIDIA', have_hwaccel_nvidia)
cdata.set_quoted('GRD_DATA_DIR', grd_datadir)
......@@ -119,7 +122,7 @@ output = [
'',
' Options for the RDP backend:',
'',
' Support for hardware acceleration using NVENC and CUDA........' + have_nvenc.to_string(),
' Support for hardware acceleration using NVENC and CUDA........' + have_hwaccel_nvidia.to_string(),
'',
' Now type \'ninja -C ' + meson.build_root() + '\' to build ' + meson.project_name(),
'',
......
......@@ -8,7 +8,7 @@ option('vnc',
value: true,
description: 'Enable the VNC backend')
option('nvenc',
option('nvenc_and_cuda',
type: 'boolean',
value: true,
description: 'Build with support for hardware acceleration using NVENC and CUDA')
......
......@@ -17,11 +17,13 @@ he
hr
hu
id
is
kk
ko
lt
nl
oc
pa
pl
pt
pt_BR
......
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Sveinn í Felli <sv1@fellsnet.is>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-remote-desktop/issu"
"es\n"
"POT-Creation-Date: 2021-12-08 10:00+0000\n"
"PO-Revision-Date: 2021-12-15 09:17+0000\n"
"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
"Language-Team: Icelandic <translation-team-is@lists.sourceforge.org>\n"
"Language: is\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 19.12.3\n"
#: src/grd-daemon.c:367
msgid "GNOME Remote Desktop"
msgstr "Fjartengt GNOME skjáborð"
#: src/grd-prompt.c:124
#, c-format
msgid "Do you want to share your desktop?"
msgstr "Viltu deila skjáborðinu þínu með öðrum notendum?"
#: src/grd-prompt.c:125
#, c-format
msgid ""
"A user on the computer '%s' is trying to remotely view or control your "
"desktop."
msgstr ""
"Notandi á fjartengdu tölvunni '%s' er að reyna að skoða eða stýra skjáborðinu"
" þínu."
#: src/grd-prompt.c:131
msgid "Refuse"
msgstr "Hafna"
#: src/grd-prompt.c:136
msgid "Accept"
msgstr "Samþykkja"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:7
msgid "Path to the certificate file"
msgstr "Slóð að skilríkjaskránni"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:8
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:16
msgid ""
"In order to be able to use RDP with TLS Security, both the private key file "
"and the certificate file need to be provided to the RDP server."
msgstr ""
"Til að geta notað RDP með TLS-öryggi, verður að gefa upp slóð á einkalykils-"
" og skilríkjaskránna til RDP-þjónsins."
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:15
msgid "Path to the private key file"
msgstr "Slóð að einkalykilskránni"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:23
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:33
msgid "Only allow remote connections to view the screen content"
msgstr "Einungis leyfa fjartengingum að skoða efni á skjánum"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:24
msgid ""
"When view-only is true, remote RDP connections cannot manipulate input "
"devices (e.g. mouse and keyboard)."
msgstr ""
"Þegar einungis-skoða er virkt, geta fjartengdir RDP-notendur ekki stjórnað"
" inntakstækjum (t.d. mús og lyklaborði)."
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:34
msgid ""
"When view-only is true, remote VNC connections cannot manipulate input "
"devices (e.g. mouse and keyboard)."
msgstr ""
"Þegar einungis-skoða er virkt, geta fjartengdir VNC-notendur ekki stjórnað"
" inntakstækjum (t.d. mús og lyklaborði)."
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:41
msgid "Method used to authenticate VNC connections"
msgstr "Aðferð notuð við auðkenningu VNC-tenginga"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:42
msgid ""
"The VNC authentication method describes how a remote connection is "
"authenticated. It can currently be done in two different ways: * prompt - by "
"prompting the user for each new connection, requiring a person with physical "
"access to the workstation to explicitly approve the new connection. * "
"password - by requiring the remote client to provide a known password"
msgstr ""
"Aðferð við auðkenningu VNC-tenginga lýsir því hvernig fjartenging er"
" auðkennd. Eins og er má gera það á tvo mismunandi vegu: * prompt - biðja"
" notandann að staðfesta allar nýjar tengingar, sem krefst þess að raunveruleg"
" manneskja hafi aðgang að viðkomandi tölvu og samþykki sérstakleg nýju"
" tenginguna. * "
"password - þar sem fjartengdi notandinn þarf að gefa upp þekkt lykilorð"
# Punjabi translation for gnome-remote-desktop.
# Copyright (C) 2021 gnome-remote-desktop's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-remote-desktop package.
#
# Aman Alam <apreet.alam@gmail.com>, 2021.
# A S Alam <aalam@satluj.org>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: gnome-remote-desktop master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-remote-desktop/issu"
"es\n"
"POT-Creation-Date: 2021-12-23 08:31+0000\n"
"PO-Revision-Date: 2021-12-30 23:53-0800\n"
"Last-Translator: A S Alam <aalam@satluj.org>\n"
"Language-Team: Punjabi <punjab-translation@googlegroups.com>\n"
"Language: pa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 21.04.3\n"
#: src/grd-daemon.c:367
msgid "GNOME Remote Desktop"
msgstr "ਗਨੋਮ ਰਿਮੋਟ ਡੈਸਕਟਾਪ"
#: src/grd-prompt.c:124
#, c-format
msgid "Do you want to share your desktop?"
msgstr "ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਡੈਸਕਟਾਪ ਸਾਂਝਾ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
#: src/grd-prompt.c:125
#, c-format
msgid ""
"A user on the computer '%s' is trying to remotely view or control your "
"desktop."
msgstr ""
"'%s' ਕੰਪਿਊਟਰ ਤੋਂ ਵਰਤੋਂਕਾਰ ਤੁਹਾਡੇ ਡੈਸਕਟਾਪ ਨੂੰ ਰਿਮੋਟ ਤੋਂ ਵੇਖਣਾ ਜਾਂ ਕੰਟਰੋਲ ਕਰਨਾ"
" ਚਾਹੁੰਦਾ ਹੈ।"
#: src/grd-prompt.c:131
msgid "Refuse"
msgstr "ਇਨਕਾਰ"
#: src/grd-prompt.c:136
msgid "Accept"
msgstr "ਮਨਜ਼ੂਰ"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:7
msgid "Path to the certificate file"
msgstr "ਸਰਟੀਫਿਕੇਟ ਫਾਇਲ ਲਈ ਮਾਰਗ"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:8
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:16
msgid ""
"In order to be able to use RDP with TLS Security, both the private key file "
"and the certificate file need to be provided to the RDP server."
msgstr ""
"TLS ਸੁਰੱਖਿਆ ਦੇ ਨਾਲ RDP ਵਰਤਣ ਵਾਸਤੇ ਸਮਰੱਥ ਹੋਣ ਲਈ RDP ਸਰਵਰ ਨੂੰ ਪ੍ਰਾਈਵੇਟ ਕੁੰਜੀ"
" ਫਾਇਲ ਤੇ ਸਰਟੀਫਿਕੇਟ ਫਾਇਲ ਦੇਣ ਦੀ ਲੋੜ ਹੈ।"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:15
msgid "Path to the private key file"
msgstr "ਪ੍ਰਾਈਵੇਟ ਕੁੰਜੀ ਫਾਇਲ ਲਈ ਮਾਰਗ"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:23
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:33
msgid "Only allow remote connections to view the screen content"
msgstr "ਰਿਮੋਟ ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਸਿਰਫ਼ ਸਕਰੀਨ ਦੀ ਸਮੱਗਰੀ ਵੇਖਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿਓ"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:24
msgid ""
"When view-only is true, remote RDP connections cannot manipulate input "
"devices (e.g. mouse and keyboard)."
msgstr ""
"ਜਦੋਂ ਸਿਰਫ਼-ਵੇਖੋ ਨਿਯਤ ਹੁੰਦਾ ਹੈ ਤਾਂ ਰਿਮੋਟ RDP ਕਨੈਕਸ਼ਨ ਇੰਪੁੱਟ ਡਿਵਾਈਸ (ਜਿਵੇਂ ਕਿ"
" ਮਾਊਸ ਤੇ ਕੀਬੋਰਡ) ਨਾਲ ਛੇੜਛਾੜ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹਨ।"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:34
msgid ""
"When view-only is true, remote VNC connections cannot manipulate input "
"devices (e.g. mouse and keyboard)."
msgstr ""
"ਜਦੋਂ ਸਿਰਫ਼-ਵੇਖੋ ਨਿਯਤ ਹੁੰਦਾ ਹੈ ਤਾਂ ਰਿਮੋਟ VNC ਕਨੈਕਸ਼ਨ ਇੰਪੁੱਟ ਡਿਵਾਈਸ (ਜਿਵੇਂ ਕਿ"
" ਮਾਊਸ ਤੇ ਕੀਬੋਰਡ) ਨਾਲ ਛੇੜਛਾੜ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹਨ।"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:41
msgid "Method used to authenticate VNC connections"
msgstr "VNC ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਢੰਗ"
#: src/org.gnome.desktop.remote-desktop.gschema.xml.in:42
msgid ""
"The VNC authentication method describes how a remote connection is "
"authenticated. It can currently be done in two different ways: * prompt - by "
"prompting the user for each new connection, requiring a person with physical "
"access to the workstation to explicitly approve the new connection. * "
"password - by requiring the remote client to provide a known password"
msgstr ""
......@@ -135,7 +135,7 @@ struct _GrdClipboardRdp
unsigned int client_format_data_response_id;
};
G_DEFINE_TYPE (GrdClipboardRdp, grd_clipboard_rdp, GRD_TYPE_CLIPBOARD);
G_DEFINE_TYPE (GrdClipboardRdp, grd_clipboard_rdp, GRD_TYPE_CLIPBOARD)
static gboolean
send_mime_type_content_request (GrdClipboardRdp *clipboard_rdp,
......
......@@ -28,7 +28,7 @@
G_DECLARE_FINAL_TYPE (GrdClipboardRdp,
grd_clipboard_rdp,
GRD, CLIPBOARD_RDP,
GrdClipboard);
GrdClipboard)
GrdClipboardRdp *grd_clipboard_rdp_new (GrdSessionRdp *session_rdp,
HANDLE vcm,
......
......@@ -32,7 +32,7 @@ struct _GrdClipboardVnc
char *clipboard_utf8_string;
};
G_DEFINE_TYPE (GrdClipboardVnc, grd_clipboard_vnc, GRD_TYPE_CLIPBOARD);
G_DEFINE_TYPE (GrdClipboardVnc, grd_clipboard_vnc, GRD_TYPE_CLIPBOARD)
static void
grd_clipboard_vnc_update_client_mime_type_list (GrdClipboard *clipboard,
......
......@@ -26,7 +26,7 @@
G_DECLARE_FINAL_TYPE (GrdClipboardVnc,
grd_clipboard_vnc,
GRD, CLIPBOARD_VNC,
GrdClipboard);
GrdClipboard)
GrdClipboardVnc *grd_clipboard_vnc_new (GrdSessionVnc *session_vnc);
......
......@@ -58,7 +58,7 @@ typedef struct _GrdClipboardPrivate
GMutex pending_read_mutex;
} GrdClipboardPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (GrdClipboard, grd_clipboard, G_TYPE_OBJECT);
G_DEFINE_TYPE_WITH_PRIVATE (GrdClipboard, grd_clipboard, G_TYPE_OBJECT)
static void
handle_read_result (GrdClipboard *clipboard,
......
......@@ -27,7 +27,7 @@
#include "grd-types.h"
#define GRD_TYPE_CLIPBOARD (grd_clipboard_get_type ())
G_DECLARE_DERIVABLE_TYPE (GrdClipboard, grd_clipboard, GRD, CLIPBOARD, GObject);
G_DECLARE_DERIVABLE_TYPE (GrdClipboard, grd_clipboard, GRD, CLIPBOARD, GObject)
struct _GrdClipboardClass
{
......
......@@ -24,6 +24,8 @@
#include "grd-context.h"
#include "grd-egl-thread.h"
#include "grd-dbus-remote-desktop.h"
#include "grd-dbus-screen-cast.h"
......@@ -40,6 +42,8 @@ struct _GrdContext
GrdDBusRemoteDesktop *remote_desktop_proxy;
GrdDBusScreenCast *screen_cast_proxy;
GrdEglThread *egl_thread;
GrdSettings *settings;
GList *sessions;
......@@ -47,7 +51,7 @@ struct _GrdContext
GrdDebugFlags debug_flags;
};
G_DEFINE_TYPE (GrdContext, grd_context, G_TYPE_OBJECT);
G_DEFINE_TYPE (GrdContext, grd_context, G_TYPE_OBJECT)
GrdDBusRemoteDesktop *
grd_context_get_remote_desktop_proxy (GrdContext *context)
......@@ -111,6 +115,12 @@ grd_context_get_settings (GrdContext *context)
return context->settings;
}
GrdEglThread *
grd_context_get_egl_thread (GrdContext *context)
{
return context->egl_thread;
}
GrdDebugFlags
grd_context_get_debug_flags (GrdContext *context)
{
......@@ -139,6 +149,7 @@ grd_context_finalize (GObject *object)
g_clear_object (&context->remote_desktop_proxy);
g_clear_object (&context->screen_cast_proxy);
g_clear_pointer (&context->egl_thread, grd_egl_thread_free);
g_clear_object (&context->settings);
G_OBJECT_CLASS (grd_context_parent_class)->finalize (object);
......@@ -147,11 +158,17 @@ grd_context_finalize (GObject *object)
static void
grd_context_init (GrdContext *context)
{
g_autoptr (GError) error = NULL;
context->main_context = g_main_context_default ();
init_debug_flags (context);
context->settings = g_object_new (GRD_TYPE_SETTINGS, NULL);
context->egl_thread = grd_egl_thread_new (&error);
if (!context->egl_thread)
g_debug ("Failed to create EGL thread: %s", error->message);
}
static void
......
......@@ -37,7 +37,7 @@ typedef enum _GrdDebugFlags
} GrdDebugFlags;
#define GRD_TYPE_CONTEXT (grd_context_get_type ())
G_DECLARE_FINAL_TYPE (GrdContext, grd_context, GRD, CONTEXT, GObject);
G_DECLARE_FINAL_TYPE (GrdContext, grd_context, GRD, CONTEXT, GObject)
GrdDBusRemoteDesktop * grd_context_get_remote_desktop_proxy (GrdContext *context);
......@@ -60,6 +60,8 @@ GList * grd_context_get_sessions (GrdContext *context);
GrdSettings * grd_context_get_settings (GrdContext *context);
GrdEglThread * grd_context_get_egl_thread (GrdContext *context);
GrdDebugFlags grd_context_get_debug_flags (GrdContext *context);
#endif /* GRD_CONTEXT_H */
......@@ -174,7 +174,7 @@ extern "C"
*dst_y1 = 0;
}
if (y_1x1 + 1 < src_height)
if (x_1x1 < src_width && y_1x1 + 1 < src_height)
{
/* d_2 */
b_a += b = src[s2 + 0];
......
......@@ -30,7 +30,7 @@
typedef struct _GrdDaemon GrdDaemon;
#define GRD_TYPE_DAEMON (grd_daemon_get_type ())
G_DECLARE_FINAL_TYPE (GrdDaemon, grd_daemon, GRD, DAEMON, GApplication);
G_DECLARE_FINAL_TYPE (GrdDaemon, grd_daemon, GRD, DAEMON, GApplication)
GrdDBusRemoteDesktop *grd_daemon_get_dbus_proxy (GrdDaemon *daemon);
......