FreeBSD Realizes 3D Desktop


These nights I’ve been idling around thinking about the implementation of a 3D desktop on FreeBSD. Now I have collected two more careful reference documents for you to see. I haven’t worked on it yet, because there are some problems that are not clear yet.

1. To implement XGL/GLX, what is the minimum version of xorg required? Would you like xorg7 or xorg6.9 or more?
2. What graphics cards can support? My graphics card is Intel 865G integrated graphics card.

The following article is very careful, but some places are not very clear, mainly step 8, there is a clear explanation. If you are interested, you can follow suit.

AIGLX for FreeBSD(FreeBSD_Release_6.2+AIGLX+Beryl)

1: Installation of the system
Choose to minimize installation, at least here you need to match the network or keyboard, and the rest can be refined.

2: bash

[email protected]/#cd /usr/ports/shells/bash
[email protected]/usr/ports/shells/bash#make install clean
[email protected]/usr/ports/shells/bash#ln -s /usr/local/bin/bash /bin/bash
[email protected]/usr/ports/shells/bash#chsh -s /usr/local/bin/bash
[email protected]/usr/ports/shells/bash#reboot
Users created later can specify the shell as bash.

After the system is installed, pay attention to installing linux_base, Perl package, modifying fstab display / proc directory, etc. You can also modify environmental variables here, in short, according to your own hobbies.

3: axel

[email protected]/#cd /usr/ports/ftp/axel
[email protected]/usr/ports/ftp/axel#make install clean
[email protected]/usr/ports/ftp/axel#cd /etc
[email protected]/etc#make.conf

Add the following:

FETCH_CMD = axel -a

4: fcitx

[email protected]/usr/ports/chinese/fcitx$make install clean


[email protected]/etc#cd /usr/ports/devel/git
[email protected]/usr/ports/devel/git#make install clean

6: pkg_deinstall

[email protected]/usr/ports/sysutils/portupgrade#cd /usr/ports/sysutils/portupgrade
[email protected]/usr/ports/devel/git#cd /usr/ports/sysutils/portupgrade
[email protected]/usr/ports/sysutils/portupgrade#make install clean

7: pkgdb

[email protected]/usr/ports/sysutils/portupgrade#cd /usr/ports/sysutils/pkg_trackinst
[email protected]/usr/ports/sysutils/pkg_trackinst#make install clean

8: checkout the code

[email protected]/usr/ports/sysutils/pkg_trackinst#cd /usr
[email protected]/usr#mv ports ports.20070128
[email protected]/usr#git clone git://
[email protected]/usr#cd ports
[email protected]/usr#pkg_info -Ex xorg- | grep -v linux | xargs -n1 pkg_create -b
[email protected]/usr#pkg_deinstall -fP xorg-\* libdrm-\* dri-\* libGL-\* libGLU-\* libglut-\* nvidia-driver-\*
[email protected]/usr#cd /usr/ports/x11/xorg
[email protected]/usr/ports/x11/xorg#make all install clean
[email protected]/usr/ports/x11/xorg#cd /usr
[email protected]/usr#pkgdb -F
[email protected]/usr#reboot
[email protected]/#Xorg -configure
[email protected]/#cp /root/ /etc/X11/xorg.conf

Add the following to/etc/X11/xorg.conf:

Section ServerFlags
Option AIGLX on

Section DRI
Mode 0666

Section Extensions
Option Composite true

Open it separately#Option Dac6Bit # []
Change toOption DRI True

9: Verify that the 3D function is turned on

Before installing xfce4, you can test whether the 3D function has been turned on. Here we mainly pass the test./var/log/Xorg.0.logCome and check (there are glxinfo all over the street under Linux and ports under bsd)
Neither can the key be found.

[email protected]/#Xorg -config /etc/X11/xorg.conf
[email protected]/#grep rendering /var/log/Xorg.0.log
(II) I810(0): direct rendering: Enabled
[email protected]/#

If you can see thatEnableYou can rest assured.disabledIt’s mostly due tomesadriQuestions,driandmesaIt’s close, but there’s still a need for specifics.
Look at the log more.

[email protected]/#cd /home
[email protected]/home#git clone git://
[email protected]/home#chown -R surferwl:surferwl mesal
[email protected]/home#su – surferwl
[email protected]~$

Common usagesurferwlFor this user, the steps to be added are omitted.

[email protected]~$vi .profile

Add the following:

export PKG_CONFIG_PATH=/usr/local/libdata/pkgconfigPKG_CONFIG_PATH

Exit after saving.

[email protected]/#cd /home/mesa
[email protected]/home/mesa#gmake freebsd-dri-x86
[email protected]/home/mesa#gmake install
[email protected]/home/mesa#ln -s /usr/X11R6/lib/modules/dri /usr/X11R6/lib/dri

Add the following to/home/surferwl/.profile:

export LIBGL_DRIVERS_PATH=/home/mesa/lib
export LD_PRELOAD=/home/mesa/lib/

[email protected]/#reboot

To debug the 3D function, it should be no problem to operate calmly. As fordrmIt is explained as follows:The DRM is shipped with the kernel, so you shouldnt need to build it. If you choose to, simply run make && make install from the drm/bsd-core directory.

If 3D is done, install the rest.

10: xfce4

[email protected]/usr/ports/x11-wm/xfce4#make install clean

11: beryl

[email protected]/usr/ports/x11-wm/beryl#make install clean

12: .xinitrc
[email protected]~$ echo exec fcitx -nb & > .xinitrc
[email protected]~$ echo exec beryl-manager & >> .xinitrc
[email protected]~$ echo exec /usr/local/bin/startxfce4 >> .xinitrc

Then go on.startxOr againgdmLet’s go and turn your screen. It’s better to put a picture of your girlfriend. You can turn around 360 degrees as you like, and it depends on your performance! ____________

Description: The above steps are mixed with a lot of personal habitual actions, there are redundant steps, such as switching directories, using bash shell, etc., in fact, this is a personal habit, I understand it, o, > Painting on the line; I am used to it.simsunorWen QuanThe font is not written here. In addition, it has not been carefully checked, and there may be errors, but the general idea is this. I haven’t found any problems in the process of using AIGLX, just like when I don’t normally use AIGLX, it’s a comparison.dynamicNow.  

Recommended Today

Server Core Knowledge

Catalog 1. Computer: a tool to assist human brain 2. Composition of computer hardware 3. power supply 4.CPU 5. memory 6. Classification of computer use 7. Introduction to common Internet servers 8. Server classification 1. Computer: a tool to assist human brain Nowadays people touch computers almost all the time! Whether it’s a desktop computer, […]