讨论广场 问答详情
mesa3d在OH4.1中浏览器与便签详情页白屏
贺小帅 2024-07-23 10:32:26
517 评论 分享

RT 在OH4.0中顺利点亮进入系统

mesa3d在OH4.1中浏览器与便签详情页白屏

但升级至4.1后存在大量找不到符号

third_party/mesa3d/include/GLES2/gl2ext.h貌似没有参与编译

还望大佬指点

 

 

517 评论 分享
写回答
全部评论(13)
2 楼

有大部分符号找不到是正常的,mesa3d实现的OpenGL API并不完整,在不改动Mesa3d代码的情况,不手动导出函数相关符号的情况下,可采用eglGetProcAddress获取相关API函数指针,浏览器白屏,可能需要注意以下接口(之前调试发现手动导出的方式,浏览器也会出现白屏的情况),试试修改(64位版本可能需要注意appspawn):

 

 

 

2024-07-23 11:07:40
2024-07-23 16:09:59
引用:“mesa3d接口是在mesa3d中暴露接口 glEGLImageTargetTexture2DOES通过eglGetProcAddress获取 webview加载lib貌似还没走到 fork服务的时候就挂了”
我这边config.json配置: "graphic_2d_feature_rs_enable_eglimage = true", "graphic_2d_feature_use_texgine = true"
2024-07-23 16:09:59
2024-07-23 15:59:11
01-01 08:19:04.480 272 647 I C02d10/HiView-SysEventSource: CheckValidSysEvent: event[GRAPHIC|INTERACTION_RENDER_JANK|1691] is valid. 01-01 08:19:04.480 677 677 E C01406/OHOS::RS: ImageCacheSeq::Create: eglCreateImageKHR failed, error EGL_SUCCESS. 01-01 08:19:04.480 677 677 E C01406/OHOS::RS: RSEglImageManager::CreateImageCacheFromBuffer: failed to create ImageCache for buffer id 145. 01-01 08:19:04.480 677 677 E C01406/OHOS::RS: RSBaseRenderEngine::CreateEglImageFromBuffer MapEglImageFromSurfaceBuffer return invalid texture ID 01-01 08:19:04.480 677 677 E C01406/OHOS::RS: RSBaseRenderEngine::DrawImage: image is nullptr! 01-01 08:19:04.484 677 677 E C02515/METADATA_SRV: [SetMetadata:121] fail 01-01 08:19:04.484 677 677 E C01400/Composer: SetBufferColorSpace: HdiOutput::SetBufferColorSpace set metadata to buffer failed 01-01 08:19:04.484 605 917 E C02515/DISP_CMD: OnSetDisplayClientDamage, SetDisplayClientDamage error 01-01 08:19:04.484 634 1075 I C02c11/APPSPAWN: [client_socket.cpp:74]Client: Connected on socket fd 42 value 2 01-01 08:19:04.486 353 353 I C02c11/APPSPAWN: [appspawn_service.c:660]OnConnection client fd 7 Id 46 01-01 08:19:04.486 353 353 I C02c11/APPSPAWN: [appspawn_service.c:569]Info Receive client message id 46 code 0 01-01 08:19:04.486 353 353 I C02c11/APPSPAWN: [appspawn_service.c:569]processname com.ohos.note flags 0x800 01-01 08:19:04.486 353 353 I C02c11/APPSPAWN: [appspawn_service.c:569]flags 0x0 cloneFlags 0x60000000 hapFlags 0x1 01-01 08:19:04.486 353 353 I C02c11/APPSPAWN: [appspawn_service.c:569]bundleName com.ohos.note soPath 01-01 08:19:04.486 353 353 I C02c11/APPSPAWN: [appspawn_service.c:569]Access token apl system_core renderCmd /system/bin/web_render#--type=renderer#--log-severity=info#--user-data-dir=/data/storage/el2/base#--user-data-dir=/data/storage/el2/base#--user-hap-path=/system/app/com.ohos.note/Note.hap#--first-renderer-process#--no-sandbox#--enable-touch-drag-drop#--enable-viewport#--log-file=/data/local/debug.log#--no-zygote#--remote-debugging-port=9222#--use-mobile-user-agent#--ozone-platform=headless#--bundle-installation-dir=/data/storage/el1/bundle#--lang=zh-CN#--num-raster-threads=4#--gpu-rasterization-msaa-sample-count=1#--enable-main-frame-before-activation#--renderer-client-id=3#--time-ticks-at-unix-epoch=-131814068#--launch-time-ticks=1012215692#--shared-files#--field-trial-handle=0,i,11459317114780956631,11290630178512811702,262144#--enable-features=PdfUnseasoned#--enable-features=PdfUnseasoned ownerId 01-01 08:19:04.486 353 353 I C02c11/APPSPAWN: [appspawn_service.c:569]uid 1000014 1000014 gid count 1 01-01 08:19:04.486 353 353 I C02c11/APPSPAWN: [appspawn_service.c:569]setAllowInternet 0 allowInternet 1 01-01 08:19:04.486 353 353 I C02c11/APPSPAWN: [appspawn_service.c:231]this is lock status 01-01 08:19:04.486 353 353 I C02c11/APPSPAWN: [appspawn_service.c:297]mount el2 path failed! 01-01 08:19:04.486 353 353 I C02c11/APPSPAWN: [appspawn_server.c:218]AppSpawnProcessMsg id 46 0x0 01-01 08:19:04.512 353 353 E C02c11/APPSPAWN: [appspawn_server.c:229]fork child process error: -22 01-01 08:19:04.512 353 353 I C02c11/APPSPAWN: [appspawn_service.c:581]child process com.ohos.note fail pid 0 01-01 08:19:04.512 353 353 I C02c11/APPSPAWN: [appspawn_service.c:154]SendMessageComplete client.id 46 result 0 pid 0 01-01 08:19:04.513 634 1075 E C01303/AppMgrService: [app_spawn_client.cpp(StartProcessImpl:153)]invalid pid! 01-01 08:19:04.513 634 1075 E C01303/AppMgrService: [app_mgr_service_inner.cpp(StartRenderProcessImpl:3936)]failed to spawn new render process, errCode 00800004 01-01 08:19:04.513 353 353 I C02c11/APPSPAWN: [appspawn_service.c:140]OnClose 46 processName = com.ohos.note
2024-07-23 15:59:11
2024-07-23 15:58:30
mesa3d接口是在mesa3d中暴露接口 glEGLImageTargetTexture2DOES通过eglGetProcAddress获取 webview加载lib貌似还没走到 fork服务的时候就挂了
2024-07-23 15:58:30
2024-07-23 11:30:20
引用:“谢谢 我试试”
有问题再反馈,我这边本地补丁有点多,应该只需要注意以上,这边4.1 采用Mesa3D 浏览器是正常的
2024-07-23 11:30:20
2024-07-23 11:17:08
厉害
2024-07-23 11:17:08
2024-07-23 11:15:19
谢谢 我试试
2024-07-23 11:15:19

