Streaming realtime screen out of Android devices - Android Q&A, Help & Troubleshooting

My setup:
- Windows 10
- MEmu emulator (running on W10)
I need to send the screen of the Android device in MEmu in realtime to Windows 10, because I need full opencv support for AI processing. I would need low latency and > 5 fps.
Right now I'm exploring 2 ways:
1. Using adb and creating something like a socket interface (like github/DeviceFarmer/minicap can't post url yet, sorry)
2. Using a script to capture the MEmu window in Windows: this approach could be more challenging because I would need to be able to capture the screen even when the window is on the background
I tried out the minicap tool, but I couldn't get it working on Windows.
Do you have any idea of how can I solve this problem? I'm new to Android development and adb so I don't know how can I face this...

MEmu App Player ( short: MEmu ) is a Windows app ( based on Oracle VirtualBox VM ) - hence it is presented on Windows computer in a window as that is case with all Windows apps - what internally presents in a child window the output of the emulated Android device As you can see you have to do it with 2 windows in sense of Windows OS.
This child window basically can get accessed via ADB, means its screen contents can get captured via ADB command. Hereby the emulated device’s standard screen resolution is used, the video is encoded at a bitrate of 4Mbps, and the maximum screen recording time is limited to 180 seconds.
Take note that MEmu comes with a screen recorder tool implemented that allows you to capture contents of its child window, too. Videos taken via this tool get stored in a shared folder on Windows computer.

jwoegerbauer said:
MEmu App Player ( short: MEmu ) is a Windows app ( based on Oracle VirtualBox VM ) - hence it is presented on Windows computer in a window as that is case with all Windows apps - what internally presents in a child window the output of the emulated Android device As you can see you have to do it with 2 windows in sense of Windows OS.
This child window basically can get accessed via ADB, means its screen contents can get captured via ADB command. Hereby the emulated device’s standard screen resolution is used, the video is encoded at a bitrate of 4Mbps, and the maximum screen recording time is limited to 180 seconds.
Take note that MEmu comes with a screen recorder tool implemented that allows you to capture contents of its child window, too. Videos taken via this tool get stored in a shared folder on Windows computer.
Click to expand...
Click to collapse
Thank you for your response. I know about the screen recorder tool, but the problem is that I'm trying to create an AI that can play some games in realtime. In order to do this, I will need access to the screen images in realtime without human interaction.
The best option I think it would be using adb, because it would allow to capture and stream the screen images natively. The alternative would be to capture the window image of the MEmu app in Windows, but as you said I will have to capture from 2 windows, and this could be a problem (I'm not an expert in this kind of things ).
Do you know if is possible to create a socket between adb/MEmu and Windows to stream the screen? Also I have problems because it doesn't exist /dev/graphics/fb0 as they say in stackoverflow[dot]com/questions/13984017/how-to-capture-the-screen-as-fast-as-possible-through-adb
Thank you in advance!

Android's framebuffer /dev/graphics/fb0 exists on all Android devices. Only its format depends on Android version.
Code:
adb devices
adb shell "cat /dev/graphics/fb0 > /data/local/fbcp_temp"
adb pull /data/local/fbcp_temp C:\fbcp_temp

jwoegerbauer said:
Android's framebuffer /dev/graphics/fb0 exists on all Android devices. Only its format depends on Android version.
Code:
adb devices
adb shell "cat /dev/graphics/fb0 > /data/local/fbcp_temp"
adb pull /data/local/fbcp_temp C:\fbcp_temp
Click to expand...
Click to collapse
Are you sure? I am in Android 7.1 and when I list the devices I get this:
Code:
(base) PS C:\Users\iagoGR> adb shell ls -a /dev
.coldboot_done
0:0:0:0
1:0:0:0
__properties__
alarm
android_adb
ashmem
binder
block
bus
com.thirdparty.superuser.daemon
console
cpu0
cpu1
cpu2
cpu3
cpu_dma_latency
cpuctl
device-mapper
fscklogs
full
fuse
hidraw0
input
kmsg
log
loop-control
mem
memcg
memory_bandwidth
msr0
msr1
msr2
msr3
network_latency
network_throughput
null
port
ptmx
pts
random
rfkill
rtc0
sg0
sg1
snd
socket
tty
tty0
tty1
tty10
tty11
tty12
tty13
tty14
tty15
tty16
tty17
tty18
tty19
tty2
tty20
tty21
tty22
tty23
tty24
tty25
tty26
tty27
tty28
tty29
tty3
tty30
tty31
tty32
tty33
tty34
tty35
tty36
tty37
tty38
tty39
tty4
tty40
tty41
tty42
tty43
tty44
tty45
tty46
tty47
tty48
tty49
tty5
tty50
tty51
tty52
tty53
tty54
tty55
tty56
tty57
tty58
tty59
tty6
tty60
tty61
tty62
tty63
tty7
tty8
tty9
ttyS0
ttyS1
ttyS10
ttyS11
ttyS12
ttyS13
ttyS14
ttyS15
ttyS16
ttyS17
ttyS18
ttyS19
ttyS2
ttyS20
ttyS3
ttyS4
ttyS5
tun
uinput
urandom
vcs
vcs1
vcsa
vcsa1
vga_arbiter
vhci
zero
It looks like in MEmu there is not framebuffer? Could that be possible? Or maybe the device got renamed... I couldn't know.

igonro said:
Are you sure?
It looks like in MEmu there is not framebuffer? Could that be possible? Or maybe the device got renamed... I couldn't know.
Click to expand...
Click to collapse
1. I have stopped using MEmu some time ago, because it's a Chinese product ... Hence can't verify your statement.
2. Because MEmu is an emulator - it has neither a CPU nor a GPU nor an APU - it may be that a framebuffer doesn't exist at all in its Android.
IIRC in a MEmu instance ( read: Oracle VirtualBox VM ) a synthetic VGA video card is used, the framebuffer there simply is a VGA buffer ( VESA BIOS ). How to access it programmatically is beyond my knowledge, in any case not by means of ADB.
FYI: I no longer participate this thread, because your issue is for me without any interest. Thanks for your understanding.

Related

[Q] Second Camera?

Good day...
Im wanting to connect a USB camera to my ViewSonic G Tablet... I have 3 different USB models. When I plug them in (individually,) I get the /dev/video0 device but I don't seem to be able to use the device...
Why a second camera? I'm thinking I can use my G Tab in my car with a USB camera connected for a Baby Cam (since the baby faces the other way so I can't see and most of my traveling is at night so the normal mirror won't work unless I blind the poor child...) -- In theory, it could be used as a backup camera as well. (Same effect)
The internal camera works, but I don't need to see myself, I'd rather see something behind me.
Ideas?
I've scoured the Forums in more detail... Several ask the questions and someone made it work on the Nook, but it looked Nook specific. =/
Is there a more appropriate place to ask? This would affect all Android Devices that have a USB Host Port...
Now, the G Tablet, VEGAn mod at least... has the UVC Driver for WebCams. When I plug a camera in I get the /dev/video0 device (which doesn't exist until I plug in a camera.) - could it be permissions or is the driver not fully implemented?
The mplayer app that was released sets the root path to /sdcard so I can't point it at /dev/video0... I've tried to use the stream part, but it just exits the video - no error that I can see...
adamsoutherland said:
Now, the G Tablet, VEGAn mod at least... has the UVC Driver for WebCams. When I plug a camera in I get the /dev/video0 device (which doesn't exist until I plug in a camera.) - could it be permissions or is the driver not fully implemented?
Click to expand...
Click to collapse
The device appearing is a good first sign. Can you get me a dmesg output after you've plugged the webcam in? Run a Terminal Emulator app, then type in the window:
Code:
$ [B]dmesg > /mnt/sdcard/dmesg.txt[/B]
The mplayer app that was released sets the root path to /sdcard so I can't point it at /dev/video0... I've tried to use the stream part, but it just exits the video - no error that I can see...
Click to expand...
Click to collapse
Is this app an Android port of the standard mplayer for Linux? If yes, then it will use the V4L (Video 4 Linux) API to grab video frames, and if you can start it on the command line (or supply an input file name), then you can try "tv://" as the input file name.
Run this command first, though, to give everybody read-write access to /dev/video0:
Code:
$ [B]su[/B]
# [B]chmod 666 /dev/video0[/B]
I'm attaching a dmesg prior to plugging in the camera, and one after... I'm also inserting the text of the "diff" in the post...
Code:
[ 189.574313] usb 1-1.1: new high speed USB device using tegra-ehci and address 3
[ 189.657223] usb 1-1.1: New USB device found, idVendor=18ec, idProduct=3299
[ 189.664506] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 189.671944] usb 1-1.1: Product: USB2.0 PC CAMERA
[ 189.677125] usb 1-1.1: Manufacturer: ARKMICRO
[ 189.685907] usb 1-1.1: configuration #1 chosen from 1 choice
[ 189.695760] uvcvideo: Found UVC 1.00 device USB2.0 PC CAMERA (18ec:3299)
[ 189.708989] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
[ 189.732392] input: USB2.0 PC CAMERA as /devices/platform/tegra-ehci.2/usb1/1-1/1-1.1/1-1.1:1.0/input/input7
[ 190.318832] SO340010: gpio_val=0xc0a50000, button_val = 0xdbaf0002
[ 190.445387] SO340010: gpio_val=0xc0a50000, button_val = 0xdbaf0000
and this:
Code:
/data/data/berserker.android.apps.sshdroid/home # ls -lh /dev/vid*
crw-rw---- 1 0 1006 81, 0 Sep 2 18:22 /dev/video0
I've also done this:
Code:
/data/data/berserker.android.apps.sshdroid/home # chmod 666 /dev/video0
/data/data/berserker.android.apps.sshdroid/home # cat /dev/video0 /mnt/sdcard/test.mpg
cat: read error: No such device
/data/data/berserker.android.apps.sshdroid/home # ls -lh /dev/vid*
crw-rw-rw- 1 0 1006 81, 0 Sep 2 18:22 /dev/video0
/data/data/berserker.android.apps.sshdroid/home #
The mplayer was an APK from someone on the forums... I've opened it up only to find a "mplayer.so" as I thought it might contain the mplayer binary... (I don't have a machine (with sufficient space) to load the Android SDK at the moment...) (It's on my todo list.)
Am I right to try "cat /dev/video0" before I find the proper mplayer or event ffmpeg binary? (It generally works in linux when I do it...)
PS - I have 3 WebCams, I can give you a dmesg of each one if you need it... They all appear to do the same thing (they are by different manufacturers... iMicro, Sabrent and Agama.) -- also note that these 3 web cams work in Linux (each slightly different, but they work.)
adamsoutherland said:
The mplayer was an APK from someone on the forums... I've opened it up only to find a "mplayer.so" as I thought it might contain the mplayer binary... (I don't have a machine (with sufficient space) to load the Android SDK at the moment...) (It's on my todo list.)
Click to expand...
Click to collapse
Attach the APK so I can have a look at it.
Am I right to try "cat /dev/video0" before I find the proper mplayer or event ffmpeg binary? (It generally works in linux when I do it...)
Click to expand...
Click to collapse
I'm surprised that that works even on standard Linux! You have to setup the frame capture parameters first using ioctl()s before you can start reading data from /dev/video0. Even after that, you get raw frame data, and not mpeg video from the device.
PS - I have 3 WebCams, I can give you a dmesg of each one if you need it... They all appear to do the same thing (they are by different manufacturers... iMicro, Sabrent and Agama.) -- also note that these 3 web cams work in Linux (each slightly different, but they work.)
Click to expand...
Click to collapse
Attach all the 3 webcams to your desktop machine, check that each one works and get me a dmesg and a lsmod command output for each one. I want to see what drivers are loaded for each one. We'll have to load the same drivers on the gTablet too after compiling them.
Code:
[I]Attach Camera1 and make sure its working, then,[/I]
desktop$ [B]dmesg > dmesg1.txt[/B]
desktop$ [B]lsmod > lsmod1.txt[/B]
[I]Attach Camera2 and make sure its working, then,[/I]
desktop$ [B]dmesg > dmesg2.txt[/B]
desktop$ [B]lsmod > lsmod2.txt[/B]
[I]Attach Camera3 and make sure its working, then,[/I]
desktop$ [B]dmesg > dmesg3.txt[/B]
desktop$ [B]lsmod > lsmod3.txt[/B]
Caveats: Even if we get all the drivers to load on the gTablet (the V4L drivers, the main camera driver, and, possibly, its support drivers), we still have the problem of displaying the video stream on Android. While I'm happy to write whatever systems code is required, writing the Java UI code for the Android app is beyond my ken. We'll have to ask someone else (try in the main Android development forums on XDA, or, ask user herbert1 here who's helped out before with custom Java apps) once we've checked that we can read data from the V4L device (I'll send you a test prog which'll output .jpg files once every second once we have the drivers sorted out).
It would be great if someone has already ported mplayer for Android.
I'm attaching the APK I found...
Side note:
After looking deeper at 'cat /dev/video0'; it does not work with these webcams... I think this works on my TV Cards that natively displayed mpeg2 video (it's been a while).
See the attached dmesg-*.txt and lsmod-*.txt. Each is named after the company logo on the camera. (I can get the model numbers if the dmesg isn't enough.) Between each dmesg I rebooted the linux box for clarity. (They can all work at once, but I get confused on what is doing what.)
The command I used to test:
Code:
ffmpeg -f alsa -i hw:0,0 -f video4linux2 -s 320x240 -i /dev/video0 test-agama.mpg
(Each of these cameras has audio - The audio is not important for what I am attempting to do...)
About the UI... I've been avoiding this but it maybe time to start work on this =P -- I just realized that the box I'm testing the cameras on has space... I may have to reload linux for 64bit but then I can install the Android SDK and get to UI Development.
All three webcams seem to depend on only 3 kernel modules: uvcvideo, videodev and v4l1_compat.
If all 3 drivers are loaded on the gTablet too, then we should be able to get the video frames from /dev/video0 (or whatever the device).
I'll send you a test program this evening. In the mean time...:
That .apk file contains the application too--the classes.dex file contains the Dalvik executable bytecode. Just install the .apk, then run the app and provide a file name as input. Try "tv://" as the file name once all 3 drivers have been loaded. Do the "chmod 666 /dev/video0" before running the app.
Try the webcam test program in the attachment. The program reads from a user-specified V4L device and outputs JPEG images until you stop it with CTRL-C. Run as:
Code:
$ [B]su[/B] [I]Become superuser[/I]
# [B]mkdir /mnt/sdcard/tmp[/B] [I]Make a tmp dir. for storing imgs[/I]
# [B]./webcam -o /mnt/sdcard/tmp[/B] [I]Capture webcam images until stopped with CTRL-C[/I]
Get usage instructions with "./webcam --help".
EDIT: I actually didn't test the program out because I couldn't locate my webcam. Report if you encounter any bugs.
Quick Update:
I will be trying this tonight... I've been busy trying to get things done. (Little one is going to be born tomorrow!)
Sorry I haven't been able to respond sooner...
rajeevvp said:
Try the webcam test program in the attachment. The program reads from a user-specified V4L device and outputs JPEG images until you stop it with CTRL-C. Run as:
Code:
$ [B]su[/B] [I]Become superuser[/I]
# [B]mkdir /mnt/sdcard/tmp[/B] [I]Make a tmp dir. for storing imgs[/I]
# [B]./webcam -o /mnt/sdcard/tmp[/B] [I]Capture webcam images until stopped with CTRL-C[/I]
Get usage instructions with "./webcam --help".
EDIT: I actually didn't test the program out because I couldn't locate my webcam. Report if you encounter any bugs.
Click to expand...
Click to collapse
I copied it to /mnt/asec (because I can execute things there without remount)
When I run it, i get:
Code:
/mnt/asec # ./webcam -o /mnt/asec/tmp -d /dev/video0
./webcam: error getting video channel info. Invalid argument
I tried without the -d /dev/video0 and got the same result.
(Sorry for the LOOONG delay... Turns out a newborn takes more time and energy than I expected. I'm just now figuring that out... =P It's worth it though.)
Try this simple USB Webcam test app in the attachment which works on VEGAn-Tab 7.1 and GtabComb* (which have the pershoot kernel).
1. Plug the USB webcam in.
Assuming the kernel you're running has the correct USB webcam drivers compiled in--and, most of them do seem to have the V4L subsystem and the UVC camera drivers (which supports a lot of the common USB webcams) built into the kernel--you should see a new /dev/video0 device file pop up.
2. Run these commands to set correct permissions and owners on the device file (some ROMs--eg. GtabCombOver--don't need it):
Code:
$ [B]su[/B]
# [B]chown system.camera /dev/video0[/B]
# [B]chmod 660 /dev/video0[/B]
(Note that if you unplug and replug the webcam, you'll have to re-run the commands on ROMs which don't set the correct permissions and owners.)
3. Now install and run the SimpleWebCam app.
If, for some reason, no /dev/video0 device is created, then your webcam may need different device drivers, which have not been compiled in (or not been written!), in which case you'll have to compile a new kernel with the correct drivers either built-in or as loadable modules. Nothing else described in this post will need change.
adamsoutherland said:
When I run it, i get:
Code:
/mnt/asec # ./webcam -o /mnt/asec/tmp -d /dev/video0
./webcam: error getting video channel info. Invalid argument
I tried without the -d /dev/video0 and got the same result.
Click to expand...
Click to collapse
Looks like I'll have to update the code to make the program use the V4L2 API instead.
Nexus 7
Just tested this on my Google Nexus 7 tablet and it worked fine, I didn't have to modify the permissions either,
PS, it is rooted, of sure if that makes much difference, will test it on my friends stock nexus 7 tomorrow
USB Camera App
I was able to get the app working on my rooted Nexus 7 4.2 and an unrooted Galaxy SIII . How hard would it be to add a video record function to the app?
droidoso said:
How hard would it be to add a video record function to the app?
Click to expand...
Click to collapse
If you want to do that, then it's better to compile a custom native camera-interface library which makes the USB webcam appear as a standard camera (--the rear one, usually). Then, you can use the standard apps to record videos.
See this thread for a precompiled binary and for the source.

[Q] HELP: Android USB debug mode works in Windows not in Ubuntu

The Android device in question is a Micromax A87(a relatively unknown brand in global market but I hope that should'nt matter).
In Ubuntu, I have double checked the udev rules. They all look perfect. (I cross checked using another phone too). The USB debug mode doesn't show up no matter what. And I have the adb_usb.ini in the right place. I have tried running all possible combinations of running
adb, adb start-server as root. But
Code:
adb devices
shows no devices at all.
However, with the USB debugging option enabled on phone, it worked on Win7 after windows installed a Common handset driver.
Now the interesting part.
If I go back to Ubuntu without disconnecting the cable and do
Code:
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
[B]1234567890ABCDEF[/B] device
The product id is 1234567890ABCDEF and I am able to see it and everthing works fine!!
But the moment I disconnect the USB cable, its gone.
So I guess it's not the development machine that is at fault. The device seems to be setting a property while in Windows which stays latched till the usb connection goes off.
What could be a way to get this to work? (Besides developing on Windows :silly: )
Btw the
Code:
/data/property/persist.service.adb.enable
is 1 too.
What is your computer setup? Are you using a Windows machine, with Ubuntu in a vm? Dual-boot? Other?
My setup:
Dual boot.
Ubuntu 12.04 and Windows 7.
Ok, how about if you plug in the USB with the computer's power off, then boot into Ubuntu?
i have the clone of this phone. mine is Mito A78.
lsusb command shows it as 1c9e:9e08
so idVendor =1c9e and idProduct = 9e08
for now, what you say (plugin to windows and reboot to ubuntu without unplug the phone) is the solution.
i will see if lsusb output still the same.
okay, have checked on windows pc, it should be switched to idVendor =1c9e and idProduct = 9e18
anyway, what you say is a clue that the solution may be around usb_modeswitch and modem manager
further search on usb_modeswitch 1c9e 9e08 found the solution here: http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?f=3&t=1351
have tried, but not yet switched to idVendor =1c9e and idProduct = 9e18
have to find the correct rules on /etc/usb_modeswitch.d/1c9e:9e08
Code:
########################################################
# Mito A78
DefaultVendor=0x1c9e
DefaultProduct=0x9e08
TargetVendor=0x1c9e
TargetProduct=0x9e18
SierraMode=1
CheckSuccess=20
NoDriverLoading=1
found it.
after writing the rules, insert
Code:
# Mito A78
ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9e08", RUN+="usb_modeswitch '%b/%k'"
to /lib/udev/rules.d/40-usb_modeswitch.rules
i than have to run
Code:
sudo usb_modeswitch -v 0x1c9e -p 0x9e08 -S -R -W
and then the phone switched to idVendor =1c9e and idProduct = 9e18 and adb can access the phone.
:good: :good: :good:
I-mobile IQ 5.1 has same issue, but adb still can't see device
The usb_modeswitch is exactly the same for this phone (same usb vid/pid). However adb still doesn't find the phone under Windows and Ubuntu. lsusb shows the product id switch did work and it all looks right.
Under windows it spins up a cdrom device from the phone so you can install the windows drivers (this lives as an *.iso file under /system); after the driver install, you get the adb device in device manager and two com ports,with all devices having a pid of 9e18 (original 9e08). However adb does not see the device!
I recon there is something wrong on the phone side. This is a very new phone (only release about 5 days ago), so I suspect this is one of the early release bugs...
Since I don't even have a custom recovery for it (CWM, etc) I can even backup my phone and try and do a factory reset.
Looks like a low level USB issue
Switched on tracing on adbd on the phone side. Looks like a phone/usb low level issue:
Code:
--- adb starting (pid 14270) ---
system/core/adb/adb.c::main():Handling main()
system/core/adb/adb.c::adb_main():Local port disabled
system/core/adb/usb_linux_client.c::usb_init():failed to open /dev/android_adb_enable
system/core/adb/usb_linux_client.c::usb_init():[ usb_init - starting thread ]
system/core/adb/adb.c::adb_main():adb_main(): pre init_jdwp()
system/core/adb/jdwp_service.c::jdwp_control_init():jdwp control socket started (5)
system/core/adb/adb.c::adb_main():adb_main(): post init_jdwp()
system/core/adb/adb.c::adb_main():Event loop starting
system/core/adb/usb_linux_client.c::usb_open_thread():[ usb_thread - opening device ]
system/core/adb/usb_linux_client.c::usb_open_thread():[ opening device succeeded ]
system/core/adb/usb_linux_client.c::usb_open_thread():[ usb_thread - registering device ]
system/core/adb/transport.c::register_usb_transport():transport: 0x11364a0 init'ing for usb_handle 0x1136410 (sn='')
system/core/adb/transport_usb.c::init_usb_transport():transport: usb
system/core/adb/transport.c::register_transport():transport: (null) registered
system/core/adb/transport.c::transport_registration_func():transport: (null) (10,11) starting
system/core/adb/transport.c::output_thread():(null): starting transport output thread on fd 11, SYNC online (2)
system/core/adb/transport.c::dump_packet():fd=11: to remote: [SYNC] arg0=1 arg1=2 (len=0)
system/core/adb/transport.c::transport_socket_events():transport_socket_events(fd=10, events=0001,...)
system/core/adb/transport.c::dump_packet():fd=10: from remote: [SYNC] arg0=1 arg1=2 (len=0)
system/core/adb/adb.c::handle_packet():handle_packet() SYNC
system/core/adb/transport.c::dump_packet():fd=10: to remote: [SYNC] arg0=1 arg1=2 (len=0)
system/core/adb/transport.c::output_thread():(null): data pump started
system/core/adb/usb_linux_client.c::usb_read():about to read (fd=9, len=24)
system/core/adb/transport.c::input_thread():(null): starting transport input thread, reading from fd 11
system/core/adb/transport.c::dump_packet():fd=11: from remote: [SYNC] arg0=1 arg1=2 (len=0)
system/core/adb/transport.c::input_thread():(null): transport SYNC online
system/core/adb/jdwp_service.c::jdwp_process_event():Adding pid 11279 to jdwp process list
system/core/adb/jdwp_service.c::jdwp_process_event():Adding pid 11325 to jdwp process list
system/core/adb/jdwp_service.c::jdwp_process_event():Adding pid 11818 to jdwp process list
system/core/adb/jdwp_service.c::jdwp_process_event():Adding pid 13994 to jdwp process list
system/core/adb/jdwp_service.c::jdwp_process_event():Adding pid 13951 to jdwp process list
system/core/adb/jdwp_service.c::jdwp_process_event():Adding pid 13913 to jdwp process list
system/core/adb/jdwp_service.c::jdwp_process_event():Adding pid 13856 to jdwp process list
system/core/adb/usb_linux_client.c::usb_read():ERROR: fd = 9, n = -1, errno = 5 (I/O error)
system/core/adb/transport_usb.c::remote_read():remote usb: read terminated (message)
system/core/adb/transport.c::output_thread():(null): remote read failed for transport
system/core/adb/transport.c::output_thread():(null): SYNC offline for transport
system/core/adb/transport.c::dump_packet():fd=11: to remote: [SYNC] arg0=0 arg1=0 (len=0)
system/core/adb/transport.c::output_thread():(null): transport output thread is exiting
system/core/adb/usb_linux_client.c::usb_kick():usb_kick
---------- Post added at 04:31 AM ---------- Previous post was at 04:27 AM ----------
I also tried the Chainfire adbd insecure and its exactly the same in the debugging.
Now working on win7 64!
Followed this link and managed to get it working. The PID value was set to 9e18. In essence the andriod usb driver was missing (install via the andriod.bat andriod package manager).
Also works in virtualbox winxp vm on Linux (ubuntu 12.10; actually Mint 14). Just mapped in my win7 64 partition to get access to the andriod sdk/usb driver.
Now that I know its not a handset issue, can return to trying to get the Linux side working.
Now working under Linux!
You need the vendor id in adb_usb.ini:
Code:
cat ~/.android/adb_usb.ini
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x1c9e
If you will run adb as root, make sure you also create the file for root too.
Tip: You will be logged into the phone as the 'shell' user. Try and 'su -' to get root access, and then click on your su dialog on the phone to grant access.
Final issue is that plugging in the device should do the switch automatically; I will update you on that when I have that fixed.
udev sorted on ubuntu
Ok, we are rocking on udev on ubuntu 12.10. Seems like udev doesn't like ATTR keywords, although ATTRS makes everything burst into life (man page says ATTR is useable). Steps that worked for me:
Code:
# cp /lib/udev/rules.d/40-usb_modeswitch.rules /etc/udev/rules.d/usb_modeswitch.rules
# vi /etc/udev/rules.d/usb_modeswitch.rules
Add the following entry near the bottom under the last entry:
Code:
# I-Mobile IQ5.1
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9e08", RUN+="usb_modeswitch '%b/%k'"
Create /etc/usb_modeswitch.d/1c9e:9e08 as described earlier by jurban.
Unplug the phone. Plug it in. Do an lsusb. Firstly shows up as dev 1c9e:9e08. Enter lsusb again. Shows up as 1c9e:9e18. Now adb will show the device as jurban shows above. All good to go!

[Updated: JUN 15] Easier XMir Setup (Now with Libertine!)

EDIT: I bring you the new OFFICIAL way of installing X11 applications, I've been neglecting this thread way too much and need to give it some love.
The old instructions (OLD METHOD) are no longer needed as of April on the rc and rc-proposed channels, this should work on all channels however (tested up to latest devel-proposed image)
NOTE: You still need a writable image for the first parts of this, after you install the tools, it can go back to read-only.
1) Open Terminal
2) Install the following packages: libertine libertine-tools python3-libertine-chroot
3) Open the Ubuntu Store and install the scope: libertine-scope
4) Open the Libertine application that's now available in your launcher and follow instructions, it will set up a Ubuntu Vivid chroot in your home directory, install the components needed, and drop you at the package management screen. From here, you can update and add PPAs to the container via the Settings Icon -> Manage Container, Install packages via the plus icon, etc.
5) Favorite the Libertine XApps scope by swiping up on the home screen and hitting the star, then open the scope and you'll see any applications you installed there.
If you cannot install your container via the Libertine application (I know that it didn't have support for chroot until recently, not sure if that version has landed yet), you can install your container via the teminal, so open your terminal but DO NOT sudo su. All Libertine-container-manager commands MUST be done as phablet.
To create a container (this line will likely change when Xenial drops as Libertine will be switching to LXC on Xenial):
Code:
libertine-container-manager --create -i <container id> -n <friendly name (this shows up in the Libertine app)> -t chroot
Using this command, the system will build the new libertine container, wait until it's finished and then you can continue by using the installed Libertine application.
Onscreen Keyboard in Libertine Applications
THIS CAN FINALLY BE DONE! The only con to it, is that it is mostly unusable in applications that open dialog boxes along the bottom of the screen, the XMir window does not scroll up like native applications do to give a better viewing window. (I have been told that this will change in OTA-12 when the keyboard support drops for Libertine/Puritine apps)
To install on-screen keyboard:
Open Libertine and add ppa:brandontschaefer/maliit to your container. Then hit update in Manage Containers. Once done, install the following, maliit-inputcontext-gtk2, maliit-inputcontext-gtk3, maliit-framework. After that, setup is complete in your container, now we need to do some extra work outside the container to make it pass the GTK_IM_MODULE variable we need over to Libertine. To do this, add this line to your .bashrc or if you have a writable image, you can add this to the systemwide profile (not sure if this will be replaced on OTA though):
Code:
export GTK_IM_MODULE=maliitphablet
Restart the tablet OS, Open an application such as Libreoffice Writer and BEHOLD!
Notes
You can also manage your container via the terminal with libertine-container-manager. To get a root shell without installing mate terminal (You can't get a root shell via this method (installing a term), Proot acts like fakeroot all over your container's rootfs), you can use the following:
- l-c-m exec -c bash (This command does not mount any user directories (/home/phablet will not exist) and is best used for making changes to the container's rootfs)
or if you only need a user shell:
- DISPLAY= libertine-launch <containerid (default is vivid)> bash (This mounts user directories, but is no different than if you installed something like mate-terminal and ran it. The reason we are passing an empty DISPLAY variable is because libertine-launch will refuse to start if DISPLAY isn't set, even it if doesn't exist.)
- DPI Hacks: To change the DPI of applications in Libertine, you need a new way to make the .Xdefaults file as only the XDG User directories get mounted inside the libertine container, not your entire Home. To do this, install your favorite editor inside of the libertine container (I find nano to be the easiest for new users), and open Terminal, then follow these instructions:
1) Open your editor to ~/.local/share/libertine-container/user-data/[my container id, default = vivid]/.Xdefaults and fill it with the following:
Code:
Xft.dpi: 175
or what your preferred DPI is. On the Nexus 7 flo the comfortable DPI is 175 with an application font size of 14 (I use Liberation Sans which comes from Libreoffice).
- You can make your applications look great still, you don't have to be stuck with the default Raleigh GTK style. Download and install LXAppearance in your container and add ppa:noobslab/themes then start installing themes. Enjoy! The Ubuntu Touch Themes are wonderful and FlatPlat works well with the system UI as well.
Some cons to this:
- It requires at least 3GBs available in your internal storage (wherever your home folder resides) to store a full, non-touch Ubuntu Vivid container.
Pros:
- It survives OTAs, the only thing able to break this would be a change to XMir, PRoot, or Libertine. Which is landing in the images shortly by default so there's not much of a chance to break this.
- Nothing you do will break your UTouch system. Unlike the old method, this only installs the items needed to run the container, which are to become standard inside the images very soon.
OLD METHOD
--------------------
EDIT: I have not tested this in stable, rc, rc-proposed yet. Only the dev-proposed channel.
So there is some questioning I see going on about how to run things like Firefox efficiently and well. So I figured I'd write up a little something for it.
First you'll want to set your DPI in ~/.Xdefaults, as I have a Nexus 7, mine looks similar to this:
Xft.dpi: 240
Note that you may need to do some additional tweaking.
Now that you have Xdefaults made, install the ubuntu-pocket-desktop and matchbox-window-manager packages (along with the program you wish to use, for this tutorial, I'll use libreoffice).
Create a file in /bin called wm-wrapper.sh (or whatever you choose here, just remember the name), fill it with:
Code:
#!/bin/bash
matchbox-window-manager -use_titlebar no -use_dialog_mode const-horiz &
exec [email protected]
and save it, then chmod a+x it.
EDIT: For this next part, I recommend copying the .desktop to ~/.local/share/applications to avoid them being overwritten on package updates.
Now, navigate to /usr/share/applications/ and open the .desktop file for the application you are wanting to run. Add the following lines under [Desktop]:
Code:
X-Ubuntu-Touch=true
X-Ubuntu-XMir-Enable=true
Change the Exec line so that your wrapper (in my case wm-wrapper.sh) is in front of the executable, such that the line becomes (or similar):
Code:
Exec=/bin/wm-wrapper.sh libreoffice %U
Save it, then search for your application in the Unity Scopes. Open it up and you should see your application running as an XMir app easy. For future applications, you will simply need to do the changes to it's .desktop file.
EDIT: A helpful redditor gave me this tip to enable sending touch events over to Xmir. Setting the GTK_TEST_TOUCHSCREEN environment variable to 1 will apparently remove hover events and the like (events that are not normally sent with a touch screen, but with a mouse). I have not had time to take a look at this yet however so YMMV.
Thanks man, gonna try this on my n4 later today. ?
thumbzzzz said:
Thanks man, gonna try this on my n4 later today.
Click to expand...
Click to collapse
No problem, Like I said, not sure if it works on other channels, but it works great on the dev-proposed channel. You will also want to close applications using their menu items as closing the Xmir root window will cause the application to terminate without asking to save anything. Libreoffice can get around this via Document Recovery though.
I had been working on this for a good solid week testing applications and different ways to get X11 applications working so I could make it a full workstation, so I figured why not post my findings since the Ubuntu forum doesn't seem to get much love.
Thanks for the matchbox tip! It works quite nicely, especially, it brings a nice onscreen keyboard with it. I use the following setup now:
~/.local/share/applications/gedit-mb.desktop
Code:
[Desktop Entry]
Name=GEdit in Matchbox
Type=Application
Terminal=false
Icon=/usr/share/gedit/logo/gedit-logo.png
X-Ubuntu-Touch=true
#X-Ubuntu-XMir-Enable=true
Exec=/home/phablet/bin/matchbox-wrapper.sh gedit
~/bin/matchbox-wrapper.sh
Code:
#!/bin/bash
export DISPLAY=:1
Xmir $DISPLAY &
sleep 1
# xlogo
# xeyes
# x11vnc -forever -nopw -quiet -display $DISPLAY &
matchbox-window-manager &
sleep 1
matchbox-keyboard &
[email protected]
~/.matchbox/kbdconfig
Code:
# http://unix.stackexchange.com/questions/223110/what-are-the-keyboard-shortcuts-for-matchbox-window-manager
<ctrl><alt>p=prev
<ctrl><alt>n=next
<ctrl><alt>d=!matchbox-desktop
<ctrl><alt>x=!xterm
<ctrl><alt>f=!firefox
Together with the Xft.dpi setting (I use 220) this gives me a quite usable editor. If you have any other tips ShadowEO, I'd love to hear them!
One thing I'd like to figure out is how to modify the DPI for the Mir GDK Backend. Currently GTK3 applications started with the backend are way to small.
ShadowEO said:
One thing I'd like to figure out is how to modify the DPI for the Mir GDK Backend. Currently GTK3 applications started with the backend are way to small.
Click to expand...
Click to collapse
Do you have a specific example? Which application are you looking at?
doniks said:
Do you have a specific example? Which application are you looking at?
Click to expand...
Click to collapse
Sorry, for some reason I wasn't subscribed to this post (weird.)
Anyway the specific application I was looking at was gedit, when started with the native GDK Mir backend, it is almost unusable with touch as the elements are so small. GDK_SCALE doesn't work and neither does any of the GTK dconf settings for scaling.
Also, I have switched to using rc-proposed, so any more changes I do will likely be able to be installed without worrying about the snapshot channel.
Also messing with some touch-screen specific .gtk2.0-rc entries seem to help, but since I reformatted, I don't quite have those offhand at the moment. I'll have to look them up again.
Hi!
Thanks a lot for all these useful explanations! Finally I was able to run Firefox on my bq E4.5 (rc-proposed)! But I have a few questions:
1) I don't have any on-screen keyboard
2) it works like with a mouse (no touch scrolling for instance)
Is there something I can do about that?
takri said:
Hi!
Thanks a lot for all these useful explanations! Finally I was able to run Firefox on my bq E4.5 (rc-proposed)! But I have a few questions:
1) I don't have any on-screen keyboard
2) it works like with a mouse (no touch scrolling for instance)
Is there something I can do about that?
Click to expand...
Click to collapse
You could try the touchegg package for multi touch gestures, I haven't gotten around to testing it yet. As for keyboard, you can use onboard for most applications or if the application is a QT application, it will pop up the system keyboard (behavior was exhibited by calibre)
ShadowEO said:
You could try the touchegg package for multi touch gestures, I haven't gotten around to testing it yet. As for keyboard, you can use onboard for most applications or if the application is a QT application, it will pop up the system keyboard (behavior was exhibited by calibre)
Click to expand...
Click to collapse
Thanks a lot for your answer. Sorry I don't know much yet about all this so my questions might be silly!
1) I installed touchegg but I don't know how to make it work
2) I have no keyboard in any app I installed (caja, gedit, firefox, ...)
Another question: I have a bq E4.5 and although I have 3.5G of free space on my internal memory the space available for apt-get-ed apps is much smaller (I have 50M left after installing just those few apps above). So no way to try libreoffice or other heavier app. Do you know if there is a solution for that?
Thank you very much!
takri said:
2) I have no keyboard in any app I installed (caja, gedit, firefox, ...)
Click to expand...
Click to collapse
If you use the matchbox setup I described above then you should have a keyboard.
Another question: I have a bq E4.5 and although I have 3.5G of free space on my internal memory the space available for apt-get-ed apps is much smaller (I have 50M left after installing just those few apps above). So no way to try libreoffice or other heavier app. Do you know if there is a solution for that?
Click to expand...
Click to collapse
This website describes a tweak to put the apt cache on an external SD card. It's in German, but the command lines should be clear enough. Let us know how it goes.
https://wiki.ubuntuusers.de/Ubuntu_Touch/Terminal/#Freien-Speicher-beobachten
You would need to run touchegg in the wrapper. Sadly wth keyboard, the only applications that will get the system keyboard are QT based applications. GTK+ and other applications will require onboard to be installed. I messed around with trying to install maliit-context-gtk2 to get the system keyboard to show in all apps, but that broke the keyboard completely.
Remember XMir is better used with a physical keyboard since it doesn't trigger the Ubuntu keyboard for everything.
You can also make the system img bigger if using MultiROM: you simply run e2fsck -fp /path/to/Ubuntu.IMG and resize2fs <target size> /path/to/Ubuntu.IMG.
ShadowEO said:
You would need to run touchegg in the wrapper.
Click to expand...
Click to collapse
I've played around with this a bit, but I can't get touchegg to work. I start an xmir application, then log in via ssh from my desktop. After setting the DISPLAY variable, I can start more X applications ok. After starting touchegg I see an output like this:
Code:
Reading config from "/home/phablet/.config/touchegg/touchegg.conf"
Try to make a multitouch gesture. If everything goes well the information about the gesture must appear
[+] Avaliable gesture:
Name -> Flick
[+] Avaliable gesture:
Name -> Drag
[+] Avaliable gesture:
Name -> Pinch
[+] Avaliable gesture:
Name -> Rotate
[+] Avaliable gesture:
Name -> Tap
[+] Avaliable gesture:
Name -> Touch
I assume that I am supposed to see some more output when a touch gesture is recognised by touchegg, but nothing ever shows up.
I can see touch events with either xinput or evtest
Code:
$ xinput test "xmir-fake-touch-pointer:0"
motion a[0]=36317 a[1]=42290
button press 1
motion a[0]=36590 a[1]=41730
motion a[0]=36645 a[1]=41275
motion a[0]=36536 a[1]=40469
motion a[0]=36263 a[1]=39524
motion a[0]=35935 a[1]=39034
motion a[0]=34897 a[1]=38019
motion a[0]=33532 a[1]=36934
motion a[0]=32713 a[1]=36303
motion a[0]=31839 a[1]=35778
motion a[0]=31293 a[1]=35533
motion a[0]=30856 a[1]=35323
motion a[0]=30638 a[1]=35253
motion a[0]=30419 a[1]=35148
motion a[0]=30255 a[1]=35078
motion a[0]=29928 a[1]=34903
motion a[0]=29873 a[1]=34868
motion a[0]=29873 a[1]=34868
motion a[0]=29873 a[1]=34868
button release 1
Code:
$ evtest /dev/input/event0
Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "elan-touchscreen"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event type 3 (EV_ABS)
Event code 47 (ABS_MT_SLOT)
Value 0
Min 0
Max 9
Event code 48 (ABS_MT_TOUCH_MAJOR)
Value 0
Min 0
Max 31
Event code 53 (ABS_MT_POSITION_X)
Value 0
Min 0
Max 1343
Event code 54 (ABS_MT_POSITION_Y)
Value 0
Min 0
Max 2239
Event code 57 (ABS_MT_TRACKING_ID)
Value 0
Min 0
Max 65535
Event code 58 (ABS_MT_PRESSURE)
Value 0
Min 0
Max 255
Properties:
Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
Event: time 9936.473027, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1159
Event: time 9936.473088, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 12
Event: time 9936.473088, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 27
Event: time 9936.473118, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 338
Event: time 9936.473118, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1059
Event: time 9936.473149, -------------- SYN_REPORT ------------
Event: time 9936.509709, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 11
Event: time 9936.509709, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 43
Event: time 9936.509709, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 351
Event: time 9936.509739, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1061
Event: time 9936.509739, -------------- SYN_REPORT ------------
Event: time 9936.512791, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 46
Event: time 9936.512791, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 357
Event: time 9936.512791, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1063
Some websites point to synclient for the configuration of touchegg, but that doesn't seem to work in Xmir:
Code:
$ synclient
Couldn't find synaptics properties. No synaptics driver loaded?
Does anyone else have more luck with touchegg?
While researching it, I stumbled over references to xSwipe, but I haven't looked into that any further.
ShadowEO said:
You would need to run touchegg in the wrapper. Sadly wth keyboard, the only applications that will get the system keyboard are QT based applications. GTK+ and other applications will require onboard to be installed. I messed around with trying to install maliit-context-gtk2 to get the system keyboard to show in all apps, but that broke the keyboard completely.
Click to expand...
Click to collapse
Just to reiterate, the matchbox-keyboard works fine for me!
Oh, and one thing I wanted to share: The firefox extension Grab and Drag allows a more natural touch screen style drag-to-scroll.
I completely forgot the matchbox keyboard while writing that reply, I'm not sure what's going on with touchegg as I haven't had a chance to play with it on Ubuntu touch. It could be that XMir isn't actually passing that much information about touch events.
matchbox-window-manager struggle
I am on the new Aquarius m10 Ubuntu tablet.
Tried to run tome applications and realized the X11 and Mir problem.
Came across your solution! Thank you for sharring!
Well, I dont seem to be able to install matchbox-window-manager
It shows a lot of missing dependencies and I am not abble to install them manually either..
The following packages have unmet dependencies:
matchbox-window-manager : Depends: libmatchbox1 (>= 1.7-1) but it is not going to be installed
Depends: libstartup-notification0 (>= 0.2) but it is not going to be installed
Depends: libxsettings-client0 but it is not going to be installed
Any light?? Thank you very much
eskizon said:
I am on the new Aquarius m10 Ubuntu tablet.
Tried to run tome applications and realized the X11 and Mir problem.
Came across your solution! Thank you for sharring!
Well, I dont seem to be able to install matchbox-window-manager
It shows a lot of missing dependencies and I am not abble to install them manually either..
The following packages have unmet dependencies:
matchbox-window-manager : Depends: libmatchbox1 (>= 1.7-1) but it is not going to be installed
Depends: libstartup-notification0 (>= 0.2) but it is not going to be installed
Depends: libxsettings-client0 but it is not going to be installed
Any light?? Thank you very much
Click to expand...
Click to collapse
Mhm, not sure. You do have set it to read-write and you did an apt update, right?
doniks said:
Mhm, not sure. You do have set it to read-write and you did an apt update, right?
Click to expand...
Click to collapse
Thanks for sharing this info! I also own the M10 ubuntu tablet and try to run some X11 apps.
I am able to apt-get matchbox-window-manager. But it won't start and says it can't find the display.
Running either:
Code:
matchbox-window-manager
matchbox-window-manager -d :0
as a normal user or root always returns: "can't open display! check your DISPLAY variable.".
ubuntu-pocket-desktop is up to date and I also set the DPI in ~/.Xdefaults.
What could be the reason it can't find the display? What could I try?
Tazard4 said:
What could be the reason it can't find the display?
Click to expand...
Click to collapse
You don't have an X server running. At least not at :0.
What could I try?
Click to expand...
Click to collapse
Follow the instructions in the original post or in my post #4.
Bumping this thread as I've edited the OP with the official instructions for running Legacy X Applications on Ubuntu Touch. As well as information about getting the system maliit-based OSK showing in X Applications (It's not that great though, you still may have better luck with matchbox-keyboard/on-board, but not sure how you'd even start those in Libertine.)

