Reply
Thread Tools
trx's Avatar
Posts: 80 | Thanked: 237 times | Joined on Dec 2010 @ Serbia
#1
Hi,

I rewrote rdesktop's qt3 UI to use Qt4 and QML. This is an initial release and not all bits are implemented.

Please note that the default color depth (8) is not working properly, i haven't managed to rewrite the part which converts color depth. You can use any other specified.

So, example usage is :
qmlrdesktop -a 16 server_ip_here

By default, if you touch the screen, touch will be propagated to RDP. When you cover the proximity sensor scroll mode is enabled and you can move the view.

This version does NOT have virtual keyboard support yet, i have for now only made N950's hadware keyboard work. This will be my next thing to do.

This is my first C/C++ project (i use object pascal with Qt and QML usually) so i expect that there will be some leaks, etc.. So i would appreciate if someone could check the code.

To compile the sources, download them into scratchbox and enter the directory.. Then :
1. ./bootstrap
2. ./configure
3. cd ./uiports
4. make -f makefile_qt
The relevant files are uiports/qtwin.h and uiports/qtwin.cpp

The files:
Binary : http://repo.pub.meego.com//home:/trx....7.1_armel.deb
Sources :https://build.pub.meego.com/package/...ect=home%3Atrx

You can also checkout TxPad QML code editor for Harmattan.

Thanks,

TRX.
 

The Following 22 Users Say Thank You to trx For This Useful Post:
Posts: 1,335 | Thanked: 3,931 times | Joined on Jul 2010 @ Brittany, France
#2
Great, thank you for this! Could you provide some screenshots or any video, so that N9 users could see what it looks like before the vkb feature is supported?
 

The Following User Says Thank You to Kabouik For This Useful Post:
Morpog's Avatar
Posts: 956 | Thanked: 2,628 times | Joined on Nov 2011
#3
Just get a black blank screen when trying to connect to any of my PCs.
After a while it quits by itself. Got lots of errors in console after that.

Error output:

Code:
loaded the Generic plugin 
loaded the grue plugin 
Loaded the MeeGo sensor plugin 
Successfully resolved MeeGo graphics system: /usr/lib/qt4/plugins/graphicssystems/libqmeegographicssystem.so 

Found SGX/MBX driver, enabling FullClearOnEveryFrame 
Found v1.4 driver, enabling brokenTexSubImage 
MeegoGraphics: found EGL_NOK_image_shared
MeegoGraphics: found EGL_KHR_lock_surface2
MeegoGraphics: found EGL_KHR_fence_sync
192.168.178.28 
rdp_connect 1 
rdp_connect 1.1 
user 
rdp_connect 1.2 
sec_connect 1 
sec_connect 2 
sec_connect 3 
mcs_connect 1 
iso_connect 1 
iso_connect 2 
iso_connect 2.1 
user 
iso_connect 2.2 
iso_connect 3 
iso_connect 4 
iso_connect 5 
mcs_connect 2 
mcs_connect 3 
mcs_recv_connect_response 1 
mcs_recv_connect_response 2 
mcs_recv_connect_response 3 
mcs_recv_connect_response 4 
mcs_recv_connect_response 5 
mcs_recv_connect_response 6 
mcs_recv_connect_response 7 
mcs_recv_connect_response 8 
0x39b84 
sec_process_mcs_data 1 
sec_process_mcs_data while loop, s->p :  
0x40d049 
sec_process_mcs_data: SEC_TAG_SRV_INFO 1 
sec_process_mcs_data: SEC_TAG_SRV_INFO 2 
sec_process_mcs_data while loop, s->p :  
0x40d055 
sec_process_mcs_data: SEC_TAG_SRV_CHANNELS  
sec_process_mcs_data while loop, s->p :  
0x40d05d 
sec_process_mcs_data: SEC_TAG_SRV_CRYPT 1 
sec_process_crypt_info 1 
sec_process_crypt_info 2 
sec_process_crypt_info 3 
generate_random 1 
generate_random 2 
generate_random 3 
generate_random 4 
sec_process_crypt_info 4 
sec_process_crypt_info 5 
sec_process_crypt_info 6 
sec_process_mcs_data: SEC_TAG_SRV_CRYPT 2 
sec_process_mcs_data done 
mcs_recv_connect_response 9 
mcs_connect 4 
mcs_connect 5 
mcs_connect 6 
mcs_connect 7 
mcs_connect 8 
mcs_connect 9 
mcs_connect 10 
mcs_connect 11 
sec_connect 4 
sec_connect 5 
sec_connect 6 
rdp_connect 2 
21 
X Error: BadDamage (invalid Damage parameter) 153
  Extension:    146 (Uknown extension)
  Minor opcode: 2 (Unknown request)
  Resource id:  0x29
