Firefly开源社区

123
发表新贴
打印 上一主题 下一主题

4k 是假的吗?

79

积分

0

威望

0

贡献

技术小白

积分
79

4k 是假的吗?

发表于 2014-11-19 13:00:12      浏览:51695 | 回复:26        打印      只看该作者   [复制链接] 楼主
    测试发现,即使android 选择4k 输出, android 系统运行状态还是1080p, 所谓的4k是不是把 1080p 的framebuffer scale输出到 4k 显示器(新下载的11月版本)?
   请问如何修改 kernel 分辨率,让 android 运行在 4k分辨率下?
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2014-11-19 16:39:55        只看该作者  沙发
一般FB 是FHD,  HDMI 会scale到4k。播放ideo的是时候video输出video buffer直接 4K。无 scale 。
FB直接4K 没试过。内存会紧张吧。楼主有啥需求要FB 4K?
回复

使用道具 举报

189

积分

0

威望

0

贡献

技术小白

积分
189
发表于 2014-11-19 17:01:27        只看该作者  板凳
那一張4k2k的bmp檔,顯示出來不就失真了?
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2014-11-19 17:26:38        只看该作者  地板
好吧 ,FB改4K的地方在kernel/arch/arm/boot/dts/lcd-box.dtsi
disp_timings: display-timings {
                        native-mode = <&timing1>;

改成 native-mode = <&timing2>;
回复

使用道具 举报

发表于 2014-11-19 17:51:03        只看该作者  5#
4K是一个分辨率标准,4K还包括解码能力,可以播放4K高清的视频,至于Android和HDMI的buffer也可以改大
暴走的创客!
回复

使用道具 举报

79

积分

0

威望

0

贡献

技术小白

积分
79
发表于 2014-11-20 10:03:50        只看该作者  6#
把 kernel/arch/arm/boot/dts/lcd-box.dtsi  修改为 改成 native-mode = <&timing2>; 编译出 resource.img, 更新后不是4k, 变成1280x720,4k 失败自动回到720p ?
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2014-11-20 14:25:51        只看该作者  7#
把 cat /sys/class/graphics/fb0/disp_info 信息贴上来。
回复

使用道具 举报

8

积分

0

威望

0

贡献

游客

积分
8
发表于 2014-11-20 19:45:16        只看该作者  8#
电视是4K吗?
回复

使用道具 举报

79

积分

0

威望

0

贡献

技术小白

积分
79
发表于 2014-11-21 10:32:07        只看该作者  9#
烧写4k resource.img 后显示 /sys/class/graphics/fb0/disp_info
  1. z-order:
  2.   layer3_sel_win[3]
  3.   layer2_sel_win[2]
  4.   layer1_sel_win[1]
  5.   layer0_sel_win[0]
  6. win0:
  7.   state:0,   fmt:ARGB888,   y_vir:320,   uv_vir:320
  8.   xact: 320,   yact: 240,   dsp_x: 320,   dsp_y: 240,   x_st:   0,   y_st:   0
  9.   y_h_fac:    4096,   y_v_fac:    4096,   uv_h_fac:    4096,   uv_v_fac:    4096
  10.   y_addr: 0x00000000,   uv_addr:0x00000000
  11. win1:
  12.   state:1,   fmt:ARGB888,   y_vir:3840,   uv_vir:0
  13.   xact:1280,   yact: 720,   dsp_x:3840,   dsp_y:2160,   x_st:   0,   y_st:   0
  14.   y_h_fac:   21825,   y_v_fac:   21809,   uv_h_fac:    4096,   uv_v_fac:    4096
  15.   y_addr: 0x10000000,   uv_addr:0x00000000
  16. win2:
  17.   state:0
  18.   fmt:ARGB888
  19.   area0:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
  20.   area1:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
  21.   area2:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
  22.   area3:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
  23. win3:
  24.   state:0
  25.   fmt:ARGB888
  26.   area0:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
  27.   area1:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0   addr:0x00000000
  28.   area2:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
  29.   area3:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
复制代码


马上 reboot 后变成
  1. z-order:
  2.   layer3_sel_win[3]
  3.   layer2_sel_win[2]
  4.   layer1_sel_win[1]
  5.   layer0_sel_win[0]
  6. win0:
  7.   state:0,   fmt:ARGB888,   y_vir:320,   uv_vir:320
  8.   xact: 320,   yact: 240,   dsp_x: 320,   dsp_y: 240,   x_st:   0,   y_st:   0
  9.   y_h_fac:    4096,   y_v_fac:    4096,   uv_h_fac:    4096,   uv_v_fac:    4096
  10.   y_addr: 0x00000000,   uv_addr:0x00000000
  11. win1:
  12.   state:1,   fmt:ARGB888,   y_vir:3840,   uv_vir:0
  13.   xact:1920,   yact:1080,   dsp_x:3840,   dsp_y:2160,   x_st:   0,   y_st:   0
  14.   y_h_fac:   32750,   y_v_fac:   32737,   uv_h_fac:    4096,   uv_v_fac:    4096
  15.   y_addr: 0x13f48000,   uv_addr:0x00000000
  16. win2:
  17.   state:0
  18.   fmt:ARGB888
  19.   area0:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
  20.   area1:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
  21.   area2:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
  22.   area3:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
  23. win3:
  24.   state:0
  25.   fmt:ARGB888
  26.   area0:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
  27.   area1:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0   addr:0x00000000
  28.   area2:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
  29.   area3:  state:0,  y_vir: 320,  dsp_x: 320,  dsp_y: 240,  x_st:   0,  y_st:   0,  addr:0x00000000
复制代码

重启过程可以看到 屏幕中央的 android 图标 明显变小很多, 似乎4k 有效了, 但是进入android 后,第一次是720p 分辨率, 之后重启都是1080p,貌似android 系统拒绝了4k模式?
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2014-11-21 10:50:48        只看该作者  10#
依照你的描述 应该是kernel已经生效了。android做了限制。
我在ubuntu上试过了。FB 4K是没问题。
这个需要android上层修改。可能比较麻烦点。
我先找找有没有解决方案吧。
回复

使用道具 举报

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

本版积分规则

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