[CM13] ALSA instead of tinyALSA - Android Q&A, Help & Troubleshooting

Hey guys
I already asked this in some way over at Zenfone 2 sub forum but it might be better to post it here since it could be more CM-related than phone related.
At work we're developing an app which requires an x86 based processor to function properly. But we also need to use ALSA instead of tinyALSA related to various startup scripts required for that mentioned application and the application itself. Rewrite the whole parser is out of question due to the amount of work involved to port it over ARM platform.
Anyway we digged through the mixer settings of tinyALSA and came to the conclusion that it's not suitable for our app.
Currently I'm using the CyanogenMod 13 source code with ALSA lib and ALSA utils packages from Android x86 project (the Marshmallow-one of course). The build process is all fine and the binaries are usable inside an ADB shell but I'm not really able to use aplay for recording or playback of audio files.
Right now I'm stuck with the following error:
Code:
aplay: pcm_write:1684: write error: I/O error
I used "alsa_aplay /sdcard/Front_Center.wav -D hw:0,5 " to test the audio playback.
Some other problems occur when I want to use "alsa_ctl init", alsa_amixer can't load default mixer settings, "alsa_aplay -L" results in "NULL" output and so on.
Any suggestions on how to get audio capabilities working with true ALSA?
By the way: Our Zenfone 2 uses an Intel Atom Z3560 processor with rt5647-audio codec.

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.

Need help with raw HID access of Bluetooth device from Android 5.0+

Hi all,
The Scenario
We have a bluetooth hardware device that needs to be accessed from a box (owned by client) running Android 5.1.
Box will run a customized version of Android 5.1.
The device works with vendor specific HID reports.
Changes to ROM to allow device to work are allowable.
Attempt 1:
BluetoothInputDevice + HidService
This is a hidden interface in AOSP that can provide raw hid access to bluetooth hid devices. HidService should throw intents containing received reports, and accepts reports through a "Send report" method.
Unfortunately, it didn't work for me at all. I was unable to receive any HID reports.
Attempt 2:
/dev/hidraw0 + /system/bin/hidrawservice + /system/lib/libhidrawservice.so + external/HidRawAccess/HidRawAccess.java
Here, I thought to create a native executable service hidrawservice called from init.rc with elevated privilege to access /dev/hidraw0
hidrawservice exposes its own interface for /dev/hidraw0 (maybe through a unix socket)
A java + native android service comprising libhidrawservice.so and HidRawAccess.java that exposes direct methods for hidrawservice to android java apps.
The Problems:
for 1, I could never receive any HID reports at all in my app. More details: [I cannot post links here, Sorry. Please search stackoverflow with bluetooth hid host. ]
Specifically, I observe Bluedroid doesn't call any callbacks in jni code of HidService when reports are received.
for 2, I am stuck with SELinux. I can verify that through /dev/hidraw0 the HID reports are accessible. hidrawservice when run from adb shell captures reports. But when I start it from init.rc, Its not able to access /dev/hidraw0
I don't have any prior experience on SELinux policies so if anyone could guide me, would be extremely helpful.
I am seeking community help for either of those. I am also open to any suggestions towards this. I am not seeking to disable SELinux.
If it helps, for now, I am developing with a Nexus 7 2013 tablet, And AOSP is 5.1.1_r14, LMY48G.

[MediaCenter] RPi-Media Center Beta

