Ryzen 7 3700X on archlinux

This post will document problem(s) I may or may have encountered running the 3700X on archlinux and the fix that I might have applied

Geekbench score

The score is OK for 3700X AFAIK, but I haven’t test with sustain load yet:

The sound card

The very first problem after booting was static and crackling noise from the sound card:

0b:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller

A quick googling lead me to a very old questions on Seem like it has been a common problem on ATI card but I haven’t got a chance to experience it, archwiki also got some line about the fix:

In short, edit


append the prameter tsched=0 will resolve the problem.

load-module module-udev-detect tsched=0

Thermal sensors

The second problem I encounter was no thermal sensors working, lm_sensors report 0 RPM Fan speed and no temperature of any kind:

$ sensors
Adapter: ISA adapter
cpu_fan:        0 RPM

Luckily, archwiki have a note for my exact case: . After installing the AUR package and append the kernel parameter and reboot, the sensors was fine.

$ sensors
Adapter: ISA adapter
cpu_fan:        0 RPM

Adapter: ISA adapter
in0:          +1.43 V  (min =  +0.99 V, max =  +0.50 V)  ALARM
in1:          +2.50 V  (min =  +2.25 V, max =  +2.67 V)
in2:          +2.00 V  (min =  +0.64 V, max =  +1.46 V)  ALARM
in3:          +1.98 V  (min =  +2.68 V, max =  +2.76 V)  ALARM
in4:          +0.03 V  (min =  +0.85 V, max =  +1.80 V)  ALARM
in5:          +0.03 V  (min =  +0.58 V, max =  +0.61 V)  ALARM
in6:          +0.03 V  (min =  +1.31 V, max =  +2.74 V)  ALARM
3VSB:         +3.36 V  (min =  +5.21 V, max =  +5.56 V)  ALARM
Vbat:         +3.25 V  
+3.3V:        +3.36 V  
fan1:        2636 RPM  (min =   33 RPM)
fan2:           0 RPM  (min =   15 RPM)
fan3:           0 RPM  (min =   15 RPM)
fan4:           0 RPM  (min =   -1 RPM)
fan6:        1149 RPM  (min =   -1 RPM)
temp1:        +56.0°C  (low  = -107.0°C, high = +127.0°C)
temp2:        +35.0°C  (low  = +112.0°C, high = +75.0°C)  sensor = thermistor
temp3:        +41.0°C  (low  = -25.0°C, high = -39.0°C)  ALARM  sensor = thermistor
temp4:        +41.0°C  (low  = -21.0°C, high = +123.0°C)  sensor = thermistor
temp5:        +41.0°C  (low  = +103.0°C, high = -71.0°C)  ALARM  sensor = thermistor
temp6:        +41.0°C  (low  = +46.0°C, high = +85.0°C)  sensor = thermistor
intrusion0:  ALARM


Back to AMD

How long was it? 12 years, since 2007, when I built my first PC to go to college. My first CPU was the Athlon 64 x2 4400+, if memory serves me well. Those were the time when AMD got a lead in technology, the first 64 bit multi-core CPU to hit consumer market. But those time was short lived, multi-core software took time to catchup and when it does, Intel got their reply.

The Athlon 64 served me well. It got me through college, and into my working years. But I never got an upgrade choice from AMD, their Athlon line up couldn’t compete, their Phenom still couldn’t, their FX also failed, and then they just sort of gave up. For years, they only sell cheap CPU, that can’t meet my demand. And when my Athlon died after 6 years of service, I switched to a Core i5 – 3550 or something.

Another 6 years passed, the Core i5 is now falling behind in many tasks and in dire need for an upgrade. It can’t play 4K video, it’s a bottle neck for my GPU in, and it takes a lot of times only heavy crunching workload. And most importantly, it struggle to run the variety of virtual machine that I’m using for code work. Thus I have to look for an upgrade, and when I start considering options, AMD bounce back.

