From 1e460026783e5058778216d43e30c6d3a5cec2a5 Mon Sep 17 00:00:00 2001 From: Mike Swanson Date: Mon, 2 Sep 2024 16:26:36 -0700 Subject: [PATCH 1/2] network: vde_switch does not require root Just a bit of erronous documentation. VDE's whole purpose was to run a networking stack as a user without requiring root; vde_switch defaults to setting the UID/GID of the socket to the user that initiated it with mode 0600: plenty good enough for most users (and 86Box usage). The default socket directory is already /tmp/vde.ctl, too, but might as well keep it in the documentation here so that it's more obvious to change. --- hardware/network.rst | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/hardware/network.rst b/hardware/network.rst index bb6b8cd..915adfd 100644 --- a/hardware/network.rst +++ b/hardware/network.rst @@ -96,18 +96,15 @@ Creating the virtual switch Before connecting 86Box, a virtual switch must be created with the ``vde_switch`` tool. -.. note:: ``vde_switch`` requires root privileges to *create* the switch. Applications will be able to connect to the switch with unprivileged (non-root) permissions. - .. code-block:: shell - vde_switch --mode 666 --numports 8 --mgmt /tmp/vde.mgmt --mgmtmode 666 -s /tmp/vde.ctl + vde_switch --numports 8 --mgmt /tmp/vde.mgmt -s /tmp/vde.ctl This command: * Creates the *management* socket at ``/tmp/vde.mgmt`` * Creates the *control* socket at ``/tmp/vde.ctl`` -* Sets the sockets' permissions to world read/write to allow unprivileged access -* Sets the number of switch ports to 8 +* Sets the number of switch ports to 8 (default is 32) Adding ``--daemon`` to the command will run ``vde_switch`` in the background. From 9f1fffe2efdd8afbfb09f798f0a8be7e46ef2806 Mon Sep 17 00:00:00 2001 From: Alexander Babikov Date: Tue, 24 Dec 2024 21:08:59 +0500 Subject: [PATCH 2/2] Add libserialport to the build guide (#39) --- dev/buildguide.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dev/buildguide.rst b/dev/buildguide.rst index 54caf3b..5c8b26b 100644 --- a/dev/buildguide.rst +++ b/dev/buildguide.rst @@ -106,6 +106,7 @@ Development files for the following libraries are also needed: * RtMidi * SDL2 * OpenAL (by default) or FAudio (installing FAudio is optional on Windows) +* libserialport (optional, needed for external OPL2Board support) * Qt5 or Qt6 (optional, can be disabled) Obtaining the dependencies @@ -125,7 +126,7 @@ Ubuntu, Debian .. code-block:: bash - $ sudo apt install build-essential cmake extra-cmake-modules pkg-config ninja-build libfreetype-dev libsdl2-dev libpng-dev libopenal-dev librtmidi-dev libfluidsynth-dev libsndfile1-dev qtbase5-dev qtbase5-private-dev qttools5-dev libevdev-dev libxkbcommon-dev libxkbcommon-x11-dev libslirp-dev + $ sudo apt install build-essential cmake extra-cmake-modules pkg-config ninja-build libfreetype-dev libsdl2-dev libpng-dev libopenal-dev librtmidi-dev libfluidsynth-dev libsndfile1-dev libserialport-dev qtbase5-dev qtbase5-private-dev qttools5-dev libevdev-dev libxkbcommon-dev libxkbcommon-x11-dev libslirp-dev Arch @@ -133,7 +134,7 @@ Arch .. code-block:: bash - $ sudo pacman -Sy base-devel cmake extra-cmake-modules pkgconf ninja libfreetype sdl2 libpng openal rtmidi libslirp fluidsynth libsndfile qt5-base qt5-xcb-private-headers qt5-tools libevdev libxkbcommon libxkbcommon-x11 vulkan-devel + $ sudo pacman -Sy base-devel cmake extra-cmake-modules pkgconf ninja libfreetype sdl2 libpng openal rtmidi libslirp fluidsynth libsndfile libserialport qt5-base qt5-xcb-private-headers qt5-tools libevdev libxkbcommon libxkbcommon-x11 vulkan-devel Fedora @@ -142,7 +143,7 @@ Fedora .. code-block:: bash $ sudo dnf groupinstall "C Development Tools and Libraries" - $ sudo dnf install cmake extra-cmake-modules pkg-config ninja-build freetype-devel SDL2-devel libatomic libpng-devel libslirp-devel libXi-devel openal-soft-devel rtmidi-devel fluidsynth-devel libsndfile-devel qt5-linguist qt5-qtconfiguration-devel qt5-qtbase-private-devel qt5-qtbase-static wayland-devel libevdev-devel libxkbcommon-x11-devel zlib-ng-compat-static + $ sudo dnf install cmake extra-cmake-modules pkg-config ninja-build freetype-devel SDL2-devel libatomic libpng-devel libslirp-devel libXi-devel openal-soft-devel rtmidi-devel fluidsynth-devel libsndfile-devel libserialport-devel qt5-linguist qt5-qtconfiguration-devel qt5-qtbase-private-devel qt5-qtbase-static wayland-devel libevdev-devel libxkbcommon-x11-devel zlib-ng-compat-static macOS (Homebrew) @@ -150,7 +151,7 @@ macOS (Homebrew) .. code-block:: bash - $ brew install cmake ninja pkg-config freetype sdl2 libpng openal-soft rtmidi libslirp fluid-synth libsndfile qt@5 + $ brew install cmake ninja pkg-config freetype sdl2 libpng openal-soft rtmidi libslirp fluid-synth libsndfile libserialport qt@5 FreeBSD