1. SETUP xorg PACKAGE
It is best to compile the package from scratch rather than install the pre-built ones. You don't want having yourself scratching up your head due to problematic issues such as video playback not working and etc. 1
If you're not installing ports from the FreeBSD installation setup, run the command below to obtain ports package.
$ portsnap fetch $ portsnap extractThen, you will need to install both components first, llvm and meson.
$ whereis llvm llvm: /usr/share/ports/devel/llvm $ whereis meson meson: /usr/share/ports/devel/mesonNext, go to these direcotries and build these packages. This will take a longer time so be patient.
$ cd /usr/share/ports/devel/llvm $ make install clean $ cd /usr/share/ports/devel/meson $ make install cleanThen, locate the ports package for xorg
$ whereis xorg xorg: /usr/share/ports/x11/xorgAfter that, go to the xorg ports directory and build it from scratch
$ cd /usr/share/ports/x11/xorg $ make install clean
2. SETTING UP GRAPHICS DRIVER.
Sometimes, installing a graphic driver could be pretty messy especially with Intel GPUs from which I thought that it's pretty easy to install than the Nvidia or AMD counterparts.
First, install the pre-built drm-kmod package first, pay attention to the terminal output on the screen:
$ pkg install drm-kmod New packages to be INSTALLED: drm-kmod: g20181126 [FreeBSD] drm-current-kmod: 4.16.g20190305 [FreeBSD] Message from drm-current-kmod-4.16.g20190305: The experimental drm-current-kmod port can be enabled for amdgpu (for AMD GPUs starting with the HD7000 series / Tahiti) or i915kms (for Intel APUs starting with HD3000 / Sandy Bridge) through kld_list in /etc/rc.conf. radeonkms for older AMD GPUs can be loaded and there are some positive reports if EFI boot is NOT enabled (similar to amdgpu). For amdgpu: kld_list="amdgpu" For Intel: kld_list="/boot/modules/i915kms.ko" For radeonkms: kld_list="/boot/modules/radeonkms.ko" Please ensure that all users requiring graphics are members of the "video" group. Older generations are supported by the legacy kms modules (radeonkms / i915kms) in base or by installing graphics/drm-legacy-kmod.Then, add these lines into /etc/rc.conf: For amdgpu (newer AMD GPU cards):
kld_list="amdgpu"For Intel GPU:
kld_list="/boot/modules/i915kms.ko"For radeonkms (older AMD/ATI GPU cards):
kld_list="/boot/modules/radeonkms.ko"NOTE: If you're using Nvidia GPU cards, you might need to take a look at these guides here. Other guides can be followed through this forum link here and also from the FreeBSD handbook guide here.
NOTE: If you're using Intel GPU and having difficulties while activating GPU even though the drm-kmod is installed and added into /etc/rc.conf correctly without syntax error, you might need to take a look at this forum link here.
For Intel GPU, additional steps needs to be taken in order to activate the hardware acceleration. You will need to add the SNA Acceleration mode in /usr/local/share/X11/xorg.conf.d/driver-intel.conf:
Section "Device" Identifier "Card0" Driver "modesetting" Option "AccelMethod" "sna" Option "TearFree" "true" EndSectionFinally, add yourself to video and wheel group:
$ pw groupmod video -M [username] $ pw groupmod wheel -M [username]3. SETTING UP SOUND CARD
Setting up the soundcard might be different between the hardware and by default, the soundcard can be enabled by this line here in /boot/loader.conf
snd_hda_load="YES"However, sometimes, this line might have some issues either your hardware or your current OS versions which your video fail play. So, in order to enable the soundcard without some issues, add these line on /etc/sysctl.conf below
dev.hdac.0.polling=1 hw.snd.default_unit=1If you're still having some issues with soundcard which is video is playable but no sound, just edit the value on the line hw.snd.default_unit to 0
Turn off unnecessary thing like sendmail function:
sendmail_enable="NO" sendmail_msp_queue_enable="NO" sendmail_outbound_enable="NO" sendmail_submit_enable="NO"
5. WIFI ISSUES
Just to say that FreeBSD not really friendly at detecting wifi devices compared to Linux OS. For now, you might need a USB wifi travel router that have a client capability to connect the wifi via LAN connection like this below: