can i run NTVD64 in wine to support 16-bit programs

Questions about Wine on Linux
Locked
fargodwe

can i run NTVD64 in wine to support 16-bit programs

Post by fargodwe »

I have a program that Windows 10 64-bit will not let met run. It is apparently a 16-bit program. I found via SourceForge a project called NXVD64 to add 16-bit support. Does anyone know if I can use that in Wine? I *think* you run it via the command line.

Thank you.
spoon0042
Level 6
Level 6
Posts: 572
Joined: Thu Dec 24, 2009 11:00 am

Re: can i run NXVM65 in wine to support 16-bit programs

Post by spoon0042 »

Have you tried the 16-bit program in wine? Unless something changed wine should support 16-bit apps. You may need a system setting mentioned in the faq though: https://wiki.winehq.org/FAQ#16-bit_appl ... l_to_start

(As far as NTVDM64* working you could give it a try but as it's probably doing some of the same things wine does to run 16-bit code there could be issues. Or it may be fine, hard to say.)

* ((I assume that is that what you meant, it's what google came up with. :)))
fargodwe

Re: can i run NTVD64 in wine to support 16-bit programs

Post by fargodwe »

Yes I have tried the program in a 32-bit prefix using Windows version from 2000 down to 98. I have done a lot of searching on the net but have found nothing applicable. My system doesn't show ldt16 in fhe faq

Code: Select all

-dave@dave-Aleena:~$ sudo echo 1 > /proc/sys/abi/ldt16 
bash: /proc/sys/abi/ldt16: No such file or directory
dave@dave-Aleena:~$ ls /proc/sys/abi
vsyscall32
dave@dave-Aleena:~$ 
My kernel is far newer than that mentioned in the FAQ

Code: Select all

dave@dave-Aleena:~$ uname -a
Linux dave-Aleena 5.4.0-58-generic #64-Ubuntu SMP Wed Dec 9 08:16:25 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
dave@dave-Aleena:~$ 
A subsequent search of the net did not find much. I found a thread from 2018 about ldt16 missing in Arch linux, shows which switches to the kernel and said it requires building a new kernel. I don't know if the same applies to Linux Mint, but given it's the kernel I would imagine it is the same

Code: Select all


There are a few kernel features that have been disabled in the arch kernel, notably CONFIG_X86_16BIT, CONFIG_MATH_EMULATION, CONFIG_MODIFY_LDT_SYSCALL.  You need a custom kernel for this to work.

$  uname -r
4.15.2-2-ARCH
$ zcat /proc/config.gz| grep MODIFY_LDT
# CONFIG_MODIFY_LDT_SYSCALL is not set

https://git.kernel.org/pub/scm/linux/ke … nfig#n2390

Another solution would be to run windows 95 in dosbox or kvm.

Last edited by progandy (2018-02-20 21:28:08)
So I tried the zcat on my Linux Mint 20 64-bit system and get the following

Code: Select all

dave@dave-Aleena:~$ zcat /proc/config.gzi | grep MODIFY_LDT
gzip: /proc/config.gzi.gz: No such file or directory
dave@dave-Aleena:~$ 
I don't know what dosbox or kvm are or if they would work for this program.

The program in question does run in a 32-bit prefix but the printing doesn't work. I have a separate thread on that since I felt this was different from that thread. It appears to be using a 16-bit "call" to open the printer selection dialog, the printer shows, but trying to anything with the printer causes an error. All the information on that is viewtopic.php?f=8&t=34724. Since it is using a 16-bit "call" for the printer selection box I though perhaps it is using some sort of 16-bit "call" to print - perhaps even trying to access the printer directly. I have sent another email to the contact for that program but it usually takes a long time to get a reply. I don't even know if they have the source code but I do know it cost me $10 to get the executable so I could try to help the op of thisviewtopic.php?f=8&t=34559

At any rate, that is why I started looking for 16-bit support as it is not included in Windows 10 64-bit so I can't test in Windows to see if it runs or not. I did do a lot of searching on the net and don't know why the FAQ didn't come up in my search.

Thanks!
spoon0042
Level 6
Level 6
Posts: 572
Joined: Thu Dec 24, 2009 11:00 am

Re: can i run NTVD64 in wine to support 16-bit programs

Post by spoon0042 »

I see now that /proc/sys/abi/ldt16 doesn't exist here either, the faq may be out of date.

I do still have a few 16-bit things around and at least one seems to just work? If Mint is like Debian you can look in /boot/config-* to check if your kernel has that. For example here:

Code: Select all

$ grep LDT_SYS /boot/config-4.19.0-13-amd64 
CONFIG_MODIFY_LDT_SYSCALL=y
Looking at your other thread, that fixme (if it means anything) appeared somewhere in 1.x wine so anything further could be some work. Unfortunately. I don't really know what to suggest as a next step, it may be worth trying to get it running in 10 or if you have a XP cd around and time to kill. :)
fargodwe

Re: can i run NTVD64 in wine to support 16-bit programs

Post by fargodwe »

I'll check the info you required and see when I get home. The printdlg16 is what makes me suspicious. Thanks for your help! ,Since it would appear that the topic of this thread is probably a dead end now, if I find anything more specific I'll post back in the other thread now.

Thanks!
fargodwe

Re: can i run NTVD64 in wine to support 16-bit programs

Post by fargodwe »

BTW -the grep, adapted for mint and my kernel comes back with file not found with string in it which would indicate ldt 16-bit support is not there.
fargodwe

Re: can i run NTVD64 in wine to support 16-bit programs

Post by fargodwe »

I just want to add something here as a warning to people reading this: ONLY get this from Source Forge. I found another site and tried to download it to my Windows 10 computer. The file appears empty, however Windows Defender or whatever it is called now gave me a warning in it's later scan of my computer. It said it was an extreme danger and allowed someone to control my PC.
fargodwe

Re: can i run NTVD64 in wine to support 16-bit programs

Post by fargodwe »

spoon0042 wrote: Mon Dec 28, 2020 4:28 pm I see now that /proc/sys/abi/ldt16 doesn't exist here either, the faq may be out of date.

I do still have a few 16-bit things around and at least one seems to just work? If Mint is like Debian you can look in /boot/config-* to check if your kernel has that. For example here:

Code: Select all

$ grep LDT_SYS /boot/config-4.19.0-13-amd64 
CONFIG_MODIFY_LDT_SYSCALL=y
Looking at your other thread, that fixme (if it means anything) appeared somewhere in 1.x wine so anything further could be some work. Unfortunately. I don't really know what to suggest as a next step, it may be worth trying to get it running in 10 or if you have a XP cd around and time to kill. :)
Appreciate the help very much! Unfortunately it won't run in Windows 10 - apparently mine is 64-bit and you have to have 32-bit Windows 10 to run it. Windows pops up a blue box and says the program can't be run on this system. Oh well!

Again, thanks so much for your help!! You have helped me greatly on many things here!
fargodwe

Re: can i run NTVD64 in wine to support 16-bit programs

Post by fargodwe »

spoon0042 wrote: Mon Dec 28, 2020 4:28 pm I see now that /proc/sys/abi/ldt16 doesn't exist here either, the faq may be out of date.

I do still have a few 16-bit things around and at least one seems to just work? If Mint is like Debian you can look in /boot/config-* to check if your kernel has that. For example here:

Code: Select all

$ grep LDT_SYS /boot/config-4.19.0-13-amd64 
CONFIG_MODIFY_LDT_SYSCALL=y
Looking at your other thread, that fixme (if it means anything) appeared somewhere in 1.x wine so anything further could be some work. Unfortunately. I don't really know what to suggest as a next step, it may be worth trying to get it running in 10 or if you have a XP cd around and time to kill. :)
I came back to this thread in case I had missed something. Turns out I was trying the grep against the wrong file. Tried it again and indeed the text is found there.

I have sent another email to the person I think is maintaining the code to find out what they are using to actually do the printing itself. I'm guessing it's an old call, perhaps even a direct system call, that has long ago been not used and therefore not supported - but that's just a guess. He's a very busy man so it might take me a while to get an answer.

Given that the the CONFIG_MODIFY_LDT_SYSCALL=y is returned are there any other things I might try? I know so little about this but is there some wine option I can turn on or off that may help?

Thanks again!
fargodwe

Re: can i run NTVD64 in wine to support 16-bit programs

Post by fargodwe »

I tried running reactos in virtualbox. When I tried to run the program it said that ntvd didn't support the program. So, ntvd is included in reactos and no, it doesn't allow the program to run. So I guess the topic of this thread is answered in that it doesn't help the program run. I'm going to take another look at the wine user guide (I think that's what it's called) on winehq again to see if there is anything that gives a hint there - if I can understand it.
Locked