mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-07-13 17:12:21 +08:00
新增虚拟机logo显示
This commit is contained in:
parent
3966cd0b70
commit
1bf5eab4e0
BIN
VM-source/boot.jpg
Normal file
BIN
VM-source/boot.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 44 KiB |
198
VM-source/boot.svg
Normal file
198
VM-source/boot.svg
Normal file
File diff suppressed because one or more lines are too long
After (image error) Size: 15 KiB |
@ -109,28 +109,39 @@ int qemu::StartArmhf()
|
|||||||
{
|
{
|
||||||
qDebug() << commandOption;
|
qDebug() << commandOption;
|
||||||
if(Command().GetCommand("arch").replace("\n", "").replace(" ", "") == "aarch64" && !system((QCoreApplication::applicationDirPath() + "/kvm-ok").toUtf8())){
|
if(Command().GetCommand("arch").replace("\n", "").replace(" ", "") == "aarch64" && !system((QCoreApplication::applicationDirPath() + "/kvm-ok").toUtf8())){
|
||||||
return system(("qemu-system-arm -display vnc=:5 -display gtk --enable-kvm -cpu host -M virt " + commandOption + " -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &").toLatin1());
|
return system(("qemu-system-arm --boot 'splash=" + GetBootLogoPath() + ",order=d,menu=on,splash-time=2000' -display vnc=:5 -display gtk --enable-kvm -cpu host -M virt " + commandOption + " -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &").toLatin1());
|
||||||
}
|
}
|
||||||
return system(("qemu-system-arm --boot d -display vnc=:5 -display gtk -cpu max -M virt " + commandOption + " -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &").toLatin1());
|
return system(("qemu-system-arm --boot 'splash=" + GetBootLogoPath() + ",order=d,menu=on,splash-time=2000' -display vnc=:5 -display gtk -cpu max -M virt " + commandOption + " -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &").toLatin1());
|
||||||
}
|
}
|
||||||
|
|
||||||
int qemu::StartAarch64()
|
int qemu::StartAarch64()
|
||||||
{
|
{
|
||||||
|
QString bootScreenLogo = "";
|
||||||
|
// 判断 boot 文件是否存在
|
||||||
|
if(QFile::exists(QCoreApplication::applicationDirPath() + "/boot.jpg")) {
|
||||||
|
bootScreenLogo = QCoreApplication::applicationDirPath() + "/boot.jpg";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// 写入 logo
|
||||||
|
QFile::copy(":/boot.jpg", "/tmp/deep-wine-runner-boot.jpg");
|
||||||
|
bootScreenLogo = "/tmp/deep-wine-runner-boot.jpg";
|
||||||
|
}
|
||||||
qDebug() << commandOption;
|
qDebug() << commandOption;
|
||||||
if(Command().GetCommand("arch").replace("\n", "").replace(" ", "") == "aarch64" && !system((QCoreApplication::applicationDirPath() + "/kvm-ok").toUtf8())){
|
if(Command().GetCommand("arch").replace("\n", "").replace(" ", "") == "aarch64" && !system((QCoreApplication::applicationDirPath() + "/kvm-ok").toUtf8())){
|
||||||
return system(("qemu-system-aarch64 --boot d -display vnc=:5 -display gtk --enable-kvm -cpu host -M virt " + commandOption + " -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &").toLatin1());
|
return system(("qemu-system-aarch64 --boot 'splash=" + GetBootLogoPath() + ",order=d,menu=on,splash-time=2000' -display vnc=:5 -display gtk --enable-kvm -cpu host -M virt " + commandOption + " -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &").toLatin1());
|
||||||
}
|
}
|
||||||
return system(("qemu-system-aarch64 --boot d -display vnc=:5 -display gtk -cpu max -M virt " + commandOption + " -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &").toLatin1());
|
return system(("qemu-system-aarch64 --boot 'splash=" + GetBootLogoPath() + ",order=d,menu=on,splash-time=2000' -display vnc=:5 -display gtk -cpu max -M virt " + commandOption + " -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &").toLatin1());
|
||||||
}
|
}
|
||||||
|
|
||||||
int qemu::StartLoong64()
|
int qemu::StartLoong64()
|
||||||
{
|
{
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int qemu::Start(bool unShown)
|
int qemu::Start(bool unShown)
|
||||||
{
|
{
|
||||||
QString newCommandOption = commandOption;
|
QString newCommandOption = commandOption;
|
||||||
|
qDebug() << GetBootLogoPath();
|
||||||
if(isUEFI) {
|
if(isUEFI) {
|
||||||
newCommandOption += " -vga none -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 ";
|
newCommandOption += " -vga none -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 ";
|
||||||
}
|
}
|
||||||
@ -139,10 +150,9 @@ int qemu::Start(bool unShown)
|
|||||||
}
|
}
|
||||||
qDebug() << commandOption;
|
qDebug() << commandOption;
|
||||||
if(Command().GetCommand("arch").replace("\n", "").replace(" ", "") == "x86_64" && !system((QCoreApplication::applicationDirPath() + "/kvm-ok").toUtf8())){
|
if(Command().GetCommand("arch").replace("\n", "").replace(" ", "") == "x86_64" && !system((QCoreApplication::applicationDirPath() + "/kvm-ok").toUtf8())){
|
||||||
qDebug() << ("qemu-system-x86_64 --boot d -display vnc=:5 -display gtk --enable-kvm -cpu host " + newCommandOption + " > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &");
|
return system(("qemu-system-x86_64 --boot 'splash=" + GetBootLogoPath() + ",order=d,menu=on,splash-time=2000' -display vnc=:5 -display gtk --enable-kvm -cpu host " + newCommandOption + " > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &").toLatin1());
|
||||||
return system(("qemu-system-x86_64 --boot d -display vnc=:5 -display gtk --enable-kvm -cpu host " + newCommandOption + " > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &").toLatin1());
|
|
||||||
}
|
}
|
||||||
return system(("qemu-system-x86_64 --boot d -display vnc=:5 -display gtk -nic model=rtl8139 " + newCommandOption + " > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &").toLatin1());
|
return system(("qemu-system-x86_64 --boot 'splash=" + GetBootLogoPath() + ",order=d,menu=on,splash-time=2000' -display vnc=:5 -display gtk -nic model=rtl8139 " + newCommandOption + " > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 &").toLatin1());
|
||||||
}
|
}
|
||||||
int qemu::Stop()
|
int qemu::Stop()
|
||||||
{
|
{
|
||||||
@ -277,3 +287,21 @@ int qemu::AddDiskSpace(QString path, double data)
|
|||||||
{
|
{
|
||||||
return system(("qemu-img resize '" + path + "' +" + QString::number(data) + "G").toUtf8());
|
return system(("qemu-img resize '" + path + "' +" + QString::number(data) + "G").toUtf8());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString qemu::GetBootLogoPath()
|
||||||
|
{
|
||||||
|
QString bootScreenLogo = "";
|
||||||
|
// 判断 boot 文件是否存在
|
||||||
|
if(QFile::exists(QCoreApplication::applicationDirPath() + "/boot.jpg")) {
|
||||||
|
bootScreenLogo = QCoreApplication::applicationDirPath() + "/boot.jpg";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// 写入 logo
|
||||||
|
if(QFile::exists("/tmp/deep-wine-runner-boot.jpg")) {
|
||||||
|
QFile::remove("/tmp/deep-wine-runner-boot.jpg");
|
||||||
|
}
|
||||||
|
QFile::copy(":/boot.jpg", "/tmp/deep-wine-runner-boot.jpg");
|
||||||
|
bootScreenLogo = "/tmp/deep-wine-runner-boot.jpg";
|
||||||
|
}
|
||||||
|
return bootScreenLogo;
|
||||||
|
}
|
||||||
|
@ -53,6 +53,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
QString commandOption = "";
|
QString commandOption = "";
|
||||||
bool isUEFI = false;
|
bool isUEFI = false;
|
||||||
|
QString GetBootLogoPath();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
<file>LANG/virtualmachine-en_US.qm</file>
|
<file>LANG/virtualmachine-en_US.qm</file>
|
||||||
<file>LANG/virtualmachine-en_US.ts</file>
|
<file>LANG/virtualmachine-en_US.ts</file>
|
||||||
<file>application-vnd.oasis.opendocument.text.svg</file>
|
<file>application-vnd.oasis.opendocument.text.svg</file>
|
||||||
|
<file>boot.jpg</file>
|
||||||
|
<file>boot.svg</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
<qresource prefix="/picture">
|
<qresource prefix="/picture">
|
||||||
<file>截图_VirtualBox Machine_20220712142929.png</file>
|
<file>截图_VirtualBox Machine_20220712142929.png</file>
|
||||||
|
BIN
VM/boot.jpg
Normal file
BIN
VM/boot.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 44 KiB |
Loading…
x
Reference in New Issue
Block a user