Welcome everyone to my RPi Media Center. This project is aimed at RPi 2 & RPi 3. Just a couple of things before we get started:​
This project aims to explain how to set up a complete multimedia center (mediacenter), a game station and a download server. All in one. Any use aimed at hacking / stealing content with copyrights / third parties without express consent is prohibited. This project is based on a set of free software that can be easily found on the internet. This project has no lucrative purpose, its sole purpose is to teach and educate people the configuration and use of the different programs. This project was originally maintained by AikonCWD and has since stopped updating the project, so i am taking it on board to get it back up and running smoothly again. Obviously there will and are hick-ups/bugs. Thus for the mean time i will keep the project in Beta until we have a fully functional release.
For DCMA reasons Kodi will be supplied with NO EXTRA ADD-ONS. Please do not ask about them Look HERE if you are such inclined to do so. We do not condone such behavior.
Features:
-Multi-Media Center: Kodi 17.4 Krypton
-Game Center: RetroPie 4.0
-Game Streaming: Moonlight 2.2.1
-Download Center(s): Transmission & PyLoad
-Workstation: XFCE, FireFox & Chromium
-Tools: a bunch of extra tools
Needed Components:
-RPi 2 or PRi3
-MicroSD SDHC card (6gb or more recommended)
-MicroUSB Charger(5Volt and 3Amp)
-Protective enclosure for the RPi
-HDMI Cable
Recommended Extras:
-Power supply cable with the ON/OFF click button switch
-Heat sinks and fan to help keep the RPi Cooler
-Wireless Keyboard and Mouse Combo
-Xbox360 Controller (USB)
Pre-Configured for ease of use:
-Everything is pre-configured for a plug and play functionality. You shouldn't have to set anything up unless you have updated the files.
-Everything is in English, Originally translated from Spanish. (Please note i can support more languages if its needed in the future)
-Protocols SSH and SMB (Samba) are enabled (Username: root / Password: aikoncwd)
-Transmission setup for maximum torrent speeds (IT IS HIGHLY RECCOMENDED TO SET THIS UP WITH YOUR OWN Username and Password! Info on how to do that can be FOUND HERE)
-Access via Zeroconf enabled (For remote control via SmartPhone)
Whats Been Disabled for Performance Reasons:
-AirPlay
-Time Addon
-RSS news reader disabled
-Library Sharing Via UPnP
Okay Lets get started with the Installation, its pretty straight forward i have shrunk the .img as low as i can for the mean time. After Beta is done i will make more of an effort to shrink the file further.
Installation:
1. Download the preconfigured BETA-RPiMediaCenter.img image
2. Record the image on your microSD card :
-Windows : Use Win32DisKImager
-Linux :
Code:
sudo pv BETA-RPiMediaCenter.img | sudo dd of=disk2s1 bs=4M && sync
-MAC : Use the Apple-PiBakery program , thanks to jagarciavi
3. Insert your microSD with the .IMG that we loaded on to the SD-Card In the previous step
4. Plug in the power
5. The Raspberry will light up (Red/Green LED's on the mainboard) and the start up splash will show.
7. RPi Media Center will start automatically at boot every time.
8. (Optional) Verify that the partition occupies 100% of your microSD with the command:
Code:
df -h
MD5 CHECK-SUM:
Code:
921d4d195a795ddef00cf221160836f6
*Verify on windows with this TOOL
After Install
It is recommended that you set-up a static IP for your Media Center. It makes things a whole lot easier if you're using Moonlight and Transmission.
Which can be done by:
Opening Terminal and Typing
Code:
nano /etc/dhcpcd.conf
Then removing # From each of these lines:
Code:
interface eth0
static ip_address=192.168.1.100/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8
And then setting up as to how you need it to. Its different for everyone.
Extras Install Guide:
Configure PyLoad (optional)
PyLoad is a program that allows you to transform your Raspberry into a direct download server . The PyLoad daemon is installed and configured, but it is disabled by default since not all users need to use it. If you want to enable and use PyLoad ... keep reading:
First of all we are going to configure the daemon so that it is auto-executed when turning on the Raspberry . Edit the cron auto-boot file with the command:
Code:
crontab -e
We are located at the bottom, locate the line @reboot pyLoadCore -daemonand remove the comment from the beginning, it should look like this: @reboot pyLoadCore --daemon( you have to put the 2 dashes in front of the word daemon ). Save the changes by pressing the keys: CTRL+ X, then Yand finallyIntro
You will have to restart your Raspberry to have the pyLoad daemon running, remember that Kodi turns on automatically, you must close it to return to the console.
We access PyLoad through a web browser using port 8000 , for example: http://192.168.1.100:8000
The default user is root and password root . In the top menu you can manage the user and change the password (recommended), just below you will find the configuration where you can edit the configuration, captchas plugins etc ... and add any premium account you have from the different hosts.
Overclocking (optional) DO SO AT YOUR OWN RISK!
I recommend enabling a bit of overclock , you'll get more fluency when moving through the Kodi menus and you'll noticeably boost performance when playing emulators. Your CPU will be able to perform faster calculations and access to ram memory or microSD disk will have lower response times.
Strongly recommend use some method of ventilation / cooling in order to avoid reaching 85C , since the RPI lower speed if it reaches that temperature
If you want you can run a benchmark (diagnostic) to test your overclock level, execute the following command:
Code:
curl [url]https://raw.githubusercontent.com/aikoncwd/rpi-benchmark/master/rpi-benchmark.sh[/url] | sudo bash
Raspberry Pi 3: Overclock settings
Edit your file nano /boot/config.txtand paste the following code, you can adjust the values ​​to have more or less overclock:
Code:
force_turbo=0 #Enable cpu-overclock over 1300MHz (default 0)
avoid_pwm_pll=1 #Enable no-relative freq between cpu and gpu cores (default 0)
arm_freq=1300 #Frequency of ARM processor core in MHz (default 1200)
core_freq=550 #Frequency of GPU processor core in MHz (default 400)
over_voltage=6 #ARM/GPU voltage adjust, values over 6 voids warranty (default 0)
sdram_freq=575 #Frequency of SDRAM in MHz (default 450)
sdram_schmoo=0x02000020 #Set SDRAM schmoo to get more than 500MHz freq (default unset)
over_voltage_sdram_p=6 #SDRAM phy voltage adjust (default 0)
over_voltage_sdram_i=4 #SDRAM I/O voltage adjust (default 0)
over_voltage_sdram_c=4 #SDRAM controller voltage adjust (default 0)
gpu_mem=256 #GPU memory in MB. Memory split between ARM and GPU (default 64?)
gpu_freq=550 #Sets core_freq h264_freq isp_freq v3d_freq together (default 300)
v3d_freq=500 #Frequency of 3D block in MHz (default ?)
h264_freq=350 #Frequency of hardware video block in MHz (default ?)
dtparam=sd_overclock=75 #Clock in MHz to use for MMC micrSD (default 50)
dtparam=audio=on #Enables the onboard ALSA audio (always use this ON)
dtparam=spi=on #Enables the SPI interfaces (default OFF)
temp_limit=80 #Overheat protection. Disable overclock if SoC reaches this temp
initial_turbo=60 #Enables turbo mode from boot for the given value in seconds
hdmi_drive=2 #Normal HDMI mode. Sound will be sent if supported and enabled (default 2)
hdmi_ignore_cec_init=1 #Avoids bringing TV out of standby and channel switch when booting (default 0)
hdmi_ignore_cec=0 #Pretends CEC is not supported. No CEC functions will be supported (default 0)
hdmi_force_hotplug=1 #Pretends HDMI hotplug signal is asserted (default 0)
start_x=1 #Enable software decoding (MPEG-2, VC-1, VP6, VP8, Theora, etc. default 0)
overscan_scale=1 #Video Output will respect the overscan settings (default 1)
disable_overscan=0 #Disable overscan configuration. Set 1 if you see black lines on TV (default 0)
disable_splash=1 #Avoids the rainbow splash screen on boot (default 0)
avoid_warnings=1 #Disable warnings (Red=over-temperature ; Rainbow=under-voltage). (default 0)
gpu_mem_256=128
gpu_mem_512=256
gpu_mem_1024=256
Read the commands well, you may want to modify some to customize your image.
Raspberry Pi 2: Overclock settings
Edit your file nano /boot/config.txtand paste the following code, you can adjust the values ​​to have more or less overclock:
gpu_mem=256
gpu_mem_256=128
gpu_mem_512=256
gpu_mem_1024=256
arm_freq=1100
core_freq=550
sdram_freq=483
over_voltage=6
over_voltage_sdram=2
temp_limit=70
force_turbo=0
initial_turbo=60
hdmi_drive=2
hdmi_ignore_cec=0
hdmi_ignore_cec_init=1
hdmi_ignore_hotplug=0
hdmi_force_hotplug=1
#disable_overscan=0
#overscan_scale=1
#overscan_left=49
#overscan_right=49
#overscan_top=29
#overscan_bottom=25
max_usb_current=1
dtparam=audio=on
dtparam=spi=on
You will find a script called bcmstat that allows you to accurately measure the hardware status of your Raspberry, you can see at what speed your CPU is going and at what temperature it is, for this it executes:
/root/bcmstat.sh
MoonLight
*Coming Soon*
DOWNLOAD​HERE
Download Option#2
​
Credits:
AikonCWD for his amazing original work
@Valkiry for continuing the development
BUGS
-Desktop/Emulationstation and wifi addons are currently not working.
Just use These commands for what you need when it goes to the terminal:
Desktop Environment:
Code:
startx
RetroPie:
Code:
emulationstation
Wifi
Code:
./RetroPie-Setup/retropie_packages.sh 829 gui
Bluetooth
Code:
./RetroPie-Setup/retropie_packages.sh 803 gui
I will fix these at a later date But for the mean time let me know how you go
Raspberry Pi Mediacenter
Hi. The previous version from AikonsCWD impressed. I was looking for ways to update KODI on Krypton, found your topic. Thanks for the update, but the scripts do not work, the command line falls out. Are there plans to upgrade from beta? I was looking for a way to cross Raspbyan XFCE and KODI, but really nothing happened. Do not tell me how to update or build your image? Thank you.
P.S. English is not my favorite language.
AlexFBG said:
Hi. The previous version from AikonsCWD impressed. I was looking for ways to update KODI on Krypton, found your topic. Thanks for the update, but the scripts do not work, the command line falls out. Are there plans to upgrade from beta? I was looking for a way to cross Raspbyan XFCE and KODI, but really nothing happened. Do not tell me how to update or build your image? Thank you.
P.S. English is not my favorite language.
Click to expand...
Click to collapse
Thanks for your feedback, I'm looking at updating it this year but I'm not sure when that will occur. The scripts don't work as stated. If you exit out of kodi you will be met with the command line which is where you run said commands to get them to work. Kodi is updating to 18 later this year so I might update the project to support 18 and the scripts till then this runs as intended.
Hello and thanks for the effort!
Although the image is working fine in my RP2+, I tried it into an RPB3+ and looks the OS is not booting.
Any idea what's happening? I tried default values and also overclock values, neither is making bootstrapping the OS.
kikobeats said:
Hello and thanks for the effort!
Although the image is working fine in my RP2+, I tried it into an RPB3+ and looks the OS is not booting.
Any idea what's happening? I tried default values and also overclock values, neither is making bootstrapping the OS.
Click to expand...
Click to collapse
It's not for 3b+.
Only RPi2/3/3B

Custom iMX8 board with Android 10, how to develop with C++ a I2C background service?

I have a specific client request where there is a custom carried board which is controlled by a iMX8 SOM. On this board there is installed the Android system because there are specific Android applications (Java and Kotlin) which need to be run. I need to create a background service which controls specific IO peripherals (I2C, GPIOs, UART, etc...).
I suppose that in order to make a background (using the board IO peripherals) service which runs at the start of the Android OS system is to develop a C/C++ application (CMake based project) which will be cross compiled using a toolchain for the iMX8 and will be started at system boot through the "init.rc" script, right? Have you any available guide/material for such purpose so that I can begin with the best-practice solution?
I already tried using Android NDK, but I have "permission denied" errors also when installing the app in the "system/priv-app" folder (with the correct permissions).
Which is the correct way to approach this kind of project? Thank you.

please helpme "how enable hdmi audio pass thorough in android tv"

i have panasonic 4k tv th-dx625dx before update i have audio pass thorough option and easily ouput 5.1 surround from home theater . but after update this option is missing and unable to out 5.1 sound from home theater through HDMI sound out. and now i have only three option in audio setting 1) PCM 2) Auto 3) DD+ and in pCM and Auto only 2.1 sound out . i search every where but didn't find the solution. is any there app , or any adb command to restore this option . i find a code but dont know how to apply
Multimedia tunneling | Android Open Source Project
source.android.com
Create AudioTrack with HW A/V sync AudioAttributes.
The audio policy manager asks the hardware abstraction layer (HAL) for a device output that supports FLAG_HW_AV_SYNC, and creates an audio track directly connected to this output with no intermediate mixer.
AudioAttributes.Builder aab = new AudioAttributes.Builder();
aab.setUsage(AudioAttributes.USAGE_MEDIA);
aab.setContentType(AudioAttributes.CONTENT_TYPE_MOVIE);
aab.setFlag(AudioAttributes.FLAG_HW_AV_SYNC);
// or, for Android 11 or higher
new tunerConfig = TunerConfiguration(0, avSyncId);
aab.setTunerConfiguration(tunerConfig);
AudioAttributes aa = aab.build();
AudioTrack at = new AudioTrack(aa);
please any one help me . i will greatful to you

Categories

Resources