КОМПАС-3D под FreeBSD в среде Wine на видеокарте nVidia

15 ИЮНЯ 2022

------------------------------------------------------------------------

Наш телеграм-канал: t.me/@mailsgun_online

Youtube: youtube.com/@mailsgun_online

------------------------------------------------------------------------

сегодня в 04:28


Tutorial

Данный пост можно рассматривать как дополнение к «КОМПАС-3D и Linux → Часть 1»

Небольшое отступление.

К фрюхе я неравнодушен давно, года с 1996-го, но использовал её ранее только как серверную ОС. О том, что бы установить FreeBSD на рабочий ноутбук, как -то даже и мысли не возникало. Но времена меняются. С месяц назад я просто почувствовал, что пора… пора расстаться с этим недоразумением под названием Windows и накатил FreeBSD 13.0 на свой рабочий ASUS VX7. Почему не Linux ? Потому, что фрюха — это наше все! О том, как проходил процесс пуско-наладки FreeBSD на отдельно взятом ноутбуке можно написать не один пост, но сейчас вопрос не об этом.

Дело в том, что мне по долгу службы часто приходится иметь дело с 3D моделями, для этой цели пару лет назад была приобретена сетевая лицензия на КОМПАС-3D, а так же оформлена подписка на Fusion 360. После перехода на фрю, оба этих инструмента мне стали недоступны и я вынужден был использовать FreeCAD. К сожалению, приходится констатировать факт — FreeCAD урод от рождения, пользоваться им можно, но крайне тяжело. Это вынудило меня потратить некоторое время на поиски альтернативного решения, а именно — как заставить Fusion 360 или КОМПАС-3D работать под FreeBSD в среде Wine.

Несколько бессонных ночей ушло на то, что бы выяснить, что Wine под FreeBSD, по идеологическим соображениям, не может исполнять приложения PE32 (смесь 32 и 64 битного кода), а Fusion оказался именно таким и другим уже не будет (т.е. чисто 32-х битной версии Fusion-а нет). К слову сказать, Fusion 360 под Linux-ом прекрасно работает в среде Wine. Разочарованный таким положением дел я принялся изучать эту же тему с КОМПАСом и, не без удивления, обнаружил статью на Хабре с подробной инструкцией как запустить КОМПАС-3D под Linux-ом. Проделав незатейливые манипуляции, выяснил, что КОМПАС таки работает под FreeBSD! Но есть один ньюанс — видео карта nVidia GeForce GTX 560M в моём ноутбуке с которой Wine, по-умолчанию, не дружит. Выглядит это так: виндовое приложение (КОМПАС) запускается и даже делает вид что работает, но вместо 3D графики мы видим черное (серое) поле, т.е. 3D графика просто не рендерится. Отключение использования аппаратного ускорителя в настройках КОМПАСа не дало никакого эффекта. Сам факт того, что КОМПАС запускается меня воодушевил на дальнейшие поиски и это привело меня на форум разработчиков FreeBSD где обсуждается необходимость патчить Wine добавлением 32-битных драйверов от проприетарного драйвера nVidia. Более того, монтейнеры порта emulators/i386-wine и emulators/i386-wine-devel добавили в него скрипт files/nvidia.sh который самостотельно находит проприетарный видео-драйвер и накатывает патч, после чего wine можно собирать и устанавливать и все будет как в сказке.

И так, инструкция по запуску КОМПАС-3D V20 под FreeBSD 13.0 в среде Wine32.

Прежде стоит отметить, что запускать будем только 32-х битную версию КОМПАС-3D, так как 64-х битная это все тот же PE32 и работать она не будет до тех пор, пока в порт Wine не вернут поддерку PE32. А значит, запускать будем под wine32 версии 6.12 (пакет emulators/i386-wine-devel).

1. Установить проприетарный видео драйвер от nVidia. В моем случае это порт x11/nvidia-driver-390:

# cd /usr/ports/x11/nvidia-driver-390
# make && make install

2. Добавить загрузку ядерных модулей драйвера, для чего в файл /boo/loader.conf добавить:

