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

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

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

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

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

还望大佬指点

 

 

244 评论 分享
写回答
全部评论(12)
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
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
查看全部12条回答/评论