From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 3D0A01FF0C1 for ; Wed, 26 Aug 2026 10:00:13 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 0AB2D2139E; Wed, 26 Aug 2026 10:00:13 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nTHUV4Vp9xiy6BXUVTIeoOx/AtKEoLWpziDPpyNOfW+1pIbpHssQ1cCKW7NpfgxX0kG82D7RQk9eGtiaadrBYX1LXnJRFd29dPqBEqLTTy0r9SGeEZxQSzcxPrSdpJZ0rAoDLULYpWbZ9oKDjkD2BtlQejaZj3C3YzyV1KIpyEvNpTJiwzWgI2V/kXN5FB0NsvSXtFyz7ugyAz/4bL6zpHmzr0OEeTQpCkpA+MWulkGXwl1q+o5Pgu81LMKGxarv+yyCOn2NhuYvRRD93keiqLBJ2sOgLqqGtHsWOG6ufq06eFibHzVxRRTZ5gF53VXIqiG977PelOxZl7BSsUCCew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wQtuUeNIfIl4D2CMUPz35S7la8QUcpCy5PsAWktjnXE=; b=tD6EOfWR3uMLfxqJzFHzak0zhx328L7PexfMRnEx+/SlBM8/+tkyBGu83s9CAVKs9PRiFj+G4gPFC4+WhVbTKemJYruYFqMSddujdheK9EXC0Ua0NMqH/fgljVGoiBGC01XjN4m0iUkWaRX4rPUhEiA0E348h9LbGkmY58OfhGJapwm9K28uTtV6avAqPvLBgJRAMBJo1dxSoP9+oxFgU50DNx4G4JBEbHdRFZG6SR6XMrBU04l24E0tH27krO15YDGqGjgq7NRNWzLf7DwdNXbMVhpXcpT/iydLgHrEQXElJxPNKbm5hOY4xnqKe1jiBhkcCIOdfj5bMDMRvCRzBA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=groupe-cyllene.com; dmarc=pass action=none header.from=groupe-cyllene.com; dkim=pass header.d=groupe-cyllene.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=groupecyllene.onmicrosoft.com; s=selector2-groupecyllene-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wQtuUeNIfIl4D2CMUPz35S7la8QUcpCy5PsAWktjnXE=; b=LJApFYGpce0MEl/Yu7Dtmn8L7IrC7VitMH/qcwiddudqquIBrUc7HswCt2aJjFbxpWGtjQ9zQJVUpsfVeUzsxQnvGNvBI085/aKq66PUIOIiAPDgXXTfUNNycs/VTJFSFSGORC2ecY0vYlwZhub2U9B4e+WeWa39yW3Cb49oJAY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=groupe-cyllene.com; From: Alexandre Derumier To: pve-devel@lists.proxmox.com Subject: [RFC v2 qemu-server 05/13] virtio-gl : add vulkan option Date: Wed, 26 Aug 2026 09:43:37 +0200 Message-ID: <20260826074347.1256659-6-alexandre.derumier@groupe-cyllene.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260826074347.1256659-1-alexandre.derumier@groupe-cyllene.com> References: <20260826074347.1256659-1-alexandre.derumier@groupe-cyllene.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: PA7P264CA0229.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:372::8) To PR1P264MB3696.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:143::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PR1P264MB3696:EE_|PR0P264MB2257:EE_ X-MS-Office365-Filtering-Correlation-Id: 4e93c606-80c6-4dbf-9301-08df0345d4ae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|52116014|1800799024|366016|38350700014|6133799003|3023799007|56012099006|10067099003|5023799004|20052099010|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: YSg4wRbOvX83NaIFmaXm+g0tokgVHfwiyKNgSJkY+FDCMxzM4028nIcD4QatU4Jgx0+Ol7vSW59VEWC0sXbrJL534jREhf27vORLCdgMvyxyG2FJwyzqWaPT+DVv0vy/t+3GyhdqQdlA0HGH8a44Wa9xPkMl2WKvvSfONf1hCJHoLOfOX52DituJZMnzMBaUeQ/iKHOX+f5UQaZVyuje7MHTTZX3XoIrVxTBYwLvzRSJZT6qcxa0JmXRwaZ5gskgNv7p9RSpQTAmY7Jl0DeMQJZLGpEKjnjveQ0LUGotZqXzOEO4OLXA/ALN3Q9xJQ8RPk3mDF6DsZ/7saNBRXQtiuDKqfr0xLpBpW/bv6COFzVlVX6G0LwU57cnjq5MOCfwh58+WBllY4xjIOeZr0wqyAli4F9AOrefe8da2A6oi9RUsHtFBUBtgyX0yurD7GlWV/TS3b8FtXvvaG4HORzAiKDqjcgMsPSv8LFHYDRBM1+sOwK0o7qNwZ9wAn1rF0D/XtxtUWahVaFpJ6Mgf3NpArbUFcOPt1Vm5Sor/BnpJaBOKaZCYkaFqFU8BC25kTDzWoLpBNyKNG0njfFBFirP2Rnhr8050B+m0yoO/lG0NshkZz8KfH0cgVaLc3v4iJ4yG4rZKNtoXXryu6RYYyGlzvFgJ3uwk3QktLlDe9JCrBYUntt9ehWz/oQFKkap63OGoiwmz+g6OgYkaJfiPkvjfUoiDJrlXS1lqG0sQXIJbSQ= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR1P264MB3696.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(52116014)(1800799024)(366016)(38350700014)(6133799003)(3023799007)(56012099006)(10067099003)(5023799004)(20052099010)(22082099003)(18002099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nuSlFm1PGyB8ruDET7ZLKU2LiPZJgMrxDq7+E9oJjjKvIJNQ/GNY4PMDQ2xp?= =?us-ascii?Q?D1SWI6NVt8lDbBZP3ptdU/bv2NXDRILBpmK1dJUU3b1GUh0MkhNZgD14ydJS?= =?us-ascii?Q?BWztZq0m0tT6n6Hqq9pA6rsgNISR4VTyotPxtePOTa73eZk5PEKl+BBGbTWZ?= =?us-ascii?Q?N7gw0BLaksCKfqQOUkE8iFBnver4Ta7mw4FxH5qexGRpw6q2oL44zjVxTI3j?= =?us-ascii?Q?OVUl6FilJX82i6zsX6DMG50u+rbuEkd9YZilhCEJUgQjFBPKxIOtYT3QFdBD?= =?us-ascii?Q?En24dfg0q2FAKqdHbs89clO7i+Sgy83FFRGncdWXBPJIC3S8F0JeaoV/UjMH?= =?us-ascii?Q?eaOfUj+Sln/DJABsNul6pOzWVEyFUwOGbTqyWotp7+li8VX94OTBichL5lOh?= =?us-ascii?Q?Yc/HbVuuqQ7gypulh9YOden6pAVCE11tL1/mRF0ZYRnvWmp6uSQiKysNZJrv?= =?us-ascii?Q?7oc7289AnwgPS8UBcb9YKQ+e6lpYsXqy88U5f5GRyg1UoxHVFBWZ8HMOx1GI?= =?us-ascii?Q?9Ixi1n9FQU7r2dELSObLiYGLjlmaJecv3as6lyn/WYJ8BDNOWBxU+KNI7CaQ?= =?us-ascii?Q?zIJXXcoi2m/AXpib7iNYa6bICFOhHz2Kbgkcyi9kJf9msm6/8zi3EpPZ1KNc?= =?us-ascii?Q?ipV5naqQqjOe8g8KEWvnATSmvaoVyog94YFFuSmJReDfrOxtccwDR/bni5Hq?= =?us-ascii?Q?UjtIKVjKNFlhdcEGLgM98VPhXIlvIwc2n+ZcxPL75xu0kjTtDVK9FmETArpA?= =?us-ascii?Q?8q5k6pw5saRFzV2doGm62LKE9MFHGCbpVwsZKNAU212R6P1UCe7+0WOUWAs2?= =?us-ascii?Q?qG+AnrrJ78j9bsWgkvkJTD3XYpN2mSCK7PbOk2oUlpSoK3v8qh4Bussw8EVv?= =?us-ascii?Q?+1V/YxT2NbZAEYdgKOndR+jw9x7cmgD36g+N1OWU6WD6VzHkO3oMPeHwDUIx?= =?us-ascii?Q?48Gu+Se6Th56zdND2Wqv3bz4F4W6OaQ7TRP/pbj/KpKQ1yULxA9GZWnuJ/Lk?= =?us-ascii?Q?TwcFqzVqyPQ9hojavQQQ1Ed7p1a//NNI5J8hiXx6z64RtlxOJtIAO26fSSjS?= =?us-ascii?Q?yKTprmYVm8h08tPak5rF36TYEPvMpA+wbpQE/lgt6j8x4ft2fEQ19+0dqUbr?= =?us-ascii?Q?ZyGqHAcLMpb7BKwSpgCYXs7i4eDMDHy6WaDuY18qXilVYfmL0WgauKi1WZG4?= =?us-ascii?Q?JnYPGGOYjqYuFcnzBIzZNjPmoxIg6dMGw+GlJeYXCG90LcNm88ycc/m9WBpg?= =?us-ascii?Q?bt907JXI3u802DJ/qyAwbcgF8cWh4rm2h18MfzSv7yKhHWUZFXknUF1dDvEB?= =?us-ascii?Q?ZiLU0wu66vFNkdc8m2EH9p3B2+8IXzErjINS/f7kwFggLxNboyzmvIlaq5jJ?= =?us-ascii?Q?CX07Izzd8+rRa2hP2jKTO6WFKaZzlnNc5oL5HQ8fn+TkmWt4LPSgEiYtzLCr?= =?us-ascii?Q?R/xqzVmiP/fa18/PGrTvNozylNewsEJUTvWF3Fr0EvbSHEVaRM+Hxv8Ci1uw?= =?us-ascii?Q?q8mLzN9hKJDhXvTRoiPFthldA8bZVJNbqW//+7e4qhwuUm0sQRRfjuhvmaeJ?= =?us-ascii?Q?vkVPjl9WxIzG8T1RdcQW5qVozeLca6vhw00wweZoDMAaqZc0qETP6ECG+1pM?= =?us-ascii?Q?CgbdoC0+x+u7e5A54bPaPd4yvckQQ5ieFCvpyMo522S+LxC+uXu3s1jtmVJR?= =?us-ascii?Q?GMUq9oxHgfLV3WrOS8SZvIBa+wiqOOLJ/nbd4d0eriqJW1MUZv0aP2/RpG2Q?= =?us-ascii?Q?T1wvJmGzP//ktxF8N9q2kLklDUihdFSLO8yES53WR+T2awoTAuDc?= X-OriginatorOrg: groupe-cyllene.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e93c606-80c6-4dbf-9301-08df0345d4ae X-MS-Exchange-CrossTenant-AuthSource: PR1P264MB3696.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2026 07:44:16.6973 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: ee11ccf7-112c-4284-848b-f229745e715b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 8PYMdnXTQAYddM2fGIrE1t3jyKOAshbzZl+OAt/NPMu+IACeP8l1uWS2a+sB6scNapCjhsmxIdbpwatG78tgWP+g9dT1fSF0PNd5HmWvi1PUgfdFXuYu3LyNJzyCwhZC X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB2257 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.234 Adjusted score from AWL reputation of From: address DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DMARC_PASS -0.1 DMARC pass policy RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: FG2QSB3LSKBCNDHF3LADKTAQL77LLJR4 X-Message-ID-Hash: FG2QSB3LSKBCNDHF3LADKTAQL77LLJR4 X-MailFrom: Alexandre.DERUMIER@groupe-cyllene.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: vga: (virtio|kyber)-gl,vulkan=4G add Vulkan host gpu offloading through Venus, with the size of host memory it allocate. Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 22 ++++++++++++-- src/test/cfg2cmd/kyber-gl-vulkan.conf | 3 ++ src/test/cfg2cmd/kyber-gl-vulkan.conf.cmd | 28 +++++++++++++++++ src/test/cfg2cmd/virtio-gl-vulkan-error.conf | 4 +++ src/test/cfg2cmd/virtio-gl-vulkan.conf | 3 ++ src/test/cfg2cmd/virtio-gl-vulkan.conf.cmd | 32 ++++++++++++++++++++ src/test/run_config2command_tests.pl | 6 ++++ 7 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 src/test/cfg2cmd/kyber-gl-vulkan.conf create mode 100644 src/test/cfg2cmd/kyber-gl-vulkan.conf.cmd create mode 100644 src/test/cfg2cmd/virtio-gl-vulkan-error.conf create mode 100644 src/test/cfg2cmd/virtio-gl-vulkan.conf create mode 100644 src/test/cfg2cmd/virtio-gl-vulkan.conf.cmd diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm index 1e012c8..7035e04 100644 --- a/src/PVE/QemuServer.pm +++ b/src/PVE/QemuServer.pm @@ -190,6 +190,14 @@ my $vga_fmt = { enum => ['vnc'], optional => 1, }, + vulkan => { + description => "Offer Vulkan to the guest through Venus, with this much host memory for" + . " the blob resources it allocates. Needs a GL display type.", + type => 'string', + pattern => '\d+[MG]', + format_description => '\d+[MG]', + optional => 1, + }, }; my $ivshmem_fmt = { @@ -1550,6 +1558,14 @@ sub print_vga_device { $memory = ",ram_size=67108864,vram_size=33554432"; } + my $vulkan = ""; + if ($vga->{vulkan}) { + die "vga: vulkan needs a display with GL - 'kyber-gl' or 'virtio-gl'," + . " not '$vga->{type}'\n" + if ($vga->{type} // '') !~ /-gl$/; + $vulkan = ",blob=on,hostmem=$vga->{vulkan},venus=on"; + } + my $edidoff = ""; if ($type eq 'VGA' && windows_version($conf->{ostype})) { $edidoff = ",edid=off" if (!defined($conf->{bios}) || $conf->{bios} ne 'ovmf'); @@ -1578,7 +1594,7 @@ sub print_vga_device { if !PVE::Tools::dir_glob_regex('/dev/dri/', "renderD.*"); } - return "$type,id=${vgaid}${memory}${max_outputs}${pciaddr}${edidoff}"; + return "$type,id=${vgaid}${memory}${vulkan}${max_outputs}${pciaddr}${edidoff}"; } sub vm_is_volid_owner { @@ -3478,13 +3494,15 @@ sub config_to_command { my $virtiofs_enabled = PVE::QemuServer::Virtiofs::virtiofs_enabled($conf); + my $shared_memory = $virtiofs_enabled || $vga->{vulkan}; + PVE::QemuServer::Memory::config( $conf, $vmid, $sockets, $cores, $hotplug_features->{memory}, - $virtiofs_enabled, + $shared_memory, $cmd, $machineFlags, ); diff --git a/src/test/cfg2cmd/kyber-gl-vulkan.conf b/src/test/cfg2cmd/kyber-gl-vulkan.conf new file mode 100644 index 0000000..0a8a570 --- /dev/null +++ b/src/test/cfg2cmd/kyber-gl-vulkan.conf @@ -0,0 +1,3 @@ +# TEST: Vulkan through Venus on the Kyber console's GL display +memory: 4096 +vga: kyber-gl,vulkan=4G diff --git a/src/test/cfg2cmd/kyber-gl-vulkan.conf.cmd b/src/test/cfg2cmd/kyber-gl-vulkan.conf.cmd new file mode 100644 index 0000000..1d4c979 --- /dev/null +++ b/src/test/cfg2cmd/kyber-gl-vulkan.conf.cmd @@ -0,0 +1,28 @@ +/usr/bin/kvm +-id 8006 +-name vm8006 +-no-shutdown +-chardev 'socket,id=qmp,path=/var/run/qemu-server/8006.qmp,server=on,wait=off' +-mon 'chardev=qmp,mode=control' +-chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect-ms=5000' +-mon 'chardev=qmp-event,mode=control' +-pidfile /var/run/qemu-server/8006.pid +-daemonize +-smp '1,sockets=1,cores=1,maxcpus=1' +-nodefaults +-boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' +-display 'dbus,addr=unix:path=/var/run/qemu-server/8006.dbusdisplay,gl=on' +-vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' +-cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep +-m 4096 +-object 'memory-backend-memfd,id=virtiofs-mem,size=4096M,share=on' +-global 'PIIX4_PM.disable_s3=1' +-global 'PIIX4_PM.disable_s4=1' +-device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' +-device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' +-device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' +-device 'usb-tablet,id=tablet,bus=uhci.0,port=1' +-device 'virtio-vga-gl,id=vga,blob=on,hostmem=4G,venus=on,bus=pci.0,addr=0x2' +-device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' +-iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' +-machine 'memory-backend=virtiofs-mem,type=pc+pve0' \ No newline at end of file diff --git a/src/test/cfg2cmd/virtio-gl-vulkan-error.conf b/src/test/cfg2cmd/virtio-gl-vulkan-error.conf new file mode 100644 index 0000000..95bb351 --- /dev/null +++ b/src/test/cfg2cmd/virtio-gl-vulkan-error.conf @@ -0,0 +1,4 @@ +# TEST: Vulkan asked of a display that has no GL +# EXPECT_ERROR: vga: vulkan needs a display with GL - 'kyber-gl' or 'virtio-gl', not 'std' +memory: 4096 +vga: std,vulkan=4G diff --git a/src/test/cfg2cmd/virtio-gl-vulkan.conf b/src/test/cfg2cmd/virtio-gl-vulkan.conf new file mode 100644 index 0000000..8fb17a1 --- /dev/null +++ b/src/test/cfg2cmd/virtio-gl-vulkan.conf @@ -0,0 +1,3 @@ +# TEST: Vulkan through Venus on a GL display +memory: 4096 +vga: virtio-gl,vulkan=4G diff --git a/src/test/cfg2cmd/virtio-gl-vulkan.conf.cmd b/src/test/cfg2cmd/virtio-gl-vulkan.conf.cmd new file mode 100644 index 0000000..31ac667 --- /dev/null +++ b/src/test/cfg2cmd/virtio-gl-vulkan.conf.cmd @@ -0,0 +1,32 @@ +/usr/bin/kvm +-id 8006 +-name vm8006 +-no-shutdown +-chardev 'socket,id=qmp,path=/var/run/qemu-server/8006.qmp,server=on,wait=off' +-mon 'chardev=qmp,mode=control' +-chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect-ms=5000' +-mon 'chardev=qmp-event,mode=control' +-pidfile /var/run/qemu-server/8006.pid +-daemonize +-smp '1,sockets=1,cores=1,maxcpus=1' +-nodefaults +-boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' +-display 'egl-headless,gl=core' +-vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' +-cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep +-m 4096 +-object 'memory-backend-memfd,id=virtiofs-mem,size=4096M,share=on' +-global 'PIIX4_PM.disable_s3=1' +-global 'PIIX4_PM.disable_s4=1' +-device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' +-device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' +-device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' +-device 'usb-tablet,id=tablet,bus=uhci.0,port=1' +-device 'virtio-vga-gl,id=vga,blob=on,hostmem=4G,venus=on,bus=pci.0,addr=0x2' +-device 'virtio-serial,id=spice,bus=pci.0,addr=0x9' +-chardev 'spicevmc,id=vdagent,name=vdagent' +-device 'virtserialport,chardev=vdagent,name=com.redhat.spice.0' +-spice 'tls-port=61000,addr=127.0.0.1,tls-ciphers=HIGH,seamless-migration=on' +-device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' +-iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' +-machine 'memory-backend=virtiofs-mem,type=pc+pve0' \ No newline at end of file diff --git a/src/test/run_config2command_tests.pl b/src/test/run_config2command_tests.pl index 47250c6..7f3405c 100755 --- a/src/test/run_config2command_tests.pl +++ b/src/test/run_config2command_tests.pl @@ -435,6 +435,12 @@ $pve_common_tools->mock( get_host_arch => sub { return $current_test->{host_arch} // 'x86_64'; }, + dir_glob_regex => sub { + my ($dir, $regex) = @_; + + return 'renderD128' if $dir eq '/dev/dri/' && $regex eq 'renderD.*'; + return; + }, ); my $pve_common_file; -- 2.55.0