Friday, June 12, 2020

Setting up FreeBSD on your PC/Laptop after installation

This guide will show you on how to set up your FreeBSD OS after installation. This step is fairly different than the virtualbox guide so you will require some extra step for that.

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 extract 
Then, 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/meson
Next, 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 clean 
Then, locate the ports package for xorg
$ whereis xorg
xorg: /usr/share/ports/x11/xorg
After that, go to the xorg ports directory and build it from scratch
$ cd /usr/share/ports/x11/xorg
$ make install clean

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):
For Intel GPU:
For radeonkms (older AMD/ATI GPU cards):
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"
Finally, add yourself to video and wheel group:
$ pw groupmod video -M [username]
$ pw groupmod wheel -M [username]
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
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
If 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:

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:

No comments:

Post a Comment