git: fa13682e0658 - main - emulators/86Box: Update 4.2.1 => 5.0

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Mon, 25 Aug 2025 19:21:04 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=fa13682e0658bf1647ba66fca0aec1231fd616ba

commit fa13682e0658bf1647ba66fca0aec1231fd616ba
Author:     gatekeeper <tiago.gasiba@gmail.com>
AuthorDate: 2025-08-25 19:18:11 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-08-25 19:20:20 +0000

    emulators/86Box: Update 4.2.1 => 5.0
    
    Release notes and changelog:
    https://86box.net/2025/08/24/86box-v5-0.html
    
    PR:     289087
---
 emulators/86Box/Makefile                           |   4 +-
 emulators/86Box/distinfo                           |   6 +-
 emulators/86Box/files/86Box-install-roms.sh.in     |   2 +-
 .../86Box/files/patch-src_cdrom_CMakeLists.txt     |  10 +
 .../86Box/files/patch-src_network_CMakeLists.txt   |  10 +
 .../86Box/files/patch-src_printer_CMakeLists.txt   |   4 +-
 .../86Box/files/patch-src_qt_qt__mainwindow.cpp    |   4 +-
 .../files/patch-src_qt_qt__vmmanager__details.cpp  |  79 ++++++++
 .../patch-src_qt_qt__vmmanager__detailsection.cpp  |  11 ++
 .../files/patch-src_qt_qt__vmmanager__system.cpp   | 219 +++++++++++++++++++++
 .../86Box/files/patch-src_video_CMakeLists.txt     |  11 ++
 11 files changed, 349 insertions(+), 11 deletions(-)

diff --git a/emulators/86Box/Makefile b/emulators/86Box/Makefile
index 001776a75946..35d2c1c01cf0 100644
--- a/emulators/86Box/Makefile
+++ b/emulators/86Box/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	86Box
 DISTVERSIONPREFIX=	v
-DISTVERSION=	4.2.1
+DISTVERSION=	5.0
 CATEGORIES=	emulators
 
 MAINTAINER=	tiago.gasiba@gmail.com
@@ -72,8 +72,6 @@ ICON_RESOLUTIONS=	128x128 192x192 256x256 48x48 512x512 64x64 72x72 96x96
 do-install:
 	${INSTALL_PROGRAM} ${WRKDIR}/.build/src/86Box ${STAGEDIR}${PREFIX}/bin
 	${INSTALL_SCRIPT} ${WRKDIR}/86Box-install-roms.sh ${STAGEDIR}${PREFIX}/bin
-	${REINPLACE_CMD} -e 's|Exec=86Box|Exec=/bin/sh -c "${PREFIX}/bin/86Box -C $${HOME}/.config/86Box.cfg"|' \
-		${WRKSRC}/src/unix/assets/net.86box.86Box.desktop
 	${INSTALL_DATA} ${WRKSRC}/src/unix/assets/net.86box.86Box.desktop \
 		${STAGEDIR}${DESKTOPDIR}
 .for F in ${ICON_RESOLUTIONS}
