你好,这里是虎绿林。
微信 SwimmingTiger(加好友备注hu60,否则不容易通过),手机 18502433620(仅短信,拒接来电),邮箱 hu60.cn@qq.com(不常看),QQ 905172616(较少上线)
@motec,哦对了,你要证明自研应该解包这个:
https://hu60.cn/q.php/bbs.topic.106905.html
才注意到你看的是模拟器镜像,那个里面本来就是Linux内核。
@motec,不能,因为华为可以在自己的内核里实现一个和selinux相同的接口,甚至实现完全不必相同,只要采用相同的xattr属性就行了。
欢迎👏🏻
@小白菜鸡,得有人去更新这个dll,添加缺失的这个函数,才能避免这个报错。
@秀才,不知道,你可以自行研究
@无名啊,对
@du2205123,你的显卡确实不支持Vulkan,而且WeGame在飞腾CPU上也很难正常运行,建议放弃尝试。
@qwer1256,没有。我后来买了鸿蒙PC,不需要虚拟机了
@卷心菜,企业微信有鸿蒙原生版本,不需要虚拟机。卡不卡我不知道,我没有账号,但是鸿蒙PC版的普通微信非常流畅。

@无名啊,JIT权限本身是存在的,Termony项目就在尝试基于JIT权限实现外部ELF加载运行,所以java开发工具想申请JIT权限应该也能申请到。
https://github.com/jiegec/Termony/
至于.NET应用,可以用AoT编译。
@水木易安,国补后6400

@无名啊,扩展名写容器类型就行了。老友记S01E01.opus是一个封装在ogg容器里的opus音频流,所以扩展名写老友记S01E01.ogg就行了。就像视频无论是什么编码,封装在mp4容器里的扩展名都是.mp4。
@水墨神州,dxvk 2.6/2.6.1/2.6.2 已添加。默认版本没有变化(因为很多用户的设备不支持vulkan 1.3),新版本需要自行选择开启。
好,马上更新
@幻阳化翼,我觉得不错。软件安装和卸载的体验比Linux桌面好多了,也不会出现好不容易装上软件但打不开的问题。
支持自由多窗的WPS用起来和Windows版没什么区别。

侧载工具也能用,只要有人发hap包我就能装上。之前手机安装的Clash侧载包我就装上了。


我现在正在用开发鸿蒙应用的方式给鸿蒙终端添加命令。之前的鸿蒙手机版不让执行ELF可执行文件,PC怎么样我还没看,估计差不多。所以我准备开发一个鸿蒙应用,和终端里的shell脚本通过/dev/shm/内的共享内存文件进行通信,来实现命令执行。技术验证已经跑通了,就差功能实现了。


@tasy5kg,买了,国补后6400

@austinsuun,你在conda环境中吗?试试先运行
conda deactivate
然后再运行
/opt/apps/net.winegame.client/files/bin/winegame
@ric,方法是设置函数库顶替:

dinput8(注意不能加.dll),然后点“添加”。

然后把 dinput8.dll 放在 exe 所在文件夹,就能加载了。
还有,cjkfonts不能解决所有乱码问题,有时候必须从Windows把sim*.ttc/sim*.ttf字体文件复制过来用才行。
上述字体打包:https://file.winegame.net/cache/wine/fonts/MicrosoftYaHeiMono-20221214.tar.xz
放到 $WINEPREFIX/drive_c/windows/Fonts 里。
@无名啊,安全模式的后台进程不比正常模式少,微软的很多服务依然会启动。想减少后台进程影响只能去PE了。
Windows安装光盘的PE应该是最纯净的,按Shift+F10可以打开cmd窗口。
第三方PE也会启动一些后台服务。
我推荐用MSVC编译,“多线程”那个参数选 /MT(多线程,静态链接),这样运行前就不需要安装VC++运行库了。
wine 4.0 太老了,建议前往 https://winegame.net/api/runners 获取新版wine来运行。

确保吃满所有 8 核 16 线程
那9%应该就是被Windows GUI和后台任务拿走了。Windows的后台任务远多于Linux,甚至任务管理器本身就是一个CPU时间消耗大户。
所以测全核性能的话Windows肯定是赶不上Linux的,更赶不上没有运行桌面只运行命令行界面的Linux。
Ubuntu桌面在用户不操作的情况下几乎不会增加多少CPU占用,而Windows桌面的后台进程一个个都非常活跃,占用的CPU时间是Ubuntu远远不能比的。
@无名啊,你两边的测试程序是同一个二进制吗?不会是一边-O2优化一边-O3优化产生的性能差异吧。应该在一边编译然后拿到另一边运行,确保跑的是同一个程序。甚至还可以WSL2直接挂载Linux分区,chroot到物理分区的Linux系统里,确保不是库版本不同产生了性能差异。
会不会是内存寻址多了几层,导致慢了。。
@无名啊,应该不会产生9%的差异才对。虚拟化是硬件执行的,实际上只是切换命名空间而已,只在切换的一瞬间有额外时间开销,切完了就和正常寻址一样了。
@无名啊,我大胆预测一下,Windows没有把最快的核心分配给计算任务,或者最快核心在Windows里频率比Linux里低,导致了性能差异。
@无名啊,哦对了,说起来,CPU密集型应用也不会受到虚拟化安全的性能影响啊。虚拟化安全影响的主要是系统调用速度和IO速度。。。
纯计算类应用在计算的时候根本不会经过任何安全检查代码。安全检查都是设置在系统调用和IO控制操作附近的。
@无名啊,> WSL1 / WSL2 运行,速度慢了 9%
这说明你的应用是一个存粹的CPU密集型应用啊,完全没有IO瓶颈,所以WSL1和WSL2的性能才接近。只要有一点IO压力,WSL1的性能就会远低于WSL2了,因为Windows/Linux翻译层的IO性能远低于虚拟机中的原生Linux内核,并且还有偶发的死锁问题。
@无名啊,你在BIOS里把虚拟化功能关闭,WSL1还是能用的,VBS也会变成未启用,你再去测一下就能知道hyper-v带来的影响是多大了。WSL1的问题在于微软写的Windows/Linux系统调用翻译层本来就性能不好,怪不了hyper-v。
WSL2是hyper-v中的虚拟机。“虚拟机平台”和“虚拟机监控平台”都是启用hyper-v。
启用hyper-v后,Windows本身也会变成一个运行在hyper-v中的虚拟机,只不过是特权虚拟机,可以直接访问硬件,还能管理其他虚拟机。
所以只要启用了WSL2,Windows本身的性能也会略微下降,因为从裸机运行变成虚拟机内运行加硬件直通了。
但是这就是使用WSL2的代价,这是无法避免的。而且性能下降程度应该不到1%
至于速度慢了 9%,那是因为Windows在和Linux交替运行,在抢走Linux的CPU时间嘛。hyper-v把9%的CPU时间分配给了Windows。
如果要使用Windows NTFS文件系统内的虚拟磁盘,那把CPU时间分配给Windows是不可避免的。除非hyper-v Linux里做硬盘直通,然后完全不和Windows交互,并且Windows直接注销,不登录到桌面,后台服务也尽可能停止运行,才能尽可能不抢走CPU时间,性能才可能和裸机运行Linux接近。
但少了和Windows的互通,就不是WSL2了。
所以WSL2必然是要比裸机运行Linux慢的。