Vega Live TV Issues
Live TV log capture
To debug issues or report bugs to Amazon, use the following mechanism to capture logs.
- Start the log capture process prior to pushing or installing your app onto the device.
- Configure your log settings with the following.
loggingctl config --set-rate all 60000
loggingctl config --set-level all info
- Reboot the device and start capturing logs
vda shell loggingctl log -f | tee device_logs.txt | grep "epg:\|ktf:\|ktf.\|EpgSync\|kepler.script.channel"
- If you need to file a bug/ticket with Amazon, please share the entire device_logs.txt file.
Live TV Validator Tool
The Live TV Validator Tool is designed to assess your Live TV integration. This tool can validate your manifest file or your VPKG, providing a high-level check of your implementation. It offers a convenient way to verify basic compliance and identify potential issues in your Live TV integration.
To validate a TOML file
kepler exec livetv_validator <path_to_manifest.toml>
To validate a VPKG file
kepler exec livetv_validator <path_to_vpkg> <output_directory>
EPG Sync task crashes due to invariant violation
If your EPG sync task crashes due to an error similar to the following.
E Volta:[KeplerScript-JavaScript] Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'DeviceInfo' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes.
Refer to Vega Headless Tasks and Services for troubleshooting guidance.
The channel is not showing up in the On Now row or Channel Guide
- Reach out to your Amazon contact to make sure you are allowlisted for Live TV as Prerequisites.
-
Verify that the EPG Sync Task runs successfully.
- Install your app on the device.
- You should see your EPG Sync Task run within a few seconds. You can also validate by searching your app logs with the following command:
vda shell loggingctl log -f | tee device_logs.txt | grep "epg:\|ktf:\|ktf.\|EpgSync"
If successful, when you check the logs, you see the following message.
INFO ktf.tm.nests:Successfully scheduled EPG Sync task.
- Reboot the device.
- Make sure you have enabled Channel Tuning and Playback.
The channel is shown as a blank tile in On Now, with no image (only a channel name)
- If a channel is not Gracenote integrated, check if
Program.thumbnailUrl
(UX field list) is correct. - If it is Gracenote integrated, see the following.
The channel has a Gracenote ID, but no metadata shows up in On Now or the Channel Guide
- Make sure you know if your feed is for onTV or GVD and define it correctly as an External ID. Amazon catalog supports onTV for certain marketplaces. If there is a mismatch between what Amazon supports and what type of Gracenote ID you have, please reach out to your Amazon contact. They will likely work with Gracenote to correct the issue.
- Double check the Gracenote ID value. onTV utilizes numerical values only, while GVD is alphanumeric.
When I click the program tile, but my app doesn’t start.
- Check if your manifest.toml is correctly updated.
- Verify that the change channel request is sent successfully.
- You can validate by searching your app logs with the following command.
vda shell loggingctl log -f | tee device_logs.txt | grep "epg:\|ktf:\|ktf.\|EpgSync"
- If successful, when you check the logs, you see the following message.
INFO ktf.tm.channel.client:changeChannel request successful: true
- You can validate by searching your app logs with the following command.
When I click the program tile, the app starts, but content does not start playing
- Check if your channel handler is correctly implemented.
- Verify that the channel handler is called successfully.
- You can validate by searching your app logs with the following command.
vda shell loggingctl log -f | tee device_logs.txt | grep "epg:\|ktf:\|ktf.\|EpgSync"
- If successful, and you are using the
IChannelSeverComponent2
,ChannelServerComponent2
andIChannelServer2
interfaces, you will see the following logs.INFO kepler.script.channel:handleChangeChannelAsync invoked with <content id>
- You can validate by searching your app logs with the following command.
Related topics
- Get Started with Linear TV
- Vega Live TV API Overview
- Manage System Logs and Diagnostics with LoggingCtl
Last updated: Sep 30, 2025