hijackWindow() context created for TxMainWindow(0x1d56e0) 1 
Found SGX/MBX driver, enabling FullClearOnEveryFrame 
Found v1.4 driver, enabling brokenTexSubImage 
QGLWindowSurface: Using plain widget as window surface QGLWindowSurface(0x299950) 
Found EGL_KHR_image_pixmap & GL_OES_EGL_image extensions (preferred method)!
Found texture_from_pixmap EGL extension!
ui_create_bitmap() 
ERROR: get bitmap 0:0
ERROR: get bitmap 0:0
ERROR: get cursor 0
ERROR: get cursor 1
ui_create_bitmap() 
ERROR: get bitmap 2:0
ui_create_bitmap() 
ERROR: get bitmap 0:1
ui_create_bitmap() 
ERROR: get bitmap 2:1
ERROR: get bitmap 2:1
ERROR: get bitmap 2:1
ui_create_bitmap() 
ERROR: get bitmap 2:2
ERROR: get bitmap 2:2
ui_create_bitmap() 
ERROR: get bitmap 2:3
ERROR: get bitmap 2:3
ERROR: get bitmap 2:3
ui_create_bitmap() 
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:5
ERROR: get bitmap 2:5
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:6
ui_create_bitmap() 
ERROR: get bitmap 2:7
ui_create_bitmap() 
ERROR: get bitmap 2:8
ui_create_bitmap() 
ERROR: get bitmap 2:9
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:10
ui_create_bitmap() 
ERROR: get bitmap 2:11
ui_create_bitmap() 
ERROR: get bitmap 2:12
ui_create_bitmap() 
ERROR: get bitmap 2:13
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:14
ui_create_bitmap() 
ERROR: get bitmap 2:15
ui_create_bitmap() 
ERROR: get bitmap 2:16
ui_create_bitmap() 
ERROR: get bitmap 2:17
ui_create_bitmap() 
ERROR: get bitmap 2:18
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ui_create_bitmap() 
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ui_create_bitmap() 
ERROR: get bitmap 2:20
ui_create_bitmap() 
ERROR: get bitmap 1:0
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:0
ERROR: get bitmap 0:1
ui_create_bitmap() 
ERROR: get bitmap 2:21
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:22
ERROR: get bitmap 2:21
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:22
ERROR: get bitmap 2:21
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:22
ERROR: get bitmap 2:21
ERROR: get bitmap 2:21
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:23
ERROR: get bitmap 2:23
ui_create_bitmap() 
ERROR: get bitmap 2:24
ERROR: get bitmap 2:24
ui_create_bitmap() 
ERROR: get bitmap 2:25
ERROR: get bitmap 2:21
ui_create_bitmap() 
ERROR: get bitmap 2:26
ui_create_bitmap() 
ERROR: get bitmap 2:27
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:22
ERROR: get bitmap 2:21
ui_create_bitmap() 
ERROR: get bitmap 2:28
ui_create_bitmap() 
ERROR: get bitmap 2:29
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:30
ui_create_bitmap() 
ERROR: get bitmap 2:31
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:22
ERROR: get bitmap 2:21
ui_create_bitmap() 
ERROR: get bitmap 2:32
ui_create_bitmap() 
ERROR: get bitmap 2:33
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:34
ui_create_bitmap() 
ERROR: get bitmap 2:35
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:22
ui_create_bitmap() 
ERROR: get bitmap 2:36
ui_create_bitmap() 
ERROR: get bitmap 2:37
ui_create_bitmap() 
ERROR: get bitmap 2:38
ui_create_bitmap() 
ERROR: get bitmap 2:39
ui_create_bitmap() 
ERROR: get bitmap 2:40
ERROR: get bitmap 2:37
ERROR: get bitmap 2:37
ERROR: get bitmap 2:37
ERROR: get bitmap 2:37
ui_create_bitmap() 
ERROR: get bitmap 2:41
ui_create_bitmap() 
ERROR: get bitmap 2:42
ERROR: get bitmap 2:0
ERROR: get bitmap 0:1
Meego graphics system destroyed
qrc:/myqml.qml:19: TypeError: Result of expression 'vi' [null] is not an object.
 

