DaemonForums  

Go Back   DaemonForums > FreeBSD > FreeBSD Ports and Packages

FreeBSD Ports and Packages Installation and upgrading of ports and packages on FreeBSD.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 25th June 2008
kienjakenobi's Avatar
kienjakenobi kienjakenobi is offline
Kienja
 
Join Date: Apr 2008
Posts: 57
Default i386 drivers on amd64

I am afraid this will be a futile inquiry, but I still have to ask.

amd64 contains the 32 bit code with 64 bit extensions. This means that I should be able to run i386 programs, amd64 programs, and ia64 programs, right?

Following this thought process, it seems that I should also be able to run the official NVIDIA video driver on my amd64 system, even though the driver is currently only made for i386. However, I do not actually hold much hope for this being true due to the low-level nature of drivers. It would be all too convenient to be able to run the official NVIDIA driver on amd64.

Of course, when I just try to install the NVIDIA driver from ports I get the message that it was meant for i386. Providing it will not botch up my system too badly, I might just unmask it and see how it works.

Humph! I also just realized the the open source NVIDIA driver (nouveau) is not in ports (Unless they are under some odd name). I suppose I could try building it from source, though I do not hold a whole lot of hope in that working either.
Reply With Quote
  #2   (View Single Post)  
Old 25th June 2008
adamk adamk is offline
Spam Deminer
 
Join Date: May 2008
Posts: 250
Default

First, IA64 is a completely different architecture: http://en.wikipedia.org/wiki/Ia64

64 bit drivers will not work on a 32 bit kernel. The kernel module is not open source. It's a small open source wrapper that links to a binary blob. This binary blob is 32 bit.

If you really need 64 bit opengl drivers, the open source radeon driver from ports works on r100-r400 cards, and if you compile it from git it works on r500 cards, too.

Adam
Reply With Quote
  #3   (View Single Post)  
Old 25th June 2008
BSDfan666 BSDfan666 is offline
Real Name: N/A, this is the interweb.
Banned
 
Join Date: Apr 2008
Location: Ontario, Canada
Posts: 2,223
Default

Quote:
Originally Posted by kienjakenobi View Post
I am afraid this will be a futile inquiry, but I still have to ask.

amd64 contains the 32 bit code with 64 bit extensions. This means that I should be able to run i386 programs, amd64 programs, and ia64 programs, right?

Following this thought process, it seems that I should also be able to run the official NVIDIA video driver on my amd64 system, even though the driver is currently only made for i386. However, I do not actually hold much hope for this being true due to the low-level nature of drivers. It would be all too convenient to be able to run the official NVIDIA driver on amd64.

Of course, when I just try to install the NVIDIA driver from ports I get the message that it was meant for i386. Providing it will not botch up my system too badly, I might just unmask it and see how it works.

Humph! I also just realized the the open source NVIDIA driver (nouveau) is not in ports (Unless they are under some odd name). I suppose I could try building it from source, though I do not hold a whole lot of hope in that working either.
IA64 is Itanium 64, Intel orignally planned to phase out the x86 family and move forward with that architecture. (Which is very different.. thus, not supported by either AMD64/Intel 64)

AMD64 and Intel 64(or EM64T) are extensions to the x86 architecture, registers and address sizes have been increased.. and among other things the introduction of Long Mode.

Long mode has 2 sub-modes, 64-bit only mode and a "Compatibility" mode, in compatibility mode 64-bit/32-bit and 16-bit code can run together..

OpenBSD is an example of an AMD64 port that does not utilize Compatibility mode, I believe FreeBSD does though.

As for your question about drivers, no, it's much different to have 32-bit applications running under a 64-bit OS, but 32-bit drivers is completely different story.

Last edited by BSDfan666; 25th June 2008 at 03:44 PM.
Reply With Quote
  #4   (View Single Post)  
Old 25th June 2008
kienjakenobi's Avatar
kienjakenobi kienjakenobi is offline
Kienja
 
Join Date: Apr 2008
Posts: 57
Default

Quote:
Originally Posted by adamk
First, IA64 is a completely different architecture: http://en.wikipedia.org/wiki/Ia64
I see. That makes sense. The ia64 has too many differences to be compared to x86 and x86_64 in this manner. However, by listing ia64 I was just trying to say that an amd64 system should be able to run code written strictly for a 64-bit systems, just as it should be able to run code written for a 32-bit system.

Quote:
Originally Posted by adamk
The kernel module is not open source. It's a small open source wrapper that links to a binary blob. This binary blob is 32 bit.
That should not necessarily mean that it will not work on an amd64 system. There are plenty of 32-bit binary programs that run in amd64. That is precisely why amd64 was made. It is a middle ground between absolute 32-bit and absolute 64-bit. It was made so that people could run the thousands of programs that are currently made only for 32-bit processors, as well as run the programs that lie in the future, 64 bit programs.

Quote:
Originally Posted by adamk
If you really need 64 bit opengl drivers, the open source radeon driver from ports works on r100-r400 cards, and if you compile it from git it works on r500 cards, too.
Yes, but throwing away five hundred dollars and paying five hundred more dollars is not an option for me.
Reply With Quote
  #5   (View Single Post)  
Old 25th June 2008
kienjakenobi's Avatar
kienjakenobi kienjakenobi is offline
Kienja
 
Join Date: Apr 2008
Posts: 57
Default

Quote:
Originally Posted by BSDfan666
As for your question about drivers, no, it's much different to have 32-bit applications running under a 64-bit OS, but 32-bit drivers is completely different story.
Thanks. That is what I figured.
Reply With Quote
  #6   (View Single Post)  
Old 25th June 2008
phoenix's Avatar
phoenix phoenix is offline
Risen from the ashes
 
Join Date: May 2008
Posts: 696
Default

You can't run 32-bit kernel stuff in a 64-bit kernel. Simple as that.

You can run 32-bit userspace stuff on a 64-bit kernel, though. This is what allows you to run 32-bit apps on a 64-bit OS. (At least in Linux, you can install a 32-bit OS, then install a 64-bit kernel, and everything will still work. We did that with a Debian 3.1 system that needed more than 4 GB of RAM, but was originally installed as 32-bit.)
__________________
Freddie

Help for FreeBSD: Handbook, FAQ, man pages, mailing lists.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Anyone with AMD64 random panics on i386? indiocolifa FreeBSD General 13 24th March 2009 02:53 AM
HDD formatted UFS under AMD64 experiences weirdness under I386 Gemini FreeBSD General 4 9th December 2008 05:27 AM
Allow i386 and amd64 to boot from extended DOS partitions lvlamb OpenBSD General 4 16th July 2008 03:24 PM
i386 6.x binaries not working on AMD64 7.x (with compat) lesmando24 FreeBSD General 5 29th May 2008 05:39 AM
Revert from AMD64 to i386 chavez243 FreeBSD General 6 6th May 2008 12:24 PM


All times are GMT. The time now is 04:44 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick