从 20.9 升级到 23V 感觉到好用的地方是 ,OBS 正常启动, 不会闪退了.
并且 蓝牙耳机 以前 在 5.15 的内核下,只能显示 AD2P 模式, 不支持声音 输入,
再在 23V 可以使用声音设置->高级设置->音频框架->Pipewire 模式,
就可以在 输入的页面找到 headphone输入设备, 可以 输入声音. 如果 蓝牙耳机足够好的话, 输入声音还算清晰 .
从 20.9 升级到 23V 感觉到好用的地方是 ,OBS 正常启动, 不会闪退了.
并且 蓝牙耳机 以前 在 5.15 的内核下,只能显示 AD2P 模式, 不支持声音 输入,
再在 23V 可以使用声音设置->高级设置->音频框架->Pipewire 模式,
就可以在 输入的页面找到 headphone输入设备, 可以 输入声音. 如果 蓝牙耳机足够好的话, 输入声音还算清晰 .
由于系统自带了 python3.12.4 , 版本比较新, 感觉 性能比 python 3.9 要强一些.
如用 pandas 的函数 read_excel() 读100万记录的 文件, 以前要 39 秒, 新版 本 python3.12 用 21 秒.
以前用 calamine 引擎, 用 4秒多, 现在 3.12.4 版本只用 2秒多点就可 读到数据帧.
升级完 python3后, 安装 VMware 16 Linux版, 安装界面出错,但提示成功完成安装。 启动时提示 服务没启动。
在菜单中也能找到 VMware workstation的 图标,点右键 卸载 , 无法卸载。
V23版 ,我使用的是 6.9.6 内核
安装 VMware ,不管是 16.2.4 ,还是 17.5.2 版本, 都提示出错
能安装成功, 能在菜单中找到图标, 但提示 VMMON 没有启动起来, 让用超级用户权限重新安装。
用以下命令重装, 会提示这样的错 , 还是 不能 成功启动 VMware, 不管是 16.2.4 ,还是 17.5.2
看来是 内核太新有关系。
vmware-modconfig --console --install-all
[AppLoader] GLib does not have GSettings support.
Stopping VMware services:
VMware Authentication Daemon done
Virtual machine monitor done
make: 进入目录“/tmp/modconfig-cYMUfC/vmmon-only”
Using kernel build system.
/usr/bin/make -C /lib/modules/6.9.6-amd64-desktop-rolling/build/include/.. M=PWD SRCROOT=PWD/.
MODULEBUILDDIR= modules
make[1]: 进入目录“/usr/src/linux-headers-6.9.6-amd64-desktop-rolling”
warning: the compiler differs from the one used to build the kernel
The kernel was built by: gcc (Deepin 13.2.0-3deepin3) 13.2.0
You are using: gcc-13 (Deepin 13.2.0-3deepin3) 13.2.0
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/linux/driver.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/linux/driverLog.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/linux/hostif.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/common/apic.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/common/comport.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/common/cpuid.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/common/crosspage.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/common/memtrack.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/common/moduleloop.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/common/phystrack.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/common/sharedAreaVmmon.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/common/statVarsVmmon.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/common/task.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/common/vmx86.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/bootstrap/bootstrap.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/bootstrap/monLoader.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/bootstrap/monLoaderVmmon.o
CC [M] /tmp/modconfig-cYMUfC/vmmon-only/bootstrap/vmmblob.o
/tmp/modconfig-cYMUfC/vmmon-only/common/task.c:548:1: warning: no previous prototype for ‘TaskGetFlatWriteableDataSegment’ [-Wmissing-prototypes]
548 | TaskGetFlatWriteableDataSegment(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/modconfig-cYMUfC/vmmon-only/common/vmx86.c:52:
./arch/x86/include/asm/timex.h: In function ‘random_get_entropy’:
./arch/x86/include/asm/timex.h:12:24: error: implicit declaration of function ‘random_get_entropy_fallback’; did you mean ‘random_get_entropy’? [-Werror=implicit-function-declaration]
12 | return random_get_entropy_fallback();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| random_get_entropy
/tmp/modconfig-cYMUfC/vmmon-only/common/vmx86.c: At top level:
/tmp/modconfig-cYMUfC/vmmon-only/common/vmx86.c:700:1: warning: no previous prototype for ‘Vmx86FreeVMDriver’ [-Wmissing-prototypes]
700 | Vmx86FreeVMDriver(VMDriver *vm)
| ^~~~~~~~~~~~~~~~~
/tmp/modconfig-cYMUfC/vmmon-only/common/vmx86.c:733:1: warning: no previous prototype for ‘Vmx86AllocVMDriver’ [-Wmissing-prototypes]
733 | Vmx86AllocVMDriver(uint32 numVCPUs)
| ^~~~~~~~~~~~~~~~~~
/tmp/modconfig-cYMUfC/vmmon-only/linux/driver.c:271:1: warning: no previous prototype for ‘LinuxDriverInit’ [-Wmissing-prototypes]
271 | LinuxDriverInit(void)
| ^~~~~~~~~~~~~~~
/tmp/modconfig-cYMUfC/vmmon-only/linux/driver.c:339:1: warning: no previous prototype for ‘LinuxDriverExit’ [-Wmissing-prototypes]
339 | LinuxDriverExit(void)
| ^~~~~~~~~~~~~~~
In file included from /tmp/modconfig-cYMUfC/vmmon-only/linux/hostif.c:76:
/tmp/modconfig-cYMUfC/vmmon-only/./include/pgtbl.h: In function ‘PgtblVa2MPNLocked’:
/tmp/modconfig-cYMUfC/vmmon-only/./include/pgtbl.h:60:8: error: implicit declaration of function ‘pgd_large’; did you mean ‘pgd_page’? [-Werror=implicit-function-declaration]
60 | if (pgd_large(*pgd)) {
| ^~~~~~~~~
| pgd_page
In file included from /tmp/modconfig-cYMUfC/vmmon-only/./include/pgtbl.h:25:
/tmp/modconfig-cYMUfC/vmmon-only/./include/compat_pgtable.h:39:45: error: implicit declaration of function ‘p4d_large’; did you mean ‘p4d_page’? [-Werror=implicit-function-declaration]
39 | # define compat_p4d_large(p4d) p4d_large(p4d)
| ^~~~~~~~~
/tmp/modconfig-cYMUfC/vmmon-only/./include/pgtbl.h:70:8: note: in expansion of macro ‘compat_p4d_large’
70 | if (compat_p4d_large(*p4d)) {
| ^~~~~~~~~~~~~~~~
/tmp/modconfig-cYMUfC/vmmon-only/./include/pgtbl.h:78:11: error: implicit declaration of function ‘pud_large’; did you mean ‘pud_page’? [-Werror=implicit-function-declaration]
78 | if (pud_large(*pud)) {
| ^~~~~~~~~
| pud_page
/tmp/modconfig-cYMUfC/vmmon-only/./include/pgtbl.h:86:14: error: implicit declaration of function ‘pmd_large’; did you mean ‘pmd_page’? [-Werror=implicit-function-declaration]
86 | if (pmd_large(*pmd)) {
| ^~~~~~~~~
| pmd_page
/tmp/modconfig-cYMUfC/vmmon-only/linux/hostif.c: At top level:
/tmp/modconfig-cYMUfC/vmmon-only/linux/hostif.c:2926:1: warning: no previous prototype for ‘HostIFCheckTrackedMPN’ [-Wmissing-prototypes]
2926 | HostIFCheckTrackedMPN(VMDriver *vm, // IN: The VM instance
| ^~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-cYMUfC/vmmon-only/linux/hostif.c:3046:1: warning: no previous prototype for ‘HostIFWritePhysicalWork’ [-Wmissing-prototypes]
3046 | HostIFWritePhysicalWork(MA ma, // MA to be written to
| ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-cYMUfC/vmmon-only/linux/hostif.c:3205:1: warning: no previous prototype for ‘HostIFStartTimer’ [-Wmissing-prototypes]
3205 | HostIFStartTimer(Bool rateChanged, //IN: Did rate change?
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:244:/tmp/modconfig-cYMUfC/vmmon-only/common/vmx86.o] 错误 1
make[3]: *** 正在等待未完成的任务....
make[3]: *** [scripts/Makefile.build:244:/tmp/modconfig-cYMUfC/vmmon-only/linux/hostif.o] 错误 1
make[2]: *** [/usr/src/linux-headers-6.9.6-amd64-desktop-rolling/Makefile:1915:/tmp/modconfig-cYMUfC/vmmon-only] 错误 2
make[1]: *** [Makefile:240:__sub-make] 错误 2
make[1]: 离开目录“/usr/src/linux-headers-6.9.6-amd64-desktop-rolling”
make: *** [Makefile:117:vmmon.ko] 错误 2
make: 离开目录“/tmp/modconfig-cYMUfC/vmmon-only”
make: 进入目录“/tmp/modconfig-cYMUfC/vmnet-only”
Using kernel build system.
/usr/bin/make -C /lib/modules/6.9.6-amd64-desktop-rolling/build/include/.. M=PWD SRCROOT=PWD/.
MODULEBUILDDIR= modules
make[1]: 进入目录“/usr/src/linux-headers-6.9.6-amd64-desktop-rolling”
warning: the compiler differs from the one used to build the kernel
The kernel was built by: gcc (Deepin 13.2.0-3deepin3) 13.2.0
You are using: gcc-13 (Deepin 13.2.0-3deepin3) 13.2.0
CC [M] /tmp/modconfig-cYMUfC/vmnet-only/driver.o
CC [M] /tmp/modconfig-cYMUfC/vmnet-only/hub.o
CC [M] /tmp/modconfig-cYMUfC/vmnet-only/userif.o
CC [M] /tmp/modconfig-cYMUfC/vmnet-only/netif.o
CC [M] /tmp/modconfig-cYMUfC/vmnet-only/bridge.o
CC [M] /tmp/modconfig-cYMUfC/vmnet-only/procfs.o
CC [M] /tmp/modconfig-cYMUfC/vmnet-only/smac_compat.o
CC [M] /tmp/modconfig-cYMUfC/vmnet-only/smac.o
CC [M] /tmp/modconfig-cYMUfC/vmnet-only/vnetEvent.o
CC [M] /tmp/modconfig-cYMUfC/vmnet-only/vnetUserListener.o
/tmp/modconfig-cYMUfC/vmnet-only/userif.c:1091:1: warning: no previous prototype for ‘VNetUserIf_Create’ [-Wmissing-prototypes]
1091 | VNetUserIf_Create(VNetPort **ret) // OUT
| ^~~~~~~~~~~~~~~~~
/tmp/modconfig-cYMUfC/vmnet-only/netif.c:173:1: warning: no previous prototype for ‘VNetNetIf_Create’ [-Wmissing-prototypes]
173 | VNetNetIf_Create(char *devName, // IN:
| ^~~~~~~~~~~~~~~~
/tmp/modconfig-cYMUfC/vmnet-only/vnetUserListener.c:87:1: warning: no previous prototype for ‘VNetUserListener_Create’ [-Wmissing-prototypes]
87 | VNetUserListener_Create(uint32 classMask, // IN: the listener's class mask
| ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-cYMUfC/vmnet-only/bridge.c:258:1: warning: no previous prototype for ‘VNetBridge_Create’ [-Wmissing-prototypes]
258 | VNetBridge_Create(const char *devName, // IN: name of device (e.g., "eth0")
| ^~~~~~~~~~~~~~~~~
In file included from ./include/linux/spinlock.h:305,
from ./include/linux/sched.h:2138,
from /tmp/modconfig-cYMUfC/vmnet-only/bridge.c:25:
/tmp/modconfig-cYMUfC/vmnet-only/bridge.c: In function ‘VNetBridgeReceiveFromVNet’:
/tmp/modconfig-cYMUfC/vmnet-only/vmnetInt.h:44:39: error: ‘dev_base_lock’ undeclared (first use in this function); did you mean ‘device_lock’?
44 | #define dev_lock_list() read_lock(&dev_base_lock)
| ^~~~~~~~~~~~~
./include/linux/rwlock.h:56:48: note: in definition of macro ‘read_lock’
56 | #define read_lock(lock) _raw_read_lock(lock)
| ^~~~
/tmp/modconfig-cYMUfC/vmnet-only/bridge.c:587:4: note: in expansion of macro ‘dev_lock_list’
587 | dev_lock_list();
| ^~~~~~~~~~~~~
/tmp/modconfig-cYMUfC/vmnet-only/vmnetInt.h:44:39: note: each undeclared identifier is reported only once for each function it appears in
44 | #define dev_lock_list() read_lock(&dev_base_lock)
| ^~~~~~~~~~~~~
./include/linux/rwlock.h:56:48: note: in definition of macro ‘read_lock’
56 | #define read_lock(lock) _raw_read_lock(lock)
| ^~~~
/tmp/modconfig-cYMUfC/vmnet-only/bridge.c:587:4: note: in expansion of macro ‘dev_lock_list’
587 | dev_lock_list();
| ^~~~~~~~~~~~~
/tmp/modconfig-cYMUfC/vmnet-only/bridge.c: In function ‘VNetBridgeUp’:
/tmp/modconfig-cYMUfC/vmnet-only/vmnetInt.h:44:39: error: ‘dev_base_lock’ undeclared (first use in this function); did you mean ‘device_lock’?
44 | #define dev_lock_list() read_lock(&dev_base_lock)
| ^~~~~~~~~~~~~
./include/linux/rwlock.h:56:48: note: in definition of macro ‘read_lock’
56 | #define read_lock(lock) _raw_read_lock(lock)
| ^~~~
/tmp/modconfig-cYMUfC/vmnet-only/bridge.c:900:4: note: in expansion of macro ‘dev_lock_list’
900 | dev_lock_list();
| ^~~~~~~~~~~~~
/tmp/modconfig-cYMUfC/vmnet-only/bridge.c: At top level:
/tmp/modconfig-cYMUfC/vmnet-only/bridge.c:1411:1: warning: no previous prototype for ‘VNetBridgeSendLargePacket’ [-Wmissing-prototypes]
1411 | VNetBridgeSendLargePacket(struct sk_buff *skb, // IN: packet to split
| ^~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:244:/tmp/modconfig-cYMUfC/vmnet-only/bridge.o] 错误 1
make[3]: *** 正在等待未完成的任务....
make[2]: *** [/usr/src/linux-headers-6.9.6-amd64-desktop-rolling/Makefile:1915:/tmp/modconfig-cYMUfC/vmnet-only] 错误 2
make[1]: *** [Makefile:240:__sub-make] 错误 2
make[1]: 离开目录“/usr/src/linux-headers-6.9.6-amd64-desktop-rolling”
make: *** [Makefile:117:vmnet.ko] 错误 2
make: 离开目录“/tmp/modconfig-cYMUfC/vmnet-only”
Unable to install all modules. See log for details.
在网上, 下载了一个 WPS_FONT.zip , 下载了 WPS的字体包, 解压后,用字体管理器安装了一下。
WPS 不再提示少字体了。
写完上边 VMware17 无法安装后, 在本论坛上找了一下, 发现有 提示怎么安装的 方案。
在 GIT上下载了 一个目录. 里边有两个 VMmon , VMnet 目录, 打包成 tar包.
COPY到 /usr/lib/vm..../source目录下,
然后再运行vmware-modconfig --console --install-all 就编译成功了.
能正常打开以前的 虚拟机了.
v23 Release
VMware:17.5.2 build-23775571
https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware+Workstation+Pro
6.9.6内核场景
截图_dde-file-manager_20240820145331.png
git clone -b tmp/workstation-17.5.2-k6.9.1 https://github.com/nan0desu/vmware-host-modules.git
$ cd vmware-host-modules
$ tar -cf vmmon.tar vmmon-only
$ tar -cf vmnet.tar vmnet-only
$ sudo cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/
$ sudo vmware-modconfig --console --install-all
1.全新安装的 Deepin V23, 升级系统特别慢, 下载升级包只有 几十K, 并且找不到镜像源,只能在原始的源下慢慢下载.请多同步几个源.
2.WPS安装后,建新文件时,提示多个字体库找不到.建议随系统安装.
3.系统已经自带 python3.12.4,但是没有带pip,所以得自己安装,但 通过 sudo apt install python3-pip安装,提示找不到安装包,只好下载了 get-pip.py文件安装.