The Following User Says Thank You to Morpog For This Useful Post:
trx's Avatar
Posts: 80 | Thanked: 237 times | Joined on Dec 2010 @ Serbia
#4
Originally Posted by Morpog View Post
Just get a black blank screen when trying to connect to any of my PCs.
After a while it quits by itself. Got lots of errors in console after that.

Error output:

Code:
loaded the Generic plugin 
loaded the grue plugin 
Loaded the MeeGo sensor plugin 
Successfully resolved MeeGo graphics system: /usr/lib/qt4/plugins/graphicssystems/libqmeegographicssystem.so 

Found SGX/MBX driver, enabling FullClearOnEveryFrame 
Found v1.4 driver, enabling brokenTexSubImage 
MeegoGraphics: found EGL_NOK_image_shared
MeegoGraphics: found EGL_KHR_lock_surface2
MeegoGraphics: found EGL_KHR_fence_sync
192.168.178.28 
rdp_connect 1 
rdp_connect 1.1 
user 
rdp_connect 1.2 
sec_connect 1 
sec_connect 2 
sec_connect 3 
mcs_connect 1 
iso_connect 1 
iso_connect 2 
iso_connect 2.1 
user 
iso_connect 2.2 
iso_connect 3 
iso_connect 4 
iso_connect 5 
mcs_connect 2 
mcs_connect 3 
mcs_recv_connect_response 1 
mcs_recv_connect_response 2 
mcs_recv_connect_response 3 
mcs_recv_connect_response 4 
mcs_recv_connect_response 5 
mcs_recv_connect_response 6 
mcs_recv_connect_response 7 
mcs_recv_connect_response 8 
0x39b84 
sec_process_mcs_data 1 
sec_process_mcs_data while loop, s->p :  
0x40d049 
sec_process_mcs_data: SEC_TAG_SRV_INFO 1 
sec_process_mcs_data: SEC_TAG_SRV_INFO 2 
sec_process_mcs_data while loop, s->p :  
0x40d055 
sec_process_mcs_data: SEC_TAG_SRV_CHANNELS  
sec_process_mcs_data while loop, s->p :  
0x40d05d 
sec_process_mcs_data: SEC_TAG_SRV_CRYPT 1 
sec_process_crypt_info 1 
sec_process_crypt_info 2 
sec_process_crypt_info 3 
generate_random 1 
generate_random 2 
generate_random 3 
generate_random 4 
sec_process_crypt_info 4 
sec_process_crypt_info 5 
sec_process_crypt_info 6 
sec_process_mcs_data: SEC_TAG_SRV_CRYPT 2 
sec_process_mcs_data done 
mcs_recv_connect_response 9 
mcs_connect 4 
mcs_connect 5 
mcs_connect 6 
mcs_connect 7 
mcs_connect 8 
mcs_connect 9 
mcs_connect 10 
mcs_connect 11 
sec_connect 4 
sec_connect 5 
sec_connect 6 
rdp_connect 2 
21 
X Error: BadDamage (invalid Damage parameter) 153
  Extension:    146 (Uknown extension)
  Minor opcode: 2 (Unknown request)
  Resource id:  0x29
