Firefly开源社区

打印 上一主题 下一主题

RK3288android4.4怎么固定分辨率

22

积分

0

威望

0

贡献

游客

积分
22

RK3288android4.4怎么固定分辨率

发表于 2017-3-14 10:00:21      浏览:8271 | 回复:4        打印      只看该作者   [复制链接] 楼主
求助大神,RK3288 4.4怎么固定分辨率
回复

使用道具 举报

742

积分

68

威望

68

贡献

技术大神

Rank: 3Rank: 3

积分
742
QQ
发表于 2017-3-14 10:29:16        只看该作者  沙发
在设置里可以固定分辨率啊,具体实现你可以看一下package/apps/Setting代码中的HdmiControllerActivity.java.如果你想第一次开机就默认好分辨率的话,你可以借鉴下我的代码,我的是设置自动获取分辨率的,你改成你对应的就好
  1. [tvbox-442.git] / packages / apps / Provision / src / com / android / provision / DefaultActivity.java
  2. diff --git a/packages/apps/Provision/src/com/android/provision/DefaultActivity.java b/packages/apps/Provision/src/com/android/provision/DefaultActivity.java
  3. index aef1799..5b5e642 100755 (executable)
  4. --- a/packages/apps/Provision/src/com/android/provision/DefaultActivity.java
  5. +++ b/packages/apps/Provision/src/com/android/provision/DefaultActivity.java
  6. @@ -29,15 +29,28 @@ import java.util.List;
  7. import android.content.pm.PackageInfo;
  8. import java.io.File;
  9. import android.util.Log;
  10. +import android.os.DisplayOutputManager;
  11. +import android.os.RemoteException;
  12. /**
  13.   * Application that sets the provisioned bit, like SetupWizard does.
  14.   */
  15. +
  16. public class DefaultActivity extends Activity {
  17. +public final static String MODE_HDMI_AUTO  = "auto";

  18.      @Override
  19.      protected void onCreate(Bundle icicle) {
  20.          super.onCreate(icicle);
  21. -
  22. +       DisplayOutputManager mDisplayManagement = null;
  23. +       try {
  24. +       mDisplayManagement = new DisplayOutputManager();
  25. +       } catch(RemoteException e){Log.v("sjf","new displayoutManager error");}
  26. +       if(mDisplayManagement != null)
  27. +       {
  28. +        mDisplayManagement.setMode(mDisplayManagement.MAIN_DISPLAY, mDisplayManagement.DISPLAY_IFACE_HDMI, MODE_HDMI_AUTO);
  29. +        mDisplayManagement.setInterface(mDisplayManagement.MAIN_DISPLAY, mDisplayManagement.DISPLAY_IFACE_HDMI, true);
  30. +       Log.v("sjf","setdisplay");
  31. +       }
  32.          // Add a persistent setting to allow other apps to know the device has been provisioned.
  33.          Settings.Global.putInt(getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 1);
  34.          Settings.Secure.putInt(getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE, 1);
  35. @@ -56,7 +69,6 @@ public class DefaultActivity extends Activity {
  36.          ComponentName name = new ComponentName(this, DefaultActivity.class);
  37.          pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
  38.                  PackageManager.DONT_KILL_APP);
  39. -
  40.          // terminate the activity.
  41.          finish();
  42.      }
复制代码



回复

使用道具 举报

22

积分

0

威望

0

贡献

游客

积分
22
发表于 2017-3-14 12:12:57        只看该作者  板凳
风之空响 发表于 2017-3-14 10:29
在设置里可以固定分辨率啊,具体实现你可以看一下package/apps/Setting代码中的HdmiControllerActivity.jav ...

这个没问题,我的也是这么写的,但你有没有发现hdmi拔了再插又变回去了
回复

使用道具 举报

22

积分

0

威望

0

贡献

游客

积分
22
发表于 2017-3-14 13:13:05        只看该作者  地板
pcgg0000 发表于 2017-3-14 12:12
这个没问题,我的也是这么写的,但你有没有发现hdmi拔了再插又变回去了

应该是这里,hdmi插入后每次会调这个,改成不管怎样都设成default,只是我自己编译的kernel老是卡在启动画面不动。。
kernel/drivers/rockchip/hdmi/hdmi-lcdc.c
  1. int hdmi_set_lcdc(struct hdmi *hdmi)
  2. {
  3.         int rc = 0;
  4.         struct rk_screen screen;
  5. //        printk("%s vic is %d autoset %d\n", __FUNCTION__, hdmi->vic, hdmi->autoset);
  6. /**by xx
  7.         if(hdmi->autoset)
  8.                 hdmi->vic = hdmi_find_best_mode(hdmi, 0);
  9.         else
  10.         hdmi->vic = hdmi_find_best_mode(hdmi, hdmi->vic);
  11. //        printk("%s selected vic is %d\n", __FUNCTION__, hdmi->vic);
  12.         if(hdmi->vic == 0)
  13.                 hdmi->vic = HDMI_VIDEO_DEFAULT_MODE;
  14. */
  15.         hdmi->vic = HDMI_VIDEO_DEFAULT_MODE;       
复制代码
回复

使用道具 举报

742

积分

68

威望

68

贡献

技术大神

Rank: 3Rank: 3

积分
742
QQ
发表于 2017-3-14 14:14:39        只看该作者  5#


你看一下这里
  1. --- a/kernel/drivers/video/rockchip/hdmi/rk_hdmi.h
  2. +++ b/kernel/drivers/video/rockchip/hdmi/rk_hdmi.h
  3. @@ -408,7 +408,7 @@ struct hdmi {
  4. #define HDMI_ENABLE_HDCP               (HDMI_SYSFS_SRC         | 11)

  5. #define HDMI_DEFAULT_SCALE             95
  6. -#define HDMI_AUTO_CONFIG               true
  7. +#define HDMI_AUTO_CONFIG               false

  8. /* HDMI default vide mode */
  9. #define HDMI_VIDEO_DEFAULT_MODE                        HDMI_1280x720P_60HZ
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表