Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Mar 2003 08:31:01 -0600 (CST)
From:      Lars Eighner <eighner@io.com>
To:        freebsd-questions@freebsd.org
Subject:   How to make a linux binary run on FreeBSD
Message-ID:  <20030316082949.Y572@pearl.io.com>

next in thread | raw e-mail | index | archive | help

         I have a Savage/IX agp card.  Savage/IX was developed for
         laptops so of its three possible output devices (LCD, CRT,
         and several flavors of TV), by default it assumes that is
         attached to a 640x480 LCD.  Naturally this produces
         undesirable results when a CRT is attached instead.

         S3 provided a utility (s3switch) which allows choose which
         output device or combination of output devices are attached.
         This utility works fine with RedHat 8.0.  It runs from the
         command line or within X.

         When I run it from the command line in FreeBSD 4.8-RC with
         linux-compatibility in my kernel, the S3 utility fails
         thusly:

vm86() failed
return = 0xffffffda
eax = 0x00004f14
ebx = 0x00000003
ecx = 0x00000001
edx = 0x00000000
esi = 0x00000000
edi = 0x00000000
ebp = 0x00000000
eip = 0x00004898
cs  = 0xc000
esp = 0x00000ffa
ss  = 0x1000
ds  = 0x0000
es  = 0x0000
fs  = 0x0000
gs  = 0x0000
eflags  = 0x00003200
cs:ip = [ fb fc 80 fc 0e 74 48 80 fc 0c 74 46 80 fc 0d 74 ]
Can't change device (vm86 failure)

         And this message is broadcast:  "linux: syscall vm86old is
         obsoleted or not implemented.

         Tim Roberts has a similar utility, also called s3switch,
         distributed as a linux binary and as source code.

         When I attempt to run this binary from the command line, I
         get:

Could not set device (vm86 failure)
Devices attached:  CRT LCD TV
Devices active:    CRT LCD
Current TV format is NTSC

         And the same broadcast message as above.  I have not run
         this binary in RedHat 8.0, but I assume it will work there
         as well as the S3 utility does.

         Naturally, the source code will not compile on FreeBSD as it
         includes a number of headers which don't exist in FreeBSD,
         and according to Roberts' web page the utility depends on
         vm86, from which I surmise there is no simple way to make it
         compile and run on FreeBSD, with or without linux
         compatibility.


         Am I overlooking something that would allow either of the
         binaries to work on FreeBSD?

-- 
Lars Eighner -finger for geek code-  eighner@io.com http://www.io.com/~eighner/
                     The US Constitution wasn't perfect,
                  But it was better than what we have now.
            The Asses of Evil:  Bush, Cheney, Rumsfeld, Ashcroft



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030316082949.Y572>