The ryzen CPU was good, it showed how Intel was lazy and greedy for the last decades after they dominate the market. Right after ryzen release, people see that Intel could have added more core into one CPU dire, but they just didn’t want to. Intel could have thrown in a better heatsink fan but they just didn’t want to. And when news of Ryzen 3000 series with Zen2 architecture come out, I decide to switch.

My choice was the Ryzen 7 3700X, the price was announced at 8.690.000VND. I have been using mid-range CPU for my whole life, so this was a big bump, but 8 core – 16 threads with 4.2GHz boost in a 65W TDP seem too good. I don’t overclock so the 65W TDP limit is more of a pros than cons. And at that price, it beats anything Intel currently offer in every possible ways of comparision.

First time buying any CPU worth more than 6.000K VND

The mainboard choice was more of a hassle. Ryzen 3000 series was built for AMD X570 chipset, but I distrust that chipset. They seem a bit rush to releasing X570, PCIe 4.0 is more of a gimmick than a feature right now and the 15W TDP just for the mainboard running, doing absolutely nothing is a big annoyance. Moreover the required fan for the chipset seem like a major weak point. CPU HSF can be replaced but we don’t have any standard for replacing chipset fan.

And the biggest downside of of X570 is they are vastly overpriced. Moreover there was no plan to reduce price of the last gen X470 chpiset so I decide to go with B450 chipset in the Asus ROG Strix B450F. At 3.350.000VND, it was the biggest B450 board I could find. And since I have grown skeptical with Gigabyte BIOS updating process, it seems like a good chance to try out Asus board.

RAM choice was two sticks of Gskill Trident Z 3000. Even though the internet recommend even 3600 or 4000Mhz RAM for Ryzen 7, but 3200 were the highest got sold here and they are too pricy. I purchase the RAM first before Ryzen 3700X release. The was almost 3.050.000VND in May and the put the whole CPU upgrade price tag at almost 16.000.000VND. That was more than my first PC (with monitor include) and it should mark the time I switch to more serious workload.

I also switch to NVMe SSD so that I can migrate the old SSD to the new HTPC for family use, completing my computer vision at least for the next decade


Force firefox to use light theme for content widget, even when choosing dark GTK+ theme.

The problem that had been haunting me for so long is firefox and dark theme. When choosing a dark GTK theme, firefox will use that same theme for widgets on website, especially website with forms. Now, most website will try to tweak the display of their form widget a bit, but not all website did a good job tweaking. They may default font color form black to dark grey but leave background unchange. Or they may change background color to light grey but still use default fonts.

In both cases, we ended up with broken website when I enable dark theme (grey text on dark background)

Un readable text when using dark gtk theme on some website

The default grey font on light background that website prefer is completely incomprehensable.

But chromium doesn’t seem to have this problem because chromium enforce its default theme for website’s widget, and completely disregard system theme. This is an imperfect solution but it fits in an imperfect world. So after much googling around I found a reddit thread

Turned out this was report as a bug 3 years ago and 2 years ago came a work-around: Go to about:config and add a new string preference name: widget.content.gtk-theme-override

Then you can enter any light theme you want to be use as default theme for website content widget. You can even enter a wrong theme name, it will default to system theme (which is a light them on most gnome distro). Then voila:.

Now with the work around

Launch gnome-terminal with a specific profile from within code::blocks

I use code::blocks when teaching Programming introductory courses because it’s simple to install and get going. However, when running code from codeblocks it will default to launch xterm, which is not quite my taste. So I naturally go to:

Settings -> Environment

Then change the setting: “Terminal to launch console programs” to gnome-terminal. Most of the time I run code in codeblocks, I have to show the terminal on the school projector with horrendous contrast that make almost to read white text on dark background. Now the problem is I love dark background on my terminal and don’t want to change my gnome-terminal to  light background. Install another terminal just for use with codeblocks on projector could solve this but seem like a waste of resources.

Fortunately Gnome-terminal support multiple profile with different display settings and there is an argument for you to choose profile when launching. So, I create a “project” profile within gnome-temrinal with enormous font, light background, etc, ideal for readability on projectors.

Then in codeblock edit setting to launch gnome-terminal with this special profile:

gnome-terminal -t $TITLE --profile=projector -x 


Film review: Tháng năm rực rỡ

Cũng lâu rồi blog không có bài nào tiếng Việt, thôi giờ review film Việt thì viết tiếng Việt đỡ chứ chả lẽ viết tiếng Anh mãi trong khi mình biết mình viết dở. Nói chung là bị rủ rê đi xem film và cũng lâu rồi không đi ủng hột một film Việt nào. Xem trailer thì không ấn tượng lắm nhưng có dàn diễn viên nữ nổi như cồn thời mình còn nhỏ nên xách mông lên đi thử. Xác định trước trong lòng là không đặt hy vọng quá cao vì film Việt bây giờ makerting trái chiều nhiều quá, khen đó rồi có khi chê đó mà cái tính của mình thì cỡ như Wonder Woman mìn còn lôi ra được sạn nữa là.

Nhìn một cách tổng thể thì film có tính giải trí cao, coi cũng hài. Nếu như không phải là film remake thì có lẽ cũng đáng được một lời khen. Nhưng với film remake mình thường có cái nhìn khắt khe hơn, đặc biệt là về cốt truyện và logic. Cốt truyện thì đã có film gốc nó lo rồi, giờ chỉ chuyển thể lại thì nên chăm chút hơn ở các chi tiết.

Nhân vật chính hồi 15 tuổi nói giọng rặt Thái Bình, sau 25 năm tới 40 tuổi thì nói giọng Nam bộ ngọt ngào trầm ấm là hơi kỳ rồi. Ừ mà thôi film cũng có giải thích là “nhập gia tùy tục” đi nhưng nhập thế quái nào mà ở giai đoạn trước năm 2000 phẫu thuật thẩm mỹ chưa phát triển cô gái ấy lại tự mọc thêm ra được hai cái lúm đồng tiền vậy???

Film đặt bối cảnh là nhóm bạn thân hồi lớp 11 phải tan rã vì chiến sự năm 1975, ờ thì thôi cũng tin là vì loạn lạc mà thất lạc tin nhau đi. Nhưng cách họ gặp lại nhau thì phải cho nó hợp lý tí. Nhân vật chính vô tình gặp lại cô “nhóm trưởng” năng động ngày xưa khi thấy cô ấy đi điều trị ung thư giai đoạn cuối trong bệnh viện. Quả là nhiệm màu.

Sau đó cô nhân vật chính nhìn học sinh tan trường mà chợt nhớ lại thời học sinh và rồi cô phóng xuống xe đi bộ sau đó cô chui tọt vào phòng làm việc của cô giáo ngày xưa và hỏi “cô còn nhớ em không”. Mother of nhiệm màu, phóng đại một phát vào cái trường nào đó ở Sài Gòn cái vô ngay phòng của cô giáo ngày xưa dạy tuốt trên Đà Lạt, trong khi rõ ràng trước đó cô này không có tin tức gì của bạn cả chỉ tình cờ thấy bạn sắp chết trong bệnh viện.

Sau đó khi gặp lại băng nhóm học đường ngày xưa của mình cô nhân vật chính rủ cả nhóm đi kiếm chuyện đánh dằn mặt bạn học của con vì cái tội “dám ăn hiếp con bà”. Cái thế giới gì ở đây vậy trời. Phụ huynh già đầu có cả người làm ăn giàu có rồi mà đi đánh nhau với học sinh cấp 3 là sao. Mấy bà đó có tiền mà, muốn đánh thì cứ thuê giang hồ vả méo mồm mấy con ranh đó ra chứ làm cái gì mà lố lăng coi không có được. Chuyển thể cho nó hợp lý một tí chứ trời. Thời mình còn đi học, đúng năm 2000 theo bối cảnh của film, học sinh một trường đàng hoàng có ăn hiếp nhau cũng phải biết sợ phụ huynh. Không có cái kiểu trả treo mất dạy như trong film. Còn loại học sinh mà dám bật cả phụ huynh của bạn thì chỉ có là trẻ bụi đời chứ không phải học sinh. Loại này mà đụng vào nó kêu băng của nó tới xiên lòi ruột chứ không có cà búng cà búng như trong film.

Và cuối cùng là cái sai nặng nhất với mình, đó là sai bối cảnh lịch sử. Trong film có cảnh sinh viên biểu tình trên đường sau đó choảng nhau với cảnh sát dã chiến. Trang phục này nọ thì OK hết cả đấy nhưng nó không đúng lịch sử. Phong trào sinh viên phản chiến ở Miền Nam mạnh nhất là vào các giai đoạn từ 1967 – 1971 khi hầu hết lãnh đạo Tổng Hội sinh viên đều có liên hệ với chính phủ cách mạng lâm thời miền Nam Việt Nam. Sang giai đoạn 1972-1975, hầu hết lãnh đạo thân chính phủ cách mạng chủ chốt như Huỳnh Tấn Mẫm đều bị bắt cầm tù. Và đặc biệt trong giai đoạn đầu năm 1975 khi chính quyền miền Nam mất tỉnh Phước Long thì không khí chiến sự rất căng thẳng. Việc học sinh sinh viên còn có khả năng tổ chức biểu tình trong cái không khí đó không tưởng, mà có biểu tình được thì cũng ăn đạn chứ không có ăn dùi cui như trong film.

Tiếp đó là bối cảnh trong film nhóm bạn thân đang chuẩn bị tiết mục văn nghệ cuối năm thì chia tay tan rã vì chiến sự (tan rã vì chiến sự thì dễ tin chứ tan rã vì bị đuổi học như trong film thì quá sức tào lao. Đặc biệt . Trong đó có cảnh chiếc xe của binh lính Sài Gòn đang rút chạy. Văn nghệ như vậy thì phải vào đợt cuối tháng 4. TrongkKhi đó theo lịch sử thì chiến dịch Tây Nguyên đã bắt đầu từ hồi đầu tháng 3 với trận mở màn chớp nhoáng ở Buôn Mê Thuột. Sau nhiều cuộc phản kích tái chiếm không thành thì từ giữa tháng 3 quan đội Sài Gòn đã rút khỏi Tây Nguyên, Đà Lạt (Lâm Đồng) rơi vào thế cô lập. Quân đội Nhân dân Việt Nam chỉ còn việc nhẹ nhàng giải phóng từ phần của tỉnh Lâm Đồng từ ngày 17 tháng 3 và tới ngày 3 tháng 4 thì giải phóng thành phố Đà Lạt. Trong bối cảnh đó mà còn có cái trường nào tổ chức văn nghệ với bầu chọn hoa khôi thì đúng là điên rồ.

Đó là vài cái sai logic lớn, sai nhỏ thì nhiều, chủ yếu do bê y chang nội dung film Hàn qua mà không thèm sửa nhưng mà nhiếu quá nhớ không hết nên thôi khỏi ghi vậy. Về phần diễn viên tất cả đều đã rất cố gắng nhưng không hiểu tuyển không nổi diễn viên hay sao mà cùng một nhân vật ở thời 15 tuổi với thời 45 tuổi không có bất cứ cái ăn nhập nào với nhau. Nét diễn của mỗi người cũng khác nhau luôn. Lúc coi film cứ phải cố gắng suy nghĩ lắm mới kết nối hai diễn viên vô một nhân vật, làm mệt não người xem một cách không cần thiết.

Cuối cùng điểm cộng chính cho film là ở cảnh quay. Không phải là những đại cảnh quá vĩ đại và hoành tráng hay những khung cảnh đầy tính hình tượng và nghệ thuật, nhưng phần bối cảnh của film được làm khá kỹ. Cảnh quay ưa mắt, các chi tiết chăm chút cho phù hợp với từng giai đoạn của film. Hầu hết film Việt mình thấy trong giai đoạn gần đây đều làm khâu này ổn, và film này cũng không ngoại lệ. Một điểm cộng bù đắp lại cho mấy cái sai bên trên vậy.