hijackWindow() context created for TxMainWindow(0x1d56e0) 1 
Found SGX/MBX driver, enabling FullClearOnEveryFrame 
Found v1.4 driver, enabling brokenTexSubImage 
QGLWindowSurface: Using plain widget as window surface QGLWindowSurface(0x299950) 
Found EGL_KHR_image_pixmap & GL_OES_EGL_image extensions (preferred method)!
Found texture_from_pixmap EGL extension!
ui_create_bitmap() 
ERROR: get bitmap 0:0
ERROR: get bitmap 0:0
ERROR: get cursor 0
ERROR: get cursor 1
ui_create_bitmap() 
ERROR: get bitmap 2:0
ui_create_bitmap() 
ERROR: get bitmap 0:1
ui_create_bitmap() 
ERROR: get bitmap 2:1
ERROR: get bitmap 2:1
ERROR: get bitmap 2:1
ui_create_bitmap() 
ERROR: get bitmap 2:2
ERROR: get bitmap 2:2
ui_create_bitmap() 
ERROR: get bitmap 2:3
ERROR: get bitmap 2:3
ERROR: get bitmap 2:3
ui_create_bitmap() 
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:5
ERROR: get bitmap 2:5
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:6
ui_create_bitmap() 
ERROR: get bitmap 2:7
ui_create_bitmap() 
ERROR: get bitmap 2:8
ui_create_bitmap() 
ERROR: get bitmap 2:9
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:10
ui_create_bitmap() 
ERROR: get bitmap 2:11
ui_create_bitmap() 
ERROR: get bitmap 2:12
ui_create_bitmap() 
ERROR: get bitmap 2:13
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:14
ui_create_bitmap() 
ERROR: get bitmap 2:15
ui_create_bitmap() 
ERROR: get bitmap 2:16
ui_create_bitmap() 
ERROR: get bitmap 2:17
ui_create_bitmap() 
ERROR: get bitmap 2:18
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:5
ui_create_bitmap() 
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ERROR: get bitmap 2:19
ui_create_bitmap() 
ERROR: get bitmap 2:20
ui_create_bitmap() 
ERROR: get bitmap 1:0
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:0
ERROR: get bitmap 0:1
ui_create_bitmap() 
ERROR: get bitmap 2:21
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:22
ERROR: get bitmap 2:21
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:22
ERROR: get bitmap 2:21
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:22
ERROR: get bitmap 2:21
ERROR: get bitmap 2:21
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:23
ERROR: get bitmap 2:23
ui_create_bitmap() 
ERROR: get bitmap 2:24
ERROR: get bitmap 2:24
ui_create_bitmap() 
ERROR: get bitmap 2:25
ERROR: get bitmap 2:21
ui_create_bitmap() 
ERROR: get bitmap 2:26
ui_create_bitmap() 
ERROR: get bitmap 2:27
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:22
ERROR: get bitmap 2:21
ui_create_bitmap() 
ERROR: get bitmap 2:28
ui_create_bitmap() 
ERROR: get bitmap 2:29
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:30
ui_create_bitmap() 
ERROR: get bitmap 2:31
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:22
ERROR: get bitmap 2:21
ui_create_bitmap() 
ERROR: get bitmap 2:32
ui_create_bitmap() 
ERROR: get bitmap 2:33
ERROR: get bitmap 2:4
ui_create_bitmap() 
ERROR: get bitmap 2:34
ui_create_bitmap() 
ERROR: get bitmap 2:35
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:4
ERROR: get bitmap 2:22
ui_create_bitmap() 
ERROR: get bitmap 2:36
ui_create_bitmap() 
ERROR: get bitmap 2:37
ui_create_bitmap() 
ERROR: get bitmap 2:38
ui_create_bitmap() 
ERROR: get bitmap 2:39
ui_create_bitmap() 
ERROR: get bitmap 2:40
ERROR: get bitmap 2:37
ERROR: get bitmap 2:37
ERROR: get bitmap 2:37
ERROR: get bitmap 2:37
ui_create_bitmap() 
ERROR: get bitmap 2:41
ui_create_bitmap() 
ERROR: get bitmap 2:42
ERROR: get bitmap 2:0
ERROR: get bitmap 0:1
Meego graphics system destroyed
qrc:/myqml.qml:19: TypeError: Result of expression 'vi' [null] is not an object.
I didn't test windows' RDP, i made tests on Ubuntu inside VirtualBox (VB's RDP) which sends just chunks of bitmaps... Windows on the other hand sends bitmaps, glyphs, text, selections, etc, all separate to draw :/

Thank you for the report, I am now working on those issues.

@Kabouik, Well, basically its a full screen application that shows the remote desktop that you connect to, and allows you to interact with it. I don't think screen shots would help, but if you insist i will make them... The N9 users CAN use this application as it is, they just don't have any means of sending keyboard input to the remote desktop..

Thanks!

TRX.

Last edited by trx; 2012-07-10 at 21:57.
 
Posts: 98 | Thanked: 142 times | Joined on Mar 2011
#5
Why use rdesktop and not freerdp? I have a working freerdp console port on my repository (https://build.pub.meego.com/package/...me%3ASazpaimon) That works with audio forwarding over pulseaudio and supports NLA to connect to Windows Vista/7 workstations

There's also a Qt frontend for FreeRDP: https://github.com/khung/FreeRDP-qt
 

The Following 2 Users Say Thank You to Sazpaimon For This Useful Post:
trx's Avatar
Posts: 80 | Thanked: 237 times | Joined on Dec 2010 @ Serbia
#6
Originally Posted by Sazpaimon View Post
Why use rdesktop and not freerdp? I have a working freerdp console port on my repository (https://build.pub.meego.com/package/...me%3ASazpaimon) That works with audio forwarding over pulseaudio and supports NLA to connect to Windows Vista/7 workstations

There's also a Qt frontend for FreeRDP: https://github.com/khung/FreeRDP-qt
Wow, i did not know that
I didn't realize that there is a working RDP client for Harmattan..

Well, i guess in that case i will finish what i started (already made 80% things work (windows)). I also wanted to create a GUI for connections, but it seems its not needed.

Thanks for letting me know!

TRX.
 

The Following User Says Thank You to trx For This Useful Post:
Posts: 98 | Thanked: 142 times | Joined on Mar 2011
#7
Originally Posted by trx View Post
Wow, i did not know that
I didn't realize that there is a working RDP client for Harmattan..

Well, i guess in that case i will finish what i started (already made 80% things work (windows)). I also wanted to create a GUI for connections, but it seems its not needed.

Thanks for letting me know!

TRX.
It only kind of works. It suffers from the grey bar at the bottom of the window unless you use fullscreen, and if you use fullscreen, you can't swipe the window away. Also no VKB support
 

The Following User Says Thank You to Sazpaimon For This Useful Post:
trx's Avatar
Posts: 80 | Thanked: 237 times | Joined on Dec 2010 @ Serbia
#8
Originally Posted by Sazpaimon View Post
It only kind of works. It suffers from the grey bar at the bottom of the window unless you use fullscreen, and if you use fullscreen, you can't swipe the window away. Also no VKB support
Oh, well that was the same problem rdesktop had, thats why i started to rewrite... I will then finish what i started, so we have a usable RDP client..

TRX.
 

The Following 3 Users Say Thank You to trx For This Useful Post:
Posts: 1,335 | Thanked: 3,931 times | Joined on Jul 2010 @ Brittany, France
#9
Originally Posted by trx View Post
@Kabouik, Well, basically its a full screen application that shows the remote desktop that you connect to, and allows you to interact with it. I don't think screen shots would help, but if you insist i will make them... The N9 users CAN use this application as it is, they just don't have any means of sending keyboard input to the remote desktop..
Alright! Then screenshots may only be useful when the application will be finished, with vkb and menus to set the connexion maybe.

Please excuse my stupid question, but what is the difference with a VNC viewer like PresenceVNC for Harmattan?
 
trx's Avatar
Posts: 80 | Thanked: 237 times | Joined on Dec 2010 @ Serbia
#10
Originally Posted by Kabouik View Post
Alright! Then screenshots may only be useful when the application will be finished, with vkb and menus to set the connexion maybe.

Please excuse my stupid question, but what is the difference with a VNC viewer like PresenceVNC for Harmattan?
I haven't tested PresenceVNC, but the difference is in protocols, RDP uses less bandwidth and is partially aware of controls(which are then drawn in the client). RDP is also aware of user sessions. VNC on the other hand has no control awareness and is more or less an optimized video stream of the remote desktop.

TRX.
 
Reply


 
Forum Jump


All times are GMT. The time now is 11:30.