Failed to upload certificate on TV 2.4

I have UE48J6250 TV, latest Tizen Studio. On TV Developer Mode is enabled. Remote Device Manager registered TV and I am connected. On top bar of Studio I can see UJ6200 and IP address of my TV.
In Tizen Studio I've created jQuery Navigation project and haven't modified any code. TV - 2.4.
Now I have successfully created certificates, including distribution one.
If I click on "Installed Web App List", I can see some of the apps installed.
When I click on Permit to Install Applications, I'm always getting Failed to upload certificate error.
Any clue what might be wrong?
Sorry.
I have nearly ZERO experience with TV...
Are you able to work with SDB?
Code:
sdb capability
This Command could show you something like this...
https://forum.xda-developers.com/showpost.php?p=69343637&postcount=51
Code:
secure_protocol:disabled
intershell_support:enabled
filesync_support:pushpull
usbproto_support:disabled
sockproto_support:enabled
rootonoff_support:enabled
zone_support:disabled
multiuser_support:disabled
cpu_arch:x86
profile_name:mobile
vendor_name:Tizen
[B]platform_version:2.4.0[/B]
product_version:unknown
sdbd_version:2.2.31
sdbd_plugin_version:unknown
syncwinsz_support:enabled
This is from Mobile... Platform means Tizen Version...
No idea if your TV supports this output or you are able to connect via:
Code:
sdb shell
And check what is inside folder:
/home/developer
No idea if I will increase my ""skills"" with Tizen Studio 1.1... and install TV profile...
Best Regards
adfree said:
Sorry.
I have nearly ZERO experience with TV...
Are you able to work with SDB?
Code:
sdb capability
This Command could show you something like this...
https://forum.xda-developers.com/showpost.php?p=69343637&postcount=51
Code:
secure_protocol:disabled
intershell_support:enabled
filesync_support:pushpull
usbproto_support:disabled
sockproto_support:enabled
rootonoff_support:enabled
zone_support:disabled
multiuser_support:disabled
cpu_arch:x86
profile_name:mobile
vendor_name:Tizen
[B]platform_version:2.4.0[/B]
product_version:unknown
sdbd_version:2.2.31
sdbd_plugin_version:unknown
syncwinsz_support:enabled
This is from Mobile... Platform means Tizen Version...
No idea if your TV supports this output or you are able to connect via:
Code:
sdb shell
And check what is inside folder:
/home/developer
No idea if I will increase my ""skills"" with Tizen Studio 1.1... and install TV profile...
Best Regards
Click to expand...
Click to collapse
That sheds some light at least... Thanks!
secure_protocol:enabled
rootcmd_support:disabled
zone_support:disabled
multiuser_support:disabled
cpu_arch:armv7
profile_name:tv
vendor_name:Samsung
platform_version:2.3.0
product_version:1.0
sdbd_version:2.2.17
sdb shell just says "closed" and jumping out of sdb.
Now there is no official way to develop on 2.3 TV, as far as I understand. From the other side, dozens of new apps are appearing weekly on my TV app store.
This looks interesting:
https://developer.tizen.org/forums/native-application-development/how-get-duid-samsung-smart-tv
Look at SDB hints... with repeadly...
Now I am trying to install TV extension to Tizen Studio 1.1
Only to play little bit around...
Wearables and TV is not soooo interesting for me... sorry.
So I have no real experience with TV... never seen Firmware nor other Stuff for research...
Best Regards
some progress has been made...
I've also downloaded old IDE, which is called Samsung TV IDE. Then I was trying to fight with certificates again. Since it is obsolete, the links are not working for generating new certificate. Importing also was not working - it was telling wrong password in XML. So what I did is I copied certificates from new Tizen Studio, where I generated certificates to samsung-tv-sdk-data\keystore, including device-profile.xml.
And to my big surprise, I was able to install certificate with old Samsung TV IDE! Then I tried to run app and it works as well!!!
Then I tried one step more - running app from new Tizen Studio, since certificate is already installed and what a magic, it also worked!
Now few questions, before I dive in:
- Tizen Studio is giving me the following error very often:
An internal error occurred during: "Compute launch button tooltip".
org.eclipse.core.internal.resources.File cannot be cast to org.eclipse.core.resources.IProject
Click to expand...
Click to collapse
- The guy from your link also asked the same question: how to install the app on TV, so it can be launched without using PC?
- How the certificates are being installed? Using sdb push? Which command exactly?
- Can I have any debug log output while my app is running? Currently when I am connecting to TV using remote device manager it says "Log is not supported. log is not available".
- I'm trying default AnalogWatch sample, which in index.html has the following: <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">. However, the app is still running with scrollbars, means it is taking wrong screen size. How can I take the proper screen resolution?
Thanks a lot for your help.
Thanx for feedback about your progress. :good:
Yesterday I have installed Tizen Studio 1.1... TV extension
And first time I have created TV Profile in Emulator...
Also TV Emulator seems make same trouble with SDB...
No SDB as Security is fully enabled...
No Root
No access via SDB
No idea yet...
Later I will add output from SDB capability command
Here I have no idea...
----------------------------------------------------------------------------------------
Tizen Studio / SDK problems...
I have for instance Windows 7... 64 bit PC
Maybe if you share your Computer Config...
Windows Version?
Computer or Notebook?
Then maybe you can find somewhere answer in Internet...
For me it looks like... as Windows 10... and Notebooks have more troubles with Tizen SDK stuff...
Only idea.
Best Regards
---------- Post added 20th January 2017 at 12:22 AM ---------- Previous post was 19th January 2017 at 11:52 PM ----------
Code:
[B]sdb version[/B]
Smart Development Bridge version 2.3.0
[B]sdb capability[/B]
[COLOR="Red"][B]secure_protocol:enabled[/B][/COLOR]
[B][COLOR="Red"]intershell_support:disabled[/COLOR][/B]
filesync_support:push
usbproto_support:disabled
sockproto_support:enabled
syncwinsz_support:enabled
[COLOR="Red"][B]rootonoff_support:disabled[/B][/COLOR]
zone_support:disabled
multiuser_support:enabled
cpu_arch:x86
sdk_toolpath:/home/owner/share/tmp/sdk_tools
profile_name:tv
vendor_name:Samsung
can_launch:tv-samsung
platform_version:3.0
product_version:3.0
sdbd_version:2.2.31
sdbd_plugin_version:3.1.7_EM_REL
sdbd_cap_version:1.0
[B][COLOR="Red"]log_enable:disabled[/COLOR][/B]
log_path:/tmp
[B]sdb root on[/B]
Permission denied
[B]sdb shell[/B]
closed
closed
Oh, I have not seen TV Simulator... but this not work with SDB as it seems...
Result is from Emulator Manager... with latest SDB 2.3.0
I have no idea, how with easy steps enable SDB...
From capability... it looks like sdb push could work... maybe also:
Code:
[B]sdb install[/B]
Will try on Emulator...
But this is risky, if you not know what is inside... and how to remove...
Best Regards
---------- Post added at 12:35 AM ---------- Previous post was at 12:22 AM ----------
Code:
sdb push sdb.exe /home
WARNING: Your data is to be sent over an unencrypted connection and could be read by others.
pushed sdb.exe 100% 3163KB 4974KB/s
error: failed to close '/home/sdb.exe': Permission denied
Code:
sdb push sdb.exe /home/developer
WARNING: Your data is to be sent over an unencrypted connection and could be read by others.
pushed sdb.exe 100% 3163KB 4966KB/s
error: failed to close '/home/developer/sdb.exe': Permission denied
Code:
sdb install Line_101.wgt
WARNING: Your data is to be sent over an unencrypted connection and could be read by others.
pushed Line_101.wgt 100% 1883KB 0KB/s
1 file(s) pushed. 0 file(s) skipped.
Line_101.wgt 3964KB/s (1928439 bytes in 0.475s)
closed
closed
I had no better idea as copy sdb.exe... but failed into both path:
Code:
/home
/home/developer
Also sdb install seems not work... complete... maybe only first part... copy...
Best Regards
hello
did you find a solution to your problem?
i have the same problem
i cannot install with sdb (response : closed)
adfree said:
Thanx for feedback about your progress. :good:
Yesterday I have installed Tizen Studio 1.1... TV extension
And first time I have created TV Profile in Emulator...
Also TV Emulator seems make same trouble with SDB...
No SDB as Security is fully enabled...
No Root
No access via SDB
No idea yet...
Later I will add output from SDB capability command
Here I have no idea...
----------------------------------------------------------------------------------------
Tizen Studio / SDK problems...
I have for instance Windows 7... 64 bit PC
Maybe if you share your Computer Config...
Windows Version?
Computer or Notebook?
Then maybe you can find somewhere answer in Internet...
For me it looks like... as Windows 10... and Notebooks have more troubles with Tizen SDK stuff...
Only idea.
Best Regards
---------- Post added 20th January 2017 at 12:22 AM ---------- Previous post was 19th January 2017 at 11:52 PM ----------
Code:
[B]sdb version[/B]
Smart Development Bridge version 2.3.0
[B]sdb capability[/B]
[COLOR="Red"][B]secure_protocol:enabled[/B][/COLOR]
[B][COLOR="Red"]intershell_support:disabled[/COLOR][/B]
filesync_support:push
usbproto_support:disabled
sockproto_support:enabled
syncwinsz_support:enabled
[COLOR="Red"][B]rootonoff_support:disabled[/B][/COLOR]
zone_support:disabled
multiuser_support:enabled
cpu_arch:x86
sdk_toolpath:/home/owner/share/tmp/sdk_tools
profile_name:tv
vendor_name:Samsung
can_launch:tv-samsung
platform_version:3.0
product_version:3.0
sdbd_version:2.2.31
sdbd_plugin_version:3.1.7_EM_REL
sdbd_cap_version:1.0
[B][COLOR="Red"]log_enable:disabled[/COLOR][/B]
log_path:/tmp
[B]sdb root on[/B]
Permission denied
[B]sdb shell[/B]
closed
closed
Oh, I have not seen TV Simulator... but this not work with SDB as it seems...
Result is from Emulator Manager... with latest SDB 2.3.0
I have no idea, how with easy steps enable SDB...
From capability... it looks like sdb push could work... maybe also:
Code:
[B]sdb install[/B]
Will try on Emulator...
But this is risky, if you not know what is inside... and how to remove...
Best Regards
---------- Post added at 12:35 AM ---------- Previous post was at 12:22 AM ----------
Code:
sdb push sdb.exe /home
WARNING: Your data is to be sent over an unencrypted connection and could be read by others.
pushed sdb.exe 100% 3163KB 4974KB/s
error: failed to close '/home/sdb.exe': Permission denied
Code:
sdb push sdb.exe /home/developer
WARNING: Your data is to be sent over an unencrypted connection and could be read by others.
pushed sdb.exe 100% 3163KB 4966KB/s
error: failed to close '/home/developer/sdb.exe': Permission denied
Code:
sdb install Line_101.wgt
WARNING: Your data is to be sent over an unencrypted connection and could be read by others.
pushed Line_101.wgt 100% 1883KB 0KB/s
1 file(s) pushed. 0 file(s) skipped.
Line_101.wgt 3964KB/s (1928439 bytes in 0.475s)
closed
closed
I had no better idea as copy sdb.exe... but failed into both path:
Code:
/home
/home/developer
Also sdb install seems not work... complete... maybe only first part... copy...
Best Regards
Click to expand...
Click to collapse
Still my old LG TV is alive... So in near future no Samsung TV in my hands...
I have never own experiences with Samsung TV...
But still my "Google knowledge"...
Depend on Model... and on Firmware...
Samsung only increase Security... against all and everywhere...
So without knowing your TV Model... and maybe Firmware Version...
Best Regards
P.S.:
Own experiences with Tizen Mobile and Tizen Wearable...
Tizen su xxxx

Run pidgin in ubuntu touch on a Nexus5. Problem with Mir

Hi
I'm trying to run pidgin in ubuntu touch which is installed on Nexus 5.
I did try to run it in libertine container, however it fails with the follwoing error.
Code:
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Failed to connect to Mir: Failed to connect: not accepted by server
(EE)
I have also tried to run it without the container using the following desktop file
Code:
[Desktop Entry]
Name=Pidgin Internet Messenger
GenericName=Internet Messenger
Comment=Chat over IM. Supports AIM, Google Talk, Jabber/XMPP, MSN, Yahoo and more
Exec=pidgin
Icon=pidgin
StartupNotify=true
Terminal=false
Type=Application
Categories=Network;InstantMessaging;
X-MessagingMenu-UsesChatSection=true
X-Ubuntu-Touch=true
X-Ubuntu-Gettext-Domain=pidgin
X-Ubuntu-XMir-Enable=true
To run pidgin I am using the following script, launching it from phone's command line
Code:
#!/bin/bash
DISP=:1
Xmir :1 -mirSocket /var/run/mir_socket --desktop_file_hint=/home/phablet/pidgin.desktop -debug &
sleep 0.5;
DISPLAY=:1 pidgin &
However, Xmir failed with the following error.
Code:
ARM architecture: Defaulting to software mode because glamor is not stable
XMir initialized with 2 visuals:
Visual id 0x28: ff ff00 ff0000, 24 planes
Visual id 0x29: ff ff00 ff0000, 24 planes
Realize ROOT window 0xb8a6d530 id=0xea "": 1080x1920 +0+0 parent=(nil)
depth=24 redir=0 type=0 class=1 visibility=3 viewable=1
override=0 _NET_WM_WINDOW_TYPE=0()
WM_TRANSIENT_FOR=(nil)
WM_HINTS=<none>
Aborted
I checked that unity is running, and the resullt of "ps aux | grep unity" was
Code:
unity-system-compositor --disable-overlays=false --spinner=/usr/bin/unity-system-compositor-spinner --file /run/mir_socket --from-dm-fd 10 --to-dm-fd 13 --vt 1
I also checked that mir_socket is created and reachable under /var/run and /run directories
There are no errors in lightdm file
But Xorg log file shows the following error
Code:
[ 89.205] (II) No BusID or DriverName specified - opening /dev/dri/card0
directory
[ 89.205] (WW) Falling back to old probe method for fbdev
[ 89.205] (WW) Falling back to old probe method for modesetting
[ 89.206] No devices to configure. Configuration failed.
[ 89.206] (EE) Server terminated with error (2). Closing log file.
The directory /dev/dri is missing on my phone. Although libdrm2 is installed
Any ideas how to overcome this problem?
Mqhash said:
Hi
I'm trying to run pidgin in ubuntu touch which is installed on Nexus 5.
I did try to run it in libertine container, however it fails with the follwoing error.
Code:
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Failed to connect to Mir: Failed to connect: not accepted by server
(EE)
I have also tried to run it without the container using the following desktop file
Code:
[Desktop Entry]
Name=Pidgin Internet Messenger
GenericName=Internet Messenger
Comment=Chat over IM. Supports AIM, Google Talk, Jabber/XMPP, MSN, Yahoo and more
Exec=pidgin
Icon=pidgin
StartupNotify=true
Terminal=false
Type=Application
Categories=Network;InstantMessaging;
X-MessagingMenu-UsesChatSection=true
X-Ubuntu-Touch=true
X-Ubuntu-Gettext-Domain=pidgin
X-Ubuntu-XMir-Enable=true
To run pidgin I am using the following script, launching it from phone's command line
Code:
#!/bin/bash
DISP=:1
Xmir :1 -mirSocket /var/run/mir_socket --desktop_file_hint=/home/phablet/pidgin.desktop -debug &
sleep 0.5;
DISPLAY=:1 pidgin &
However, Xmir failed with the following error.
Code:
ARM architecture: Defaulting to software mode because glamor is not stable
XMir initialized with 2 visuals:
Visual id 0x28: ff ff00 ff0000, 24 planes
Visual id 0x29: ff ff00 ff0000, 24 planes
Realize ROOT window 0xb8a6d530 id=0xea "": 1080x1920 +0+0 parent=(nil)
depth=24 redir=0 type=0 class=1 visibility=3 viewable=1
override=0 _NET_WM_WINDOW_TYPE=0()
WM_TRANSIENT_FOR=(nil)
WM_HINTS=<none>
Aborted
I checked that unity is running, and the resullt of "ps aux | grep unity" was
Code:
unity-system-compositor --disable-overlays=false --spinner=/usr/bin/unity-system-compositor-spinner --file /run/mir_socket --from-dm-fd 10 --to-dm-fd 13 --vt 1
I also checked that mir_socket is created and reachable under /var/run and /run directories
There are no errors in lightdm file
But Xorg log file shows the following error
Code:
[ 89.205] (II) No BusID or DriverName specified - opening /dev/dri/card0
directory
[ 89.205] (WW) Falling back to old probe method for fbdev
[ 89.205] (WW) Falling back to old probe method for modesetting
[ 89.206] No devices to configure. Configuration failed.
[ 89.206] (EE) Server terminated with error (2). Closing log file.
The directory /dev/dri is missing on my phone. Although libdrm2 is installed
Any ideas how to overcome this problem?
Click to expand...
Click to collapse
Unfortunately, the only real good method of running X11 applications on Ubuntu Touch is via Libertine. That's odd that it won't connect to Mir. /dev/dri should indeed be missing from your phone, most phones do not expose DRM/DRI to the OS as they don't always have native support for it (for example, Qualcomm devices require the msm_kgsl_drm kernel module, however that module doesn't compile properly on newer kernels.)
On Android devices, an abstraction layer known as Libhybris is used for handling graphics and hardware by wrapping the native Android drivers and using them.
The only thing I could suggest is possibly creating a new empty libertine container and install only pidgin on it to see if it could possibly be an issue with your container, last time I used Ubuntu Touch, Pidgin worked out of the box in Libertine.
Thank you for your reply
ShadowEO said:
The only thing I could suggest is possibly creating a new empty libertine container and install only pidgin on it to see if it could possibly be an issue with your container.
Click to expand...
Click to collapse
Unfortunately, I did try to create a new container but same error. No change . I even tried to run firefox but same error
ShadowEO said:
last time I used Ubuntu Touch, Pidgin worked out of the box in Libertine.
Click to expand...
Click to collapse
What phone were you running ubuntu touch on?
Mqhash said:
Hi
I'm trying to run pidgin in ubuntu touch which is installed on Nexus 5.
I did try to run it in libertine container, however it fails with the follwoing error.
Code:
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Failed to connect to Mir: Failed to connect: not accepted by server
(EE)
Click to expand...
Click to collapse
How exactly did you get to this point? Which UT image? Was libertine included? The scope? The app? Did you install parts of it via apt? How did you run it? Where/how do you read the error?
I have also tried to run it without the container using the following desktop file
Click to expand...
Click to collapse
When you say without the container what exactly do you mean? If you only make the desktop file yourself, then there still is only one pidgin executable and that is the one in the container, right ... I don't know how to connect the two.
Code:
[Desktop Entry]
Name=Pidgin Internet Messenger
GenericName=Internet Messenger
Comment=Chat over IM. Supports AIM, Google Talk, Jabber/XMPP, MSN, Yahoo and more
Exec=pidgin
Icon=pidgin
StartupNotify=true
Terminal=false
Type=Application
Categories=Network;InstantMessaging;
X-MessagingMenu-UsesChatSection=true
X-Ubuntu-Touch=true
X-Ubuntu-Gettext-Domain=pidgin
X-Ubuntu-XMir-Enable=true
To run pidgin I am using the following script, launching it from phone's command line
Code:
#!/bin/bash
DISP=:1
Xmir :1 -mirSocket /var/run/mir_socket --desktop_file_hint=/home/phablet/pidgin.desktop -debug &
sleep 0.5;
DISPLAY=:1 pidgin &
However, Xmir failed with the following error.
Code:
ARM architecture: Defaulting to software mode because glamor is not stable
XMir initialized with 2 visuals:
Visual id 0x28: ff ff00 ff0000, 24 planes
Visual id 0x29: ff ff00 ff0000, 24 planes
Realize ROOT window 0xb8a6d530 id=0xea "": 1080x1920 +0+0 parent=(nil)
depth=24 redir=0 type=0 class=1 visibility=3 viewable=1
override=0 _NET_WM_WINDOW_TYPE=0()
WM_TRANSIENT_FOR=(nil)
WM_HINTS=<none>
Aborted
Click to expand...
Click to collapse
So, firstly, I think libertine should work, so I'd focus on that first. Secondly, if you want to explore an alternative route, I had things working in the past with:
* install via apt
* write a shell script like yours (search the internet for that desktop_file_hint, it seems to have some magical hidden meaning, you do not want to set it to pidgin, but I think to some uhm, whatdidtheycallit, "unconfined" app I think)
* write a desktop file and point it to shell script, and launch it by tapping on the display

Categories

Resources