diff --git a/emulators/86Box/distinfo b/emulators/86Box/distinfo
index 4c04656dbfcc..a08ab5ac5399 100644
--- a/emulators/86Box/distinfo
+++ b/emulators/86Box/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1728389339
-SHA256 (86Box-86Box-v4.2.1_GH0.tar.gz) = 9d5627ef96feb815e66b87f167a1b26f4615fccd730334053293eb038f5ec3a9
-SIZE (86Box-86Box-v4.2.1_GH0.tar.gz) = 5320110
+TIMESTAMP = 1756060000
+SHA256 (86Box-86Box-v5.0_GH0.tar.gz) = 00899cb06eb5591df57756d13929a470e50d5d87bc219d1d1d36ae7bbe83a4bf
+SIZE (86Box-86Box-v5.0_GH0.tar.gz) = 13880473
diff --git a/emulators/86Box/files/86Box-install-roms.sh.in b/emulators/86Box/files/86Box-install-roms.sh.in
index 0c0cf18f342b..6b899380545a 100644
--- a/emulators/86Box/files/86Box-install-roms.sh.in
+++ b/emulators/86Box/files/86Box-install-roms.sh.in
@@ -5,7 +5,7 @@ DEFAULT_TARGET_DIR="$HOME/.local/share/86Box/"
 TARGET_DIR=${TARGET_DIR:-$DEFAULT_TARGET_DIR}
 
 install_roms() {
-  if [ -d "$TARGET_DIR" ] && [ "$(ls -A $TARGET_DIR)" ]; then
+  if [ -d "$TARGET_DIR/roms" ] && [ "$(ls -A $TARGET_DIR/roms)" ]; then
     echo "ROMs already installed in $TARGET_DIR"
     echo "To (re)install, please first remove ROMs with -r parameter"
     exit 1
diff --git a/emulators/86Box/files/patch-src_cdrom_CMakeLists.txt b/emulators/86Box/files/patch-src_cdrom_CMakeLists.txt
new file mode 100644
index 000000000000..c02dd2399e58
--- /dev/null
+++ b/emulators/86Box/files/patch-src_cdrom_CMakeLists.txt
@@ -0,0 +1,10 @@
+--- src/cdrom/CMakeLists.txt.orig	2025-08-24 18:40:59 UTC
++++ src/cdrom/CMakeLists.txt
+@@ -26,6 +26,7 @@ target_link_libraries(86Box PkgConfig::SNDFILE)
+     cdrom_mke.c
+ )
+ target_link_libraries(86Box PkgConfig::SNDFILE)
++target_include_directories(cdrom PRIVATE /usr/local/include)
+ 
+ if(CDROM_MITSUMI)
+     target_compile_definitions(cdrom PRIVATE USE_CDROM_MITSUMI)
diff --git a/emulators/86Box/files/patch-src_network_CMakeLists.txt b/emulators/86Box/files/patch-src_network_CMakeLists.txt
new file mode 100644
index 000000000000..6009eef2e7cb
--- /dev/null
+++ b/emulators/86Box/files/patch-src_network_CMakeLists.txt
@@ -0,0 +1,10 @@
+--- src/network/CMakeLists.txt.orig	2025-08-24 18:50:29 UTC
++++ src/network/CMakeLists.txt
+@@ -71,6 +71,7 @@ if (UNIX)
+ endif()
+ 
+ if (UNIX)
++    set_source_files_properties(net_slirp.c PROPERTIES COMPILE_FLAGS "-I/usr/local/include")
+     find_path(HAS_VDE "libvdeplug.h" PATHS ${VDE_INCLUDE_DIR} "/usr/include /usr/local/include" "/opt/homebrew/include" )
+     if(HAS_VDE)
+         find_library(VDE_LIB vdeplug)
diff --git a/emulators/86Box/files/patch-src_printer_CMakeLists.txt b/emulators/86Box/files/patch-src_printer_CMakeLists.txt
index a6da4a25f91e..a07e28d70427 100644
--- a/emulators/86Box/files/patch-src_printer_CMakeLists.txt
+++ b/emulators/86Box/files/patch-src_printer_CMakeLists.txt
@@ -1,6 +1,6 @@
---- src/printer/CMakeLists.txt.orig	2024-08-02 00:15:09 UTC
+--- src/printer/CMakeLists.txt.orig	2025-08-24 12:26:31 UTC
 +++ src/printer/CMakeLists.txt
-@@ -29,6 +29,7 @@ target_link_libraries(86Box PkgConfig::FREETYPE)
+@@ -37,6 +37,7 @@ target_link_libraries(86Box PkgConfig::FREETYPE)
  find_package(PkgConfig REQUIRED)
  pkg_check_modules(FREETYPE REQUIRED IMPORTED_TARGET freetype2)
  target_link_libraries(86Box PkgConfig::FREETYPE)
diff --git a/emulators/86Box/files/patch-src_qt_qt__mainwindow.cpp b/emulators/86Box/files/patch-src_qt_qt__mainwindow.cpp
index e6bbf8c52860..89635e4db214 100644
--- a/emulators/86Box/files/patch-src_qt_qt__mainwindow.cpp
+++ b/emulators/86Box/files/patch-src_qt_qt__mainwindow.cpp
@@ -1,6 +1,6 @@
---- src/qt/qt_mainwindow.cpp.orig	2024-08-02 00:15:09 UTC
+--- src/qt/qt_mainwindow.cpp.orig	2025-08-24 12:26:31 UTC
 +++ src/qt/qt_mainwindow.cpp
