Tagged: kernel

Getting Sound Working From VirtualBox Clients

I got the sound working on my new system (Dell Precision 3640 Tower) with Gentoo after following the steps in Getting Sound (ALSA) Working on Gentoo. However, I couldn't get through from any of VirtualBox clients (Window$10, Manjaro Linux, or Ubuntu)

Some advices on the internet were to change the settings for Host Audio Driver and Audio Controller options on the VirtualBox host side. I tried all combination but couldn't get it working.

Disclaimer:
The information in this site is the result of my researches on the Internet and of my experiences. This information below is solely used for my purpose and may not be suitable for others.

PulseAudio:

PulseAudio is a general purpose sound server intended to run as a middleware between applications and ALSA. I never needed to install PulseAudio to get the sound working before, so I followed the Gentoo Wiki: PulseAudio.

Kernel Update & Installation:

The Gentoo Wiki: PulseAudio shows which kernel options to turn on using make menuconfig and recompiling the kernel. # cd /usr/src/linux # make menuconfig # make && make modules_install ... # make install ... # grub-mkconfig -o /boot/grub/grub.cfg ...

After rebooting, make sure that the kernel version is updated by uname -r:# uname-v #5 SMP Fri Duc 18 14:46:23 EST 2020

Then, install pulseaudio:# emerge --ask media-sound/pulse

USE flags:

Once pulseaudio is installed, enable the system to support pulseaudio for some applications by updating /etc/portage/make.conf:

FILE /etc/portage/make.conf
USE="... pulseaudio ..."

Then update the system:# emerge --ask --changed-use --deep @world

ALSA Plugin:

ALSA needs to be configured to output to PulseAudio by default:# emerge --ask media-plugins/alsa-plugins

After following the above steps, the next time VirtualBox is started, the sound should be enabled from a client OS.

That's all!
-gibb

Kernel 4.4.172 on Slackware64 and VirtualBox

In my previous post, I mentioned that I had issues with NVIDIA after updating the kernel to 4.4.172 from Security Advisories. It appears that this kernel update is breaking some applications for many people. For me, it broke NVIDIA video driver and now I found that I can't run VirtualBox.

When I execute the virtualbox command, it complained about vboxdrv not running. Then, when I tried to start vboxdrv, it said vboxdrv not found! # /etc/rc.d/rc.vboxdrv start bash: /etc/rc.d/rc.vboxdrv: No such file or directory

After looking for a solution in linuxquestions.org and other sites, I ended up following the instruction from SlackBlogs.

Disclaimer:
The information in this site is the result of my researches in the Internet and of my experiences. This information below is solely used for my purpose and may not be suitable for others.

Download the virtualbox binary:

Download the source binary from VirtualBox site. Choose for All distributions, then execute it as root. The installation will fail but don't worry about it.# sh VirtualBox-6.0.4-128413-Linux_amd64.run ...

Update the source code:

Open the source code for /usr/src/vboxhost-6.0.4/vboxdrv/r0drv/linux/memobj-r0drv-linux.c with your favorite editor, look for below lines and update it with new KERNEL_VERSION(4, 4, 168). There are three locations you'd need to update.# nvim /usr/src/vboxhost-6.0.4/vboxdrv/r0drv/linux/memobj-r0drv-linux.c ... if GET_USER_PAGES_API >= KERNEL_VERSION(4, 9, 0) <-- Change the kernel version to KERNEL_VERSION(4, 4, 168) fWrite ? FOLL_WRITE | /* Write to memory. */ FOLL_FORCE /* force write access. */ : 0, /* Write to memory. */

Restart the setup process:

Now, execute the /sbin/vboxconfig as root to re-start the setup process:# /sbin/vboxconfig vboxdrv.sh: Stopping VirtualBox services. vboxdrv.sh: Starting VirtualBox services. vboxdrv.sh: Building VirtualBox kernel modules. vboxdrv.sh: Starting VirtualBox services. ... #

Run vboxdrv:

So far so good. It's now the moment of the truth. If I can get vboxdrv running, it's all set:# /etc/rc.d/rc.vboxdrv start Starting VirtualBox kernel modules ...done. #

Hooray! it's working. In fact, I can bring up VirtualBox. All I need to do is to update their Guest Addition images to the latest.

That's all!
-gibb

FreeBSD 10: linux_base-f10-10_7 linuxulator is not (kld) loaded error

On the other day, I was trying to install Adobe Flash plugin support for opera by following the FreeBSD handbook. It says:

To install Adobe® Flash® plugin support, first compile the www/linux-f10-flashplugin11 port, as a package is not available due to licensing restrictions. Then install either the www/opera-linuxplugins port or package. This example compiles both applications from ports: # cd /usr/ports/www/linux-f10-flashplugin11 # make install clean # cd /usr/ports/www/opera-linuxplugins # make install clean

So I followed above example and typed make install clean for linux-f10-flashplugin11. Then I got below error: ... Linux_base-f10-10_7 linuxulator is not (kld)loaded. *** [install] Error code 1...

Huh? Being a FreeBSD novice, I got a bit confused because this chapter (7.2.2. Opera) in the handbook didn't mention anything about loading linux kernel module.

But a little googling came to rescue!

Apparently, I needed to load the linux.ko module before installing those ports (found out in chapter 11.2. Configuring Linux® Binary Compatibility):

To load the linux.ko module: # kldload linux

To verify: # kldstat Id Refs Address Size Name 1 11 0xffffffff80200000 15f0310 kernel 2 1 0xffffffff817f1000 20400 geom_eli.ko 3 2 0xffffffff81812000 34ed0 crypto.ko 4 1 0xffffffff81a12000 432d4 linux.ko

After this, compiling for linux-f10-flashplugin11 and opera-linuxplugins went smoothly.

Disclaimer:
The information in this site is the result of my researches in the Internet and of my experiences. It is solely used for my purpose and may not be suitable for others. I will NOT take any responsibility of end result after following these steps (although I will try to help if you send me your questions/problems).

That's all!
-gibb