nvidia_load="YES"
nvidia-modset_load="YES"

3. Дать Xorg-у указание использовать проприетарный драйвер, для этого в /etc/X11/xorg.conf в секции Device указать «nvidia« как показано ниже:

EndSectionSection "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID    "PCI:1:0:0"
EndSection

4. Убедиться в том, что драйвер загружен, а команда glxinfo -В выдает подобное:

name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 3072 MB
    Total available memory: 3072 MB
    Currently available dedicated video memory: 2863 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 560M/PCIe/SSE2
OpenGL core profile version string: 4.5.0 NVIDIA 390.144
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.5.0 NVIDIA 390.144
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 390.144
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

5. На сайте АСКОНа — разрабочика пакета КОМПАС-3D, по какой-то причине 32-х битная версия пакета не доступна, но указано, что любой желающий может получить её отправив запрос по электронной почте на need_32@ascon.ru. Я написал запрос, отправил и ссылка пришла в ту же секунду — ответил робот.

6. Скачиваем инсталляшку размером 1.7 ГБ.

7. Пока инстлляшка КОМПАСа скачивается, займемся подготовкой среды Wine. Нам потребуется установить следующие пакеты: dotnet472, d3dcompiler_47, vcrun2015 и corefonts c помощью утилиты winetricks:

Установим саму утилиту winetricks:

$ sudo pkg install winetricks

Устанавливаем пакеты:

$ winetricks --force -q dotnet472 d3dcompiler_47 vcrun2015 corefonts

Замечание: все скачаные утилитой winetricks пакеты будут установлены к пользователю в домашний каталог в подкаталог ~/.wine

8. Запускаем конфигуратор winecfg и указываем тип операционной системы по-умолчанию: Windows 7. В этой же утилите, по желанию, можно подкрутить размер системного шрифта для win32 приложений и прочие настройки.

9. Распаковываем скачанную инсталляшку. Cодержимое скачанного архива не содержит подкаталога, а значит команда unzip распакует вам десяток файлов в текущий каталог, что несколько «не айс». По этому имеет смысл создать временный каталог, скажем compas_install_dir, и распаковать инсталляшку в него.

10. Запускаем инсталлятор КОМПАС-а:

$ cd compas_install_dir
$ wine ./Setup.exe

и следуем его инструкциям.

После завершения инсталлятора, на рабочем столе (Desktop-е) появится иконка для запуска приложения. Если же по какой-то причине она не появилась, то КОМПАС можно запустить «от руки»:

$ wine ~/.wine/drive_c/"Program Files/ASCON/KOMPAS-3D v20/Bin/KOMPAS.Exe"

Маловероятно, что найдутся желаюшие запускать КОМПАС-3D под FreeBSD, но все же я надеюсь, что данная инструкция будет кому-то полезной для запуска других виндовых приложений в среде Wine под FreeBSD на машинах с карточками nVidia.

Рейтинг 0

  • 23 августа в 11:11
    Всего голосов 16: ↑16 и ↓0 +16

    Просмотры 6.7K

  • 16 августа в 11:11
    Всего голосов 25: ↑25 и ↓0 +25

    Просмотры 12K

  • 30 марта 2020 в 10:10
    Всего голосов 11: ↑11 и ↓0 +11

    Просмотры 19K

  • вчера в 12:00
    Всего голосов 45: ↑42 и ↓3 +39

    Просмотры 4.6K

  • вчера в 14:35
    Всего голосов 34: ↑32 и ↓2 +30

    Просмотры 7K

  • вчера в 10:17
    Всего голосов 19: ↑19 и ↓0 +19

    Просмотры 3K

  • вчера в 16:30
    Всего голосов 22: ↑20 и ↓2 +18

    Просмотры 2.5K

  • вчера в 12:30
    Всего голосов 18: ↑18 и ↓0 +18

    Просмотры 3.6K

Source: habr1

Ну и напоследок напоминаю вам о нашем новом проекте vkserfing bot.