Android Automotive

Run “top”. Are there any processes that are consuming a lot of CPU?

Surfaceflinger seems to be consuming… And contacts :open_mouth:

In fact, there is some troubles with the acceleration. Did you notice. When you scroll, it’s like the rendering is not correctly accelerated.

Is that correct ?

Surfaceflinger is not significant. That would be the dmhd1000 HAL for AMFM radio. I presume that you don’t have one, correct? Let me see if I can reproduce that by unplugging mine.

In fact, I don’t have one.

The android contacts is disturbing :face_with_raised_eyebrow:

No it isn’t. You’re probably in the contacts application, right? There are some issues with the graphics on these at the moment, they’re working on it upstream.

contacts is not on the foreground but still consuming.

Please can you just let me know for the [UBLOX_GPS_HAL=TRUE] [HDMI_RES="{mode}"] is that env variable or not ?

As I said, DO NOT SET THE VARIABLE, unless you have a ublox GPS. I’m not sure why that isn’t clear.

Yes! but I mean where do I need to set them if I need them (in the future) ?!

If you need them in the future, then you set them in the future.

:smiley: but where ? I still don’t know where. Because I’ll maybe need to set HDMI_RES because I would like to test the Android Automotive with a 1920x720 60Hz screen.
At the moment I’m on 1920x1080 but I have some other screens that I would like to check.

I’ve confirmed that the amfm radio hal does that if you don’t have a DMHD1000 installed. Each time that you attempt to launch the Radio application, it adds another 100% (one core) load to the CPU.

Its probably trying to open the non-existent radio in a loop without a sleep. I’ll see if I can add a fix for that. In the mean time, don’t run the radio application!

1 Like

That (HDMI_RES) is a different variable.

I have done this before make until now :
export UBLOX_GPS_HAL=true
Now I did an unset UBLOX_GPS_HAL

But if I want to test a different resolution, should I export HDMI_RES=custom_res ?

Why would you export the variables? Just set them as needed on the commandline as it says in the instructions.

I found something weird. Did you try to build your Androird Automotive with a custom resolution ?

Like following : HDMI_RES=“1920x720@60” m -j32
Then I connect to my screen in HDMI-DVI.
But no display at all (sometimes card reboots on fastboot)

Did you try with other resolution less that Full HD ?

NOTE : I have a Kernel PANIC on bootanimation…

1920x720 does not sound like a standard or common resolution. It is very likely not supported by the hardware. I suggest you stick with known standard resolutions, like 1280x720, 1280x800, 1024x600, etc. I’ve had it set to all 3 of those quite successfully, although there were some timing oddities with 1024x600@60, I had to use 1024x600@70 for that to produce a good image.

Edit: To add to that, if you do, in fact, have a display with 1920x720 resolution, that is an incredibly stretched out aspect ratio (2.67:1), and it would not be even remotely suitable for a landscape application. You wouldn’t be able to get the on-screen keyboard working with that.

I just tried with 1280x720. It seems to work very well. But in fact, I have a screen 1920x720 and it does not work on it.

I still have this error even if I did not set the UBLOX_GPS_HAL

03-29 16:23:23.736 2402 2626 E u-blox : Failing to reopen the serial port
03-29 16:23:24.394 2249 2449 D SWId : Read temperature: 45366
03-29 16:23:24.739 2402 2626 V u-blox : connectReceiver: Open/Reopen the serial port
03-29 16:23:24.739 2402 2626 E u-blox : Cannot open serial port /dev/ttyACM0, return -1 0
03-29 16:23:24.739 2402 2626 V u-blox : CGpsIf::gpsStatus: gpsStatusValue=4(GPS_STATUS_ENGINE_OFF)
03-29 16:23:24.739 2402 2626 E u-blox : Failing to reopen the serial port
03-29 16:23:25.394 2249 2449 D SWId : Read temperature: 45366

Any idea ?

You need to check your variables. You probably didn’t undefine it properly.

I’ve added a variable for enabling DMHD1000 HAL. Note that UNSETTING it will NOT remove it from the output if it was enabled previously – you would have to do a make clean first.

You can also disable it in an existing build that contains it by deleting its rc file from /vendor/etc/init/

1 Like

In fact. Solved now. I don’t have the error anymore.

Thank youu !! will try it tomorrow and i’ll let you know !! :blush:

Thanks a lot !