/etc/storage_daemon/disk_config文件中,文件或目录的权限设置为所有用户都有读(r)和写(w)的权限。根据提供的信息,由于fatfs文件系统限制,权限只有rw和ro两种,可能对应的是777(所有者、群组和其他用户都有读写权限),或者555(所有者有读写权限,其他用户只有读权限)。

他权限配置,根据fileio-extra接口说明中的mode参数,你可以设置更具体的权限模式。例如:

  • 0o700:所有者具有读、写及可执行权限。
  • 0o400:所有者具有读权限。
  • 0o200:所有者具有写权限。
  • 0o100:所有者具有可执行权限。

在实际配置中,你可能需要根据应用需求选择合适的权限模式。如果文件系统支持更全面的权限控制,Linux或自定义的文件系统,可能会有更多选项可供选择。记得,对于fatfs这样的有限权限环境,确保权限设置符合预期且不会导致安全问题。

2025-02-25 17:17:11
5 楼

最终内核修改~~~

# App Sandbox
CONFIG_PID_NS=y

2024-07-25 18:07:59
4 楼

几番尝试还是不行最终将问题锁定到

E C02c11/APPSPAWN: [appspawn_server.c:229]fork child process error: -22

与开发者手机对比

[appspawn_service.c:569]flags 0x0 cloneFlags 0x0 hapFlags 0x1

而我的机器

[appspawn_service.c:569]flags 0x0 cloneFlags 0x60000000 hapFlags 0x1

cloneFlags不同

强制将cloneFlags设为0

 发现便签详情页能打开但是不显示问题,浏览器打开还是白屏但是过一会会正常显示~

将4.0的浏览器 拉瓦社区 应用安装上去发现能正常使用~

 

2024-07-25 14:07:15
2024-07-27 10:19:06
请问您4.0的浏览器是源码app_samples里面编译的,还是哪里下载的呀?
2024-07-27 10:19:06
3 楼

 

 

2024-07-23 16:00:02
1 楼
2024-07-23 10:34:07
查看全部13条回答/评论