[FullHDMI] Official FullHDMI discussion
What is FullHDMI:
FullHDMI is an app that mirrors the Evo screen onto an external display using the HDMI port on the phone.
The app has been released to the market. Current version is 1.3.0.
What do I need to use this app:
- HTC EVO 4G - No Root Required!! Works out of the box!!
This is the only thing needed. No need to flash a kernel for normal functionality.
A special Sense kernel is linked on this page and provides better and smoother mirroring than stock, and also allow the user to select where the audio should go, over HDMI or play on the phone (for Sense).
(For general testing and troubleshooting of FullHDMI beta#1, Lokifish has put together a guide here.)
Some things that should be noted about FullHDMI:
- Stability: To achieve hardware acceleration, video memory (minimal) has to be used. Some poorly coded programs that also use video memory will try to grab a hold of the entire memory block instead of the available. This will cause them to crash when you are in hardware mode reserving a small block of memory to yourself. The only application that I found to be doing this is, strangely enough, HTC's Gallery (specifically video playback mode). Gallery video playback will keep trying to acquire the whole video memory, put the phone in a tight infinite loop doing so and eventually force close (after about 40 sec).
Compatibility or software mode does not use video memory and is safe to keep on while launching Galley video playback. Compatibility mode also does not make use of the "supercharged" feature, custom res or fullscreen mode.
- FPS: Your frames per second will not be the same as on your phone. This is because the app is designed to keep the phone as primary display and output a secondary to the HDMI port. You are also outputting, most likely, a 1280x720 pixels which is almost ~2.5 times more the normal output. So in total you are pushing 3.5 lcd size screen worth of pixels (phone lcs + hdmi). Things can be improved if we freeze the phone display, but that wont be mirroring (maybe a feature in FullHDMI 2). Expect, however, to get more FPS in 3-D games (I get upwards of 40 fps on Raging Thunder 2) than 2-D sine he 2-D engine does the mirroring.
- Lag: Some TVs (like Insignia) use an image enhancing and noise reducing engine. This extra processing puts the TV about half a second behind the phone making games unplayable by looking at the TV only. Watching movies is fine since nobody cares if the phone is a little faster than the TV. On this Insignia TV, I had to go in and turn off two image enhancing and noise reducing features, and now my phone and TV track together. I know Sony has its own engine, I do not know if the extra processing there introduces lag. I have two other TVs with no lag issues, but then they don't use any image enhancing engines.
Again, the app should not lag in mirroring, if you experience any lag then please check your TV and share your observation with us.
- Screen Clipping: Some TVs have different picture display settings like "cinama", "game", "zoom"... Some of these settings will changes the aspect ratio and zoom/clip the image. If you notice that the mirroring is off the screen and the edges are clipped, then either use "Normal" display setting in your TV or use the custom resolution feature of the app to display on the visible area of your TV screen.
- Other HDMI Apps: This app was not designed to display youtube or other apps that already work over HDMI. To use such apps you should stop FullHDMI from driving the HDMI signal first. This may change in the future.
- Resolutions Supported: As of now, the HDMI drivers will only output 16 bit color depth and 480p/720p. Setting the custom resolution to anything higher than 1280x720 will cause your TV screen to go blank right now. This resolution limitation is tied to the drivers and not the app itself. The HDMI chip supports 32 bit color depth and 1080p, the drivers need a lot of work to get that display out but it can be done (another future development goal). The custom kernel currently outputs 32bit color depth to the phone's LCD.
- Audio: While the mirroring service is active, it will route both your video and audio through the HDMI port, even if you unplug your cable. This means that when you see in your notification bar that FullHDMI status is "Actively Mirroring" and want the audio to come back to your phone, then you should go in the app and hit the "stop service" button.
Requested Feature List (finished ones will be available with next beta):
- User control over audio:[DONE] This feature allows the user to select whether to route the audio through the HDMI port or keep it on the phone playing through the speaker or the headset.
- Support for any kernel with or without custom drivers. (Custom drivers provide 35%+ more FPS) [DONE]
- Support for AOSP ROMs. [DONE, audio only through phone]
- Support for CM7. [DONE, audio only through phone]
- Support for non-rooted phones.(hardware mode)[DONE]
- Support the following resolutions:
HD_720p @ 1280x720 [DONE (Requires Custom Kernel)]
SVGA @ 800x600 [DONE]
PAL @ 720x576 [DONE]
EDTV @ 720x480 [DONE]
VGA @ 640x480 [DONE]