-@@ -378,6 +378,7 @@ MainWindow::MainWindow(QWidget *parent)
+@@ -469,6 +469,7 @@ MainWindow::MainWindow(QWidget *parent)
  
  #if QT_CONFIG(vulkan)
      bool vulkanAvailable = false;
diff --git a/emulators/86Box/files/patch-src_qt_qt__vmmanager__details.cpp b/emulators/86Box/files/patch-src_qt_qt__vmmanager__details.cpp
new file mode 100644
index 000000000000..6386154d5c15
--- /dev/null
+++ b/emulators/86Box/files/patch-src_qt_qt__vmmanager__details.cpp
@@ -0,0 +1,79 @@
+--- src/qt/qt_vmmanager_details.cpp.orig	2025-08-24 19:07:21 UTC
++++ src/qt/qt_vmmanager_details.cpp
+@@ -248,52 +248,52 @@ VMManagerDetails::updateConfig(VMManagerSystem *passed
+ 
+     // System
+     systemSection->clear();
+-    systemSection->addSection("Machine", passed_sysconfig->getDisplayValue(Display::Name::Machine));
+-    systemSection->addSection("CPU", passed_sysconfig->getDisplayValue(Display::Name::CPU));
+-    systemSection->addSection("Memory", passed_sysconfig->getDisplayValue(Display::Name::Memory));
++    systemSection->addSection("Machine", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Machine));
++    systemSection->addSection("CPU", passed_sysconfig->getDisplayValue(VMManager::Display::Name::CPU));
++    systemSection->addSection("Memory", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Memory));
+ 
+     // Video
+     videoSection->clear();
+-    videoSection->addSection("Video", passed_sysconfig->getDisplayValue(Display::Name::Video));
+-    if(!passed_sysconfig->getDisplayValue(Display::Name::Voodoo).isEmpty()) {
+-        videoSection->addSection("Voodoo", passed_sysconfig->getDisplayValue(Display::Name::Voodoo));
++    videoSection->addSection("Video", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Video));
++    if(!passed_sysconfig->getDisplayValue(VMManager::Display::Name::Voodoo).isEmpty()) {
++        videoSection->addSection("Voodoo", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Voodoo));
+     }
+ 
+     // Disks
+     storageSection->clear();
+-    storageSection->addSection("Disks", passed_sysconfig->getDisplayValue(Display::Name::Disks));
+-    storageSection->addSection("Floppy", passed_sysconfig->getDisplayValue(Display::Name::Floppy));
+-    storageSection->addSection("CD-ROM", passed_sysconfig->getDisplayValue(Display::Name::CD));
+-    storageSection->addSection("Removable disks", passed_sysconfig->getDisplayValue(Display::Name::RDisk));
+-    storageSection->addSection("MO", passed_sysconfig->getDisplayValue(Display::Name::MO));
+-    storageSection->addSection("SCSI", passed_sysconfig->getDisplayValue(Display::Name::SCSIController));
+-    storageSection->addSection("Controllers", passed_sysconfig->getDisplayValue(Display::Name::StorageController));
++    storageSection->addSection("Disks", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Disks));
++    storageSection->addSection("Floppy", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Floppy));
++    storageSection->addSection("CD-ROM", passed_sysconfig->getDisplayValue(VMManager::Display::Name::CD));
++    storageSection->addSection("Removable disks", passed_sysconfig->getDisplayValue(VMManager::Display::Name::RDisk));
++    storageSection->addSection("MO", passed_sysconfig->getDisplayValue(VMManager::Display::Name::MO));
++    storageSection->addSection("SCSI", passed_sysconfig->getDisplayValue(VMManager::Display::Name::SCSIController));
++    storageSection->addSection("Controllers", passed_sysconfig->getDisplayValue(VMManager::Display::Name::StorageController));
+ 
+     // Audio
+     audioSection->clear();
+-    audioSection->addSection("Audio", passed_sysconfig->getDisplayValue(Display::Name::Audio));
+-    audioSection->addSection("MIDI Out", passed_sysconfig->getDisplayValue(Display::Name::MidiOut));
++    audioSection->addSection("Audio", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Audio));
++    audioSection->addSection("MIDI Out", passed_sysconfig->getDisplayValue(VMManager::Display::Name::MidiOut));
+ 
+     // Network
+     networkSection->clear();
+-    networkSection->addSection("NIC", passed_sysconfig->getDisplayValue(Display::Name::NIC));
++    networkSection->addSection("NIC", passed_sysconfig->getDisplayValue(VMManager::Display::Name::NIC));
+ 
+     // Input
+     inputSection->clear();
+-    inputSection->addSection("Keyboard", passed_sysconfig->getDisplayValue(Display::Name::Keyboard));
+-    inputSection->addSection("Mouse", passed_sysconfig->getDisplayValue(Display::Name::Mouse));
+-    inputSection->addSection("Joystick", passed_sysconfig->getDisplayValue(Display::Name::Joystick));
++    inputSection->addSection("Keyboard", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Keyboard));
++    inputSection->addSection("Mouse", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Mouse));
++    inputSection->addSection("Joystick", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Joystick));
+ 
+     // Ports
+     portsSection->clear();
+-    portsSection->addSection("Serial ports", passed_sysconfig->getDisplayValue(Display::Name::Serial));
+-    portsSection->addSection("Parallel ports", passed_sysconfig->getDisplayValue(Display::Name::Parallel));
++    portsSection->addSection("Serial ports", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Serial));
++    portsSection->addSection("Parallel ports", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Parallel));
+ 
+     // Other devices
+     otherSection->clear();
+-    otherSection->addSection("ISA RTC", passed_sysconfig->getDisplayValue(Display::Name::IsaRtc));
+-    otherSection->addSection("ISA RAM", passed_sysconfig->getDisplayValue(Display::Name::IsaMem));
+-    otherSection->addSection("ISA ROM", passed_sysconfig->getDisplayValue(Display::Name::IsaRom));
++    otherSection->addSection("ISA RTC", passed_sysconfig->getDisplayValue(VMManager::Display::Name::IsaRtc));
++    otherSection->addSection("ISA RAM", passed_sysconfig->getDisplayValue(VMManager::Display::Name::IsaMem));
++    otherSection->addSection("ISA ROM", passed_sysconfig->getDisplayValue(VMManager::Display::Name::IsaRom));
+ 
+     systemSection->setSections();
+     videoSection->setSections();
diff --git a/emulators/86Box/files/patch-src_qt_qt__vmmanager__detailsection.cpp b/emulators/86Box/files/patch-src_qt_qt__vmmanager__detailsection.cpp
new file mode 100644
index 000000000000..4b35ec0aa35b
--- /dev/null
+++ b/emulators/86Box/files/patch-src_qt_qt__vmmanager__detailsection.cpp
@@ -0,0 +1,11 @@
+--- src/qt/qt_vmmanager_detailsection.cpp.orig	2025-08-24 19:05:30 UTC
++++ src/qt/qt_vmmanager_detailsection.cpp
+@@ -145,7 +145,7 @@ void
+ }
+ 
+ void
+-VMManagerDetailSection::addSection(const QString &name, const QString &value, Display::Name displayField)
++VMManagerDetailSection::addSection(const QString &name, const QString &value, VMManager::Display::Name displayField)
+ {
+     const auto new_section = DetailSection { name, value};
+     sections.push_back(new_section);
diff --git a/emulators/86Box/files/patch-src_qt_qt__vmmanager__system.cpp b/emulators/86Box/files/patch-src_qt_qt__vmmanager__system.cpp
new file mode 100644
index 000000000000..aa94a21eab29
--- /dev/null
+++ b/emulators/86Box/files/patch-src_qt_qt__vmmanager__system.cpp
@@ -0,0 +1,219 @@
+--- src/qt/qt_vmmanager_system.cpp.orig	2025-08-24 19:09:53 UTC
++++ src/qt/qt_vmmanager_system.cpp
+@@ -557,7 +557,7 @@ VMManagerSystem::setupVars() {
+                 }
+         }
+     }
+-    display_table[Display::Name::Machine] = machine_name;
++    display_table[VMManager::Display::Name::Machine] = machine_name;
+ 
+     // CPU: Combine name with speed and FPU
+     QString cpu_name = "Unknown";
+@@ -592,34 +592,34 @@ VMManagerSystem::setupVars() {
+ //    int speed_display = machine_config["cpu_speed"].toInt() / 1000000;
+ //    cpu_name.append(QString::number(speed_display).prepend(" / "));
+ //    cpu_name.append(QCoreApplication::translate("", "MHz").prepend(' '));
+-    display_table[Display::Name::CPU] = cpu_name;
++    display_table[VMManager::Display::Name::CPU] = cpu_name;
+ 
+     // Memory
+     int divisor = (ram_granularity < 1024) ? 1 : 1024;
+     QString display_unit = (divisor == 1) ? "KB" : "MB";
+     auto mem_display = QString::number(machine_config["mem_size"].toInt() / divisor);
+     mem_display.append(QCoreApplication::translate("", display_unit.toUtf8().constData()).prepend(' '));
+-    display_table[Display::Name::Memory] = mem_display;
++    display_table[VMManager::Display::Name::Memory] = mem_display;
+ 
+     // Video card
+     int video_int = video_get_video_from_internal_name(video_config["gfxcard"].toUtf8().data());
+     const device_t* video_dev = video_card_getdevice(video_int);
+-    display_table[Display::Name::Video] = DeviceConfig::DeviceName(video_dev, video_get_internal_name(video_int), 1);
++    display_table[VMManager::Display::Name::Video] = DeviceConfig::DeviceName(video_dev, video_get_internal_name(video_int), 1);
+ 
+     // Secondary video
+     if (video_config.contains("gfxcard_2")) {
+         int video2_int = video_get_video_from_internal_name(video_config["gfxcard_2"].toUtf8().data());
+         const device_t* video2_dev = video_card_getdevice(video2_int);
+-        display_table[Display::Name::Video].append(DeviceConfig::DeviceName(video2_dev, video_get_internal_name(video2_int), 1).prepend(VMManagerDetailSection::sectionSeparator));
++        display_table[VMManager::Display::Name::Video].append(DeviceConfig::DeviceName(video2_dev, video_get_internal_name(video2_int), 1).prepend(VMManagerDetailSection::sectionSeparator));
+     }
+ 
+     // Add-on video that's not Voodoo
+     if (video_config.contains("8514a") && (video_config["8514a"].toInt() != 0))
+-        display_table[Display::Name::Video].append(tr("IBM 8514/A Graphics").prepend(VMManagerDetailSection::sectionSeparator));
++        display_table[VMManager::Display::Name::Video].append(tr("IBM 8514/A Graphics").prepend(VMManagerDetailSection::sectionSeparator));
+     if (video_config.contains("xga") && (video_config["xga"].toInt() != 0))
+-        display_table[Display::Name::Video].append(tr("XGA Graphics").prepend(VMManagerDetailSection::sectionSeparator));
++        display_table[VMManager::Display::Name::Video].append(tr("XGA Graphics").prepend(VMManagerDetailSection::sectionSeparator));
+     if (video_config.contains("da2") && (video_config["da2"].toInt() != 0))
+-        display_table[Display::Name::Video].append(tr("IBM PS/55 Display Adapter Graphics").prepend(VMManagerDetailSection::sectionSeparator));
++        display_table[VMManager::Display::Name::Video].append(tr("IBM PS/55 Display Adapter Graphics").prepend(VMManagerDetailSection::sectionSeparator));
+ 
+     // Voodoo
+     QString voodoo_name = "";
+@@ -641,7 +641,7 @@ VMManagerSystem::setupVars() {
+                 break;
+         }
+     }
+-    display_table[Display::Name::Voodoo] = voodoo_name;
++    display_table[VMManager::Display::Name::Voodoo] = voodoo_name;
+ 
+     // Drives
+     // First the number of disks
+@@ -666,7 +666,7 @@ VMManagerSystem::setupVars() {
+     if (disks.count()) {
+         disks_display.append(" / ").append(bus_types.keys().join(", ").toUpper());
+     }
+-//    display_table[Display::Name::Disks] = disks_display;
++//    display_table[VMManager::Display::Name::Disks] = disks_display;
+ 
+     // Drives
+     QString new_disk_display;
+@@ -699,7 +699,7 @@ VMManagerSystem::setupVars() {
+     if(new_disk_display.isEmpty()) {
+         new_disk_display = tr("No disks");
+     }
+-    display_table[Display::Name::Disks] = new_disk_display;
++    display_table[VMManager::Display::Name::Disks] = new_disk_display;
+ 
+     // Floppy & CD-ROM
+     QStringList floppyDevices;
+@@ -748,8 +748,8 @@ VMManagerSystem::setupVars() {
+         }
+     }
+ 
+-    display_table[Display::Name::Floppy] = floppyDevices.join(VMManagerDetailSection::sectionSeparator);
+-    display_table[Display::Name::CD]     = cdromDevices.join(VMManagerDetailSection::sectionSeparator);
++    display_table[VMManager::Display::Name::Floppy] = floppyDevices.join(VMManagerDetailSection::sectionSeparator);
++    display_table[VMManager::Display::Name::CD]     = cdromDevices.join(VMManagerDetailSection::sectionSeparator);
+ 
+     // Removable disks & MO
+     QStringList rdiskDevices;
+@@ -786,8 +786,8 @@ VMManagerSystem::setupVars() {
+         }
+     }
+ 
+-    display_table[Display::Name::RDisk] = rdiskDevices.join(VMManagerDetailSection::sectionSeparator);
+-    display_table[Display::Name::MO]    = moDevices.join(VMManagerDetailSection::sectionSeparator);
++    display_table[VMManager::Display::Name::RDisk] = rdiskDevices.join(VMManagerDetailSection::sectionSeparator);
++    display_table[VMManager::Display::Name::MO]    = moDevices.join(VMManagerDetailSection::sectionSeparator);
+ 
+ 
+     // SCSI controllers
+@@ -805,7 +805,7 @@ VMManagerSystem::setupVars() {
+             }
+         }
+     }
+-    display_table[Display::Name::SCSIController] = scsiControllers.join(VMManagerDetailSection::sectionSeparator);
++    display_table[VMManager::Display::Name::SCSIController] = scsiControllers.join(VMManagerDetailSection::sectionSeparator);
+ 
+     // Hard and floppy disk controllers
+     QStringList storageControllers;
+@@ -864,7 +864,7 @@ VMManagerSystem::setupVars() {
+     if (storage_config.contains(ide_qua_internal_name) && (storage_config[ide_qua_internal_name].toInt() != 0))
+         storageControllers.append(DeviceConfig::DeviceName(hdc_get_device(hdc_get_from_internal_name(ide_qua_internal_name.toUtf8().data())), ide_qua_internal_name.toUtf8().constData(), 1));
+ 
+-    display_table[Display::Name::StorageController] = storageControllers.join(VMManagerDetailSection::sectionSeparator);
++    display_table[VMManager::Display::Name::StorageController] = storageControllers.join(VMManagerDetailSection::sectionSeparator);
+ 
+     // Audio
+     QStringList sndCards;
+@@ -889,7 +889,7 @@ VMManagerSystem::setupVars() {
+     if(sndCards.isEmpty()) {
+         sndCards.append(tr("None"));
+     }
+-    display_table[Display::Name::Audio] = sndCards.join(VMManagerDetailSection::sectionSeparator);
++    display_table[VMManager::Display::Name::Audio] = sndCards.join(VMManagerDetailSection::sectionSeparator);
+ 
+     // MIDI
+     QString midiOutDev;
+@@ -901,7 +901,7 @@ VMManagerSystem::setupVars() {
+             midiOutDev = midiDevName;
+         }
+     }
+-    display_table[Display::Name::MidiOut] = midiOutDev;
++    display_table[VMManager::Display::Name::MidiOut] = midiOutDev;
+ 
+     // midi_device = mt32 (output)
+     // mpu401_standalone = 1
+@@ -940,21 +940,21 @@ VMManagerSystem::setupVars() {
+     if(nicList.isEmpty()) {
+         nicList.append(tr("None"));
+     }
+-    display_table[Display::Name::NIC] = nicList.join(VMManagerDetailSection::sectionSeparator);
++    display_table[VMManager::Display::Name::NIC] = nicList.join(VMManagerDetailSection::sectionSeparator);
+ 
+     // Input (Keyboard)
+     if (input_config.contains("keyboard_type")) {
+         auto keyboard_internal_name = input_config["keyboard_type"];
+         auto keyboard_dev = keyboard_get_from_internal_name(keyboard_internal_name.toUtf8().data());
+         auto keyboard_dev_name = DeviceConfig::DeviceName(keyboard_get_device(keyboard_dev), keyboard_get_internal_name(keyboard_dev), 0);
+-        display_table[Display::Name::Keyboard] = keyboard_dev_name;
++        display_table[VMManager::Display::Name::Keyboard] = keyboard_dev_name;
+     }
+ 
+     // Input (Mouse)
+     auto mouse_internal_name = input_config["mouse_type"];
+     auto mouse_dev = mouse_get_from_internal_name(mouse_internal_name.toUtf8().data());
+     auto mouse_dev_name = DeviceConfig::DeviceName(mouse_get_device(mouse_dev), mouse_get_internal_name(mouse_dev), 0);
+-    display_table[Display::Name::Mouse] = mouse_dev_name;
++    display_table[VMManager::Display::Name::Mouse] = mouse_dev_name;
+ 
+     // Input (joystick)
+     QString joystickDevice;
+@@ -965,7 +965,7 @@ VMManagerSystem::setupVars() {
+             joystickDevice = joystickName;
+         }
+     }
+-    display_table[Display::Name::Joystick] = joystickDevice;
++    display_table[VMManager::Display::Name::Joystick] = joystickDevice;
+ 
+     // # Ports
+     // Serial
+@@ -1026,8 +1026,8 @@ VMManagerSystem::setupVars() {
+         if (portIndex == PARALLEL_MAX)
+             break;
+     }
+-    display_table[Display::Name::Serial]   = (serialFinal.empty() ?  tr("None") : serialFinal.join(", "));
+-    display_table[Display::Name::Parallel] = (lptFinal.empty()    ?  tr("None") : lptFinal.join((hasLptDevices ? VMManagerDetailSection::sectionSeparator : ", ")));
++    display_table[VMManager::Display::Name::Serial]   = (serialFinal.empty() ?  tr("None") : serialFinal.join(", "));
++    display_table[VMManager::Display::Name::Parallel] = (lptFinal.empty()    ?  tr("None") : lptFinal.join((hasLptDevices ? VMManagerDetailSection::sectionSeparator : ", ")));
+ 
+     // ISA RTC
+     QString isartc_dev_name = "";
+@@ -1036,7 +1036,7 @@ VMManagerSystem::setupVars() {
+         auto isartc_dev = isartc_get_from_internal_name(isartc_internal_name.toUtf8().data());
+         isartc_dev_name = DeviceConfig::DeviceName(isartc_get_device(isartc_dev), isartc_get_internal_name(isartc_dev), 0);
+     }
+-    display_table[Display::Name::IsaRtc] = isartc_dev_name;
++    display_table[VMManager::Display::Name::IsaRtc] = isartc_dev_name;
+ 
+     // ISA RAM
+     QStringList IsaMemCards;
+@@ -1053,7 +1053,7 @@ VMManagerSystem::setupVars() {
+             }
+         }
+     }
+-    display_table[Display::Name::IsaMem] = IsaMemCards.join(VMManagerDetailSection::sectionSeparator);
++    display_table[VMManager::Display::Name::IsaMem] = IsaMemCards.join(VMManagerDetailSection::sectionSeparator);
+ 
+     // ISA ROM
+     QStringList IsaRomCards;
+@@ -1070,7 +1070,7 @@ VMManagerSystem::setupVars() {
+             }
+         }
+     }
+-    display_table[Display::Name::IsaRom] = IsaRomCards.join(VMManagerDetailSection::sectionSeparator);
++    display_table[VMManager::Display::Name::IsaRom] = IsaRomCards.join(VMManagerDetailSection::sectionSeparator);
+ }
+ 
+ bool
+@@ -1119,7 +1119,7 @@ QString
+     processStatusChanged();
+ }
+ QString
+-VMManagerSystem::getDisplayValue(Display::Name key)
++VMManagerSystem::getDisplayValue(VMManager::Display::Name key)
+ {
+     return (display_table.contains(key)) ? display_table[key] : "";
+ }
diff --git a/emulators/86Box/files/patch-src_video_CMakeLists.txt b/emulators/86Box/files/patch-src_video_CMakeLists.txt
new file mode 100644
index 000000000000..36e929c16c4b
--- /dev/null
+++ b/emulators/86Box/files/patch-src_video_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- src/video/CMakeLists.txt.orig	2025-08-24 18:56:26 UTC
++++ src/video/CMakeLists.txt
+@@ -143,6 +143,8 @@ add_library(vid OBJECT
+ 
+ )
+ 
++target_include_directories(vid PRIVATE /usr/local/include)
++
+ if(G100)
+     target_compile_definitions(vid PRIVATE USE_G100)
+ endif()