{"id":172786,"date":"2026-05-20T12:56:23","date_gmt":"2026-05-20T10:56:24","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/3d-movie-maker-portirovan-na-linux"},"modified":"2026-05-20T12:56:23","modified_gmt":"2026-05-20T10:56:24","slug":"3d-movie-maker-portirovan-na-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/3d-movie-maker-portirovan-na-linux","title":{"rendered":"3D Movie Maker \u00e8 stato portato su Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"3D Movie Maker \u00e8 stato portato su Linux\" src=\"\/wp-content\/uploads\/2026\/05\/85861fdd662658385e6b31989110617c.jpg\" style=\"display:block;margin: 0 auto;\" \/>                                    <\/p>\n<p>Sviluppatori del progetto <strong>3DMMEx<\/strong> hanno raggiunto l'avvio del classico <strong>Microsoft 3D Movie Maker<\/strong> su Linux senza Wine e macchine virtuali. Ben Stone, autore del port originale di 3DMMEx, ha parlato del lavoro svolto. Secondo lui, il progetto ha raggiunto un traguardo importante: il programma pu\u00f2 ora essere compilato e avviato su Linux, rendendo 3DMMEx la prima ramificazione conosciuta di 3D Movie Maker a funzionare al di fuori di Windows. La pubblicazione sul porting \u00e8 datata <strong>9 maggio 2026<\/strong>.<\/p>\n<p> <noindex><noindex><\/p>\n<p><strong>Microsoft 3D Movie Maker<\/strong> \u2014 un programma per bambini del 1995 per creare semplici cartoni animati in 3D: l'utente sceglieva le scene, posizionava i personaggi e gli oggetti, assegnava loro azioni, aggiungeva dialoghi, suoni e musica. A lungo, il progetto \u00e8 rimasto un artefatto storico chiuso dell'era di Windows 95, ma a <strong>maggio 2022, Microsoft ha reso pubblico il codice sorgente di 3D Movie Maker con licenza MIT<\/strong>. Il repository ufficiale di Microsoft <a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/Microsoft-3D-Movie-Maker\">\u00e8 disponibile su GitHub<\/a>; nella descrizione \u00e8 chiaramente indicato che si tratta del codice sorgente del progetto originale del 1995, pubblicato come software open source con licenza MIT.<\/p>\n<p><\/noindex><\/noindex>  <\/p>\n<p>L'apertura del codice sorgente \u00e8 stata il punto di partenza per diversi tentativi di riportare in vita il programma. Inizialmente \u00e8 nato il progetto <strong>3DMMForever<\/strong>, che si occupava della modernizzazione della build e della preparazione alla compilazione con strumenti moderni. Successivamente, quando il lavoro su di esso ha rallentato, Ben Stone ha creato un fork <strong>3DMMEx<\/strong>. L'obiettivo del progetto \u00e8 preservare l'esperienza classica di utilizzo di 3D Movie Maker, ma aggiungere piccoli miglioramenti e rendere il codice portabile sui sistemi moderni.<\/p>\n<p>Il porting si \u00e8 rivelato non essere una semplice ricompilazione del vecchio codice. Il codice sorgente di 3D Movie Maker era scritto per un vecchio dialetto C++, Microsoft Visual C++, Win32 API e un modello di memoria a 32 bit. Inoltre, venivano utilizzate dipendenze statiche nelle librerie interne, assemblatore x86 incorporato, vecchie ipotesi sulle dimensioni dei puntatori e vincoli legati a sottosistemi specifici di Windows.<\/p>\n<h3>Cosa \u00e8 stato necessario fare<\/h3>\n<ul>\n<li>\n<p><strong>Sostituire il layer Win32 con SDL.<\/strong> In 3D Movie Maker viene utilizzato un framework applicativo interno <strong>Kauai<\/strong>, che astrattava inizialmente alcune funzioni di sistema, ma nella pratica si basava comunque su Win32. In 3DMMEx, l'implementazione dell'interfaccia grafica \u00e8 stata trasferita su <strong>SDL2<\/strong>. Questo ha permesso di sostituire il sistema delle finestre, la gestione degli input e il rendering, mantenendo comunque l'architettura dell'applicazione intatta.<\/p>\n<\/li>\n<li>\n<p><strong>Riscrivere il rendering e l'input.<\/strong> Alcune operazioni che in Win32 venivano eseguite con una singola chiamata, in SDL sono state implementate manualmente. Ad esempio, per lavorare con i font in Windows si utilizzavano funzioni predefinite per l'elenco e la creazione dei font, mentre nella versione portabile \u00e8 stato necessario scrivere questa logica separatamente per le piattaforme. Allo stesso modo, \u00e8 stato implementato nuovamente il sistema di combinazioni di tasti, poich\u00e9 la vecchia implementazione di Windows non poteva essere utilizzata direttamente in Linux.<\/p>\n<\/li>\n<li>\n<p><strong>Rimuovere l'assemblatore incorporato.<\/strong> In Kauai e nei componenti correlati \u00e8 stato utilizzato un assemblatore ottimizzato manualmente per x86, incluse le funzioni di copia della memoria, elaborazione delle immagini e compressione dei dati. Per la portabilit\u00e0, queste sezioni sono state sostituite con varianti in C\/C++. Secondo l'autore, ci\u00f2 non solo ha semplificato la compilazione al di fuori di Windows, ma in alcuni casi ha persino migliorato le prestazioni grazie alle moderne implementazioni di memcpy e memmove nella libreria standard C.<\/p>\n<\/li>\n<li>\n<p><strong>Affrontare le librerie statiche.<\/strong> 3D Movie Maker aveva due importanti dipendenze esterne: <strong>BRender<\/strong> e <strong>AudioMan<\/strong>. BRender \u00e8 un motore 3D di Argonaut Software utilizzato per la grafica. Il suo codice sorgente \u00e8 stato aperto, ma conteneva anche molti assemblatori x86. Per 3DMMEx viene utilizzata una variante in cui le parti in assembly sono sostituite con codice portabile.<\/p>\n<\/li>\n<li>\n<p><strong>Sostituire AudioMan per Linux.<\/strong> La libreria <strong>AudioMan<\/strong> non era responsabile solo della riproduzione del suono, ma anche dell'importazione e registrazione dei suoni all'interno dell'applicazione. Poich\u00e9 era strettamente legata al suono di Windows e alle interfacce COM, gli sviluppatori non l'hanno trasferita direttamente. Per i sistemi non Windows \u00e8 stato aggiunto un nuovo modulo per la riproduzione e registrazione del suono basato su <strong>miniaudio<\/strong>.<\/p>\n<\/li>\n<li>\n<p><strong>Aggiungere supporto per MIDI e video incorporati.<\/strong> Per il porto Linux sono stati integrati <strong>FluidSynth<\/strong> per la riproduzione di MIDI e <strong>GStreamer<\/strong> per la riproduzione di video. \u00c8 stato inoltre necessario affrontare i problemi tipici del trasferimento dei vecchi programmi Windows in un ambiente POSIX: sensibilit\u00e0 ai nomi dei file rispetto al maiuscolo\/minuscolo, barre oblique inverse nei percorsi, funzioni piattaforma specifiche per la gestione dei file e altre piccole cose che nel complesso rompono l'avvio dell'applicazione.<\/p>\n<\/li>\n<li>\n<p><strong>Preparare il codice per i sistemi a 64 bit.<\/strong> <a rel=\"nofollow\" href=\"https:\/\/www.ilande.co.uk\/2026\/04\/06\/porting-3dmm-to-linux-part1.html\">Una parte significativa del vecchio codice presupponeva un ambiente a 32 bit.<\/a>. Durante il porting, sono emersi punti in cui i puntatori venivano convertiti in numeri a 32 bit e le strutture salvate su disco dipendevano dalla dimensione del puntatore. Per non compromettere la compatibilit\u00e0 con i file dei progetti 3D Movie Maker, sono state aggiunte al codice verifiche delle dimensioni delle strutture e una logica separata per la serializzazione.<\/p>\n<\/li>\n<li>\n<p><strong>Migliorare il debug e il testing.<\/strong> Parte dei test interni di Kauai \u00e8 stata trasferita su <strong>Google Test<\/strong>, e nel codice sono state aggiunte ulteriori verifiche e registri di esecuzione per gli script dell'interfaccia. Questo \u00e8 importante perch\u00e9 una parte significativa della logica di 3D Movie Maker risiede non nel normale codice C++, ma negli script personalizzati dell'applicazione.<\/p>\n<\/li>\n<\/ul>\n<p> <noindex><\/p>\n<p>Attualmente <a rel=\"nofollow\" href=\"https:\/\/github.com\/benstone\/3DMMEx\">nel repository 3DMMEx<\/a> sono dichiarati supporto per Linux, grafica e input tramite SDL2, compilazione con Visual Studio 2022, Clang e GCC, compilazioni a 64 bit per x64 e ARM64, sostituzione dell'assembly integrato con C++ portabile, test modulari, migliorato utilizzo del mouse, nuove scorciatoie da tastiera e importazione audio di qualit\u00e0 superiore. Per la compilazione su Linux sono necessari CMake, Ninja, GCC e le librerie di sviluppo SDL2, SDL2_ttf, GStreamer, GTK3, iconv e Fontconfig.<\/p>\n<p><\/noindex> <\/p>\n<p>Attualmente, la versione Linux deve essere compilata dai sorgenti. L'autore prevede di preparare successivamente i pacchetti binari pronti per le distribuzioni pi\u00f9 popolari. Tuttavia, il porting \u00e8 gi\u00e0 funzionale: secondo quanto riferito da Ben Stone, tutte le funzionalit\u00e0 di 3DMMEx funzionano nella versione SDL\/Linux, anche se ci sono ancora problemi con la gestione del mouse durante il trascinamento degli attori sulla scena. Tra future possibili direzioni sono stati citati il porting su macOS e un'opzione tramite Emscripten per l'esecuzione nel browser.<\/p>\n<p>Pertanto, l'apertura del codice sorgente da parte di Microsoft nel 2022 ha portato non solo alla conservazione del vecchio programma in forma archiviata, ma a un vero e proprio porting sulle piattaforme moderne. 3D Movie Maker pu\u00f2 ora essere considerato non solo come un reperto museale dell'epoca di Windows 95, ma anche come un esempio di come la pubblicazione del codice sotto licenza libera permette, dopo decenni, di riportare in vita un'applicazione a lungo abbandonata.<\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/opensource\/18294456\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 3DMMEx \u0434\u043e\u0431\u0438\u043b\u0438\u0441\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e Microsoft 3D Movie Maker \u0432 Linux \u0431\u0435\u0437 Wine \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b. \u041e \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u0411\u0435\u043d \u0421\u0442\u043e\u0443\u043d, \u0430\u0432\u0442\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430 3DMMEx. \u041f\u043e \u0435\u0433\u043e \u0441\u043b\u043e\u0432\u0430\u043c, \u043f\u0440\u043e\u0435\u043a\u0442 \u0434\u043e\u0441\u0442\u0438\u0433 \u0432\u0430\u0436\u043d\u043e\u0433\u043e \u0440\u0443\u0431\u0435\u0436\u0430: \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0432 Linux, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 3DMMEx \u043f\u0435\u0440\u0432\u044b\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c \u043e\u0442\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435\u043c 3D Movie Maker, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u043c \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 Windows. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-172786","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 3DMMEx \u0434\u043e\u0431\u0438\u043b\u0438\u0441\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/3d-movie-maker-portirovan-na-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd473D Movie Maker \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 3DMMEx \u0434\u043e\u0431\u0438\u043b\u0438\u0441\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/3d-movie-maker-portirovan-na-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-05-20T10:56:24+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-05-20T10:56:24+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd473D Movie Maker \u00e8 stato portato su Linux | ProHoster","description":"Gli sviluppatori del progetto 3DMMEx hanno raggiunto.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/3d-movie-maker-portirovan-na-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd473D Movie Maker \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430 Linux | ProHoster","og:description":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 3DMMEx \u0434\u043e\u0431\u0438\u043b\u0438\u0441\u044c.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/3d-movie-maker-portirovan-na-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-05-20T10:56:24+00:00","article:modified_time":"2026-05-20T10:56:24+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/172786","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=172786"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/172786\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=172786"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=